From a60a474dbefb3e7d0e74e2359bfc0bb244fa007e Mon Sep 17 00:00:00 2001 From: Daniel Beal Date: Thu, 29 Jun 2023 15:05:21 -0700 Subject: [PATCH 01/43] fixes from audit * fix critical `migrateOnBehalf` is broken because snx token does not approve the transfer. approval shuoldn't be necessary * prevent escrow entries from being created by untrusted entities. otherwise escrow entries would be vulnerabile to a type of smashing attack --- contracts/BaseRewardEscrowV2.sol | 6 + contracts/BaseSynthetix.sol | 14 +- contracts/interfaces/ISynthetix.sol | 2 - publish/deployed/local/deployment.json | 40383 +++++++++++++++- .../deploy/configure-reward-escrow.js | 26 + test/contracts/BaseSynthetix.js | 16 +- test/legacy/BaseRewardEscrowV2.js | 26 + 7 files changed, 40445 insertions(+), 28 deletions(-) diff --git a/contracts/BaseRewardEscrowV2.sol b/contracts/BaseRewardEscrowV2.sol index ef560d8e33..016def97d9 100644 --- a/contracts/BaseRewardEscrowV2.sol +++ b/contracts/BaseRewardEscrowV2.sol @@ -24,6 +24,7 @@ contract BaseRewardEscrowV2 is Owned, IRewardEscrowV2, LimitedSetup(8 weeks), Mi /* Mapping of nominated address to recieve account merging */ mapping(address => address) public nominatedReceiver; + mapping(address => bool) public permittedEscrowCreators; /* Max escrow duration */ uint public max_duration = 2 * 52 weeks; // Default max 2 years duration @@ -307,6 +308,10 @@ contract BaseRewardEscrowV2 is Owned, IRewardEscrowV2, LimitedSetup(8 weeks), Mi synthetixERC20().transfer(transferTo, amount); } + function setPermittedEscrowCreator(address creator, bool permitted) external onlyOwner { + permittedEscrowCreators[creator] = permitted; + } + /** * @notice Create an escrow entry to lock SNX for a given duration in seconds * @dev This call expects that the depositor (msg.sender) has already approved the Reward escrow contract @@ -318,6 +323,7 @@ contract BaseRewardEscrowV2 is Owned, IRewardEscrowV2, LimitedSetup(8 weeks), Mi uint256 duration ) external { require(beneficiary != address(0), "Cannot create escrow with address(0)"); + require(permittedEscrowCreators[msg.sender], "Only permitted escrow creators can create escrow entries"); /* Transfer SNX from msg.sender */ require(synthetixERC20().transferFrom(msg.sender, address(this), deposit), "token transfer failed"); diff --git a/contracts/BaseSynthetix.sol b/contracts/BaseSynthetix.sol index aa40a89cac..08d6917516 100644 --- a/contracts/BaseSynthetix.sol +++ b/contracts/BaseSynthetix.sol @@ -449,22 +449,16 @@ contract BaseSynthetix is IERC20, ExternStateToken, MixinResolver, ISynthetix { return success; } - /** - * @notice allows for migration from v2x to v3 when an account has pending escrow entries - */ - function revokeAllEscrow(address account) external systemActive { - address legacyMarketAddress = resolver.getAddress(CONTRACT_V3_LEGACYMARKET); - require(msg.sender == legacyMarketAddress, "Only LegacyMarket can revoke escrow"); - rewardEscrowV2().revokeFrom(account, legacyMarketAddress, rewardEscrowV2().totalEscrowedAccountBalance(account), 0); - } - function migrateAccountBalances(address account) external systemActive returns (uint totalEscrowRevoked, uint totalLiquidBalance) { address debtMigratorOnEthereum = resolver.getAddress(CONTRACT_DEBT_MIGRATOR_ON_ETHEREUM); - require(msg.sender == debtMigratorOnEthereum, "Only L1 DebtMigrator"); + require( + msg.sender == debtMigratorOnEthereum || msg.sender == resolver.getAddress(CONTRACT_V3_LEGACYMARKET), + "Only L1 DebtMigrator or LegacyMarket" + ); // get their liquid SNX balance and transfer it to the migrator contract totalLiquidBalance = tokenState.balanceOf(account); diff --git a/contracts/interfaces/ISynthetix.sol b/contracts/interfaces/ISynthetix.sol index a27b42ecf9..079542b4c3 100644 --- a/contracts/interfaces/ISynthetix.sol +++ b/contracts/interfaces/ISynthetix.sol @@ -140,7 +140,5 @@ interface ISynthetix { function burnSecondary(address account, uint amount) external; - function revokeAllEscrow(address account) external; - function migrateAccountBalances(address account) external returns (uint totalEscrowRevoked, uint totalLiquidBalance); } diff --git a/publish/deployed/local/deployment.json b/publish/deployed/local/deployment.json index 4bec17b80c..252f21916f 100644 --- a/publish/deployed/local/deployment.json +++ b/publish/deployed/local/deployment.json @@ -1,3 +1,40384 @@ { - "targets": {} + "targets": { + "SafeDecimalMath": { + "name": "SafeDecimalMath", + "address": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "source": "SafeDecimalMath", + "link": "https://local.etherscan.io/address/0x5FbDB2315678afecb367f032d93F642f64180aa3", + "timestamp": "2023-06-29T21:12:22.122Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "Math": { + "name": "Math", + "address": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", + "source": "Math", + "link": "https://local.etherscan.io/address/0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", + "timestamp": "2023-06-29T21:12:22.143Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "SystemSettingsLib": { + "name": "SystemSettingsLib", + "address": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + "source": "SystemSettingsLib", + "link": "https://local.etherscan.io/address/0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + "timestamp": "2023-06-29T21:12:22.179Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "ExchangeSettlementLib": { + "name": "ExchangeSettlementLib", + "address": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", + "source": "ExchangeSettlementLib", + "link": "https://local.etherscan.io/address/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", + "timestamp": "2023-06-29T21:12:22.202Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "AddressResolver": { + "name": "AddressResolver", + "address": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", + "source": "AddressResolver", + "link": "https://local.etherscan.io/address/0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", + "timestamp": "2023-06-29T21:12:22.221Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "ReadProxyAddressResolver": { + "name": "ReadProxyAddressResolver", + "address": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "source": "ReadProxy", + "link": "https://local.etherscan.io/address/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "timestamp": "2023-06-29T21:12:22.239Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "OneNetAggregatorIssuedSynths": { + "name": "OneNetAggregatorIssuedSynths", + "address": "0x0165878A594ca255338adfa4d48449f69242Eb8F", + "source": "OneNetAggregatorIssuedSynths", + "link": "https://local.etherscan.io/address/0x0165878A594ca255338adfa4d48449f69242Eb8F", + "timestamp": "2023-06-29T21:12:22.256Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "OneNetAggregatorDebtRatio": { + "name": "OneNetAggregatorDebtRatio", + "address": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", + "source": "OneNetAggregatorDebtRatio", + "link": "https://local.etherscan.io/address/0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", + "timestamp": "2023-06-29T21:12:22.274Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "FlexibleStorage": { + "name": "FlexibleStorage", + "address": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", + "source": "FlexibleStorage", + "link": "https://local.etherscan.io/address/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", + "timestamp": "2023-06-29T21:12:22.300Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SystemSettings": { + "name": "SystemSettings", + "address": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318", + "source": "SystemSettings", + "link": "https://local.etherscan.io/address/0x8A791620dd6260079BF849Dc5567aDC3F2FdC318", + "timestamp": "2023-06-29T21:12:22.338Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SystemStatus": { + "name": "SystemStatus", + "address": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788", + "source": "SystemStatus", + "link": "https://local.etherscan.io/address/0x610178dA211FEF7D417bC0e6FeD39F05609AD788", + "timestamp": "2023-06-29T21:12:22.365Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "ExchangeRates": { + "name": "ExchangeRates", + "address": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", + "source": "ExchangeRatesWithDexPricing", + "link": "https://local.etherscan.io/address/0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", + "timestamp": "2023-06-29T21:12:22.399Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStateSynthetix": { + "name": "TokenStateSynthetix", + "address": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", + "source": "LegacyTokenState", + "link": "https://local.etherscan.io/address/0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", + "timestamp": "2023-06-29T21:12:22.417Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "ProxySynthetix": { + "name": "ProxySynthetix", + "address": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", + "timestamp": "2023-06-29T21:12:22.437Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "Synthetix": { + "name": "Synthetix", + "address": "0x9A676e781A523b5d0C0e43731313A708CB607508", + "source": "Synthetix", + "link": "https://local.etherscan.io/address/0x9A676e781A523b5d0C0e43731313A708CB607508", + "timestamp": "2023-06-29T21:12:22.479Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", + "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "100000000000000000000000000", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "RewardEscrow": { + "name": "RewardEscrow", + "address": "0x0B306BF915C4d645ff596e518fAf3F9669b97016", + "source": "RewardEscrow", + "link": "https://local.etherscan.io/address/0x0B306BF915C4d645ff596e518fAf3F9669b97016", + "timestamp": "2023-06-29T21:12:22.500Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000" + ] + }, + "RewardEscrowV2Frozen": { + "name": "RewardEscrowV2Frozen", + "address": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1", + "source": "RewardEscrowV2Frozen", + "link": "https://local.etherscan.io/address/0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1", + "timestamp": "2023-06-29T21:12:22.531Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "RewardEscrowV2Storage": { + "name": "RewardEscrowV2Storage", + "address": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", + "source": "RewardEscrowV2Storage", + "link": "https://local.etherscan.io/address/0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", + "timestamp": "2023-06-29T21:12:22.554Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "RewardEscrowV2": { + "name": "RewardEscrowV2", + "address": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", + "source": "RewardEscrowV2", + "link": "https://local.etherscan.io/address/0x68B1D87F95878fE05B998F19b66F4baba5De1aed", + "timestamp": "2023-06-29T21:12:22.586Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SynthetixEscrow": { + "name": "SynthetixEscrow", + "address": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", + "source": "SynthetixEscrow", + "link": "https://local.etherscan.io/address/0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", + "timestamp": "2023-06-29T21:12:22.609Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "SynthetixDebtShare": { + "name": "SynthetixDebtShare", + "address": "0xc6e7DF5E7b4f2A278906862b61205850344D4e7d", + "source": "SynthetixDebtShare", + "link": "https://local.etherscan.io/address/0xc6e7DF5E7b4f2A278906862b61205850344D4e7d", + "timestamp": "2023-06-29T21:12:22.633Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "ProxyFeePool": { + "name": "ProxyFeePool", + "address": "0x59b670e9fA9D0A427751Af201D676719a970857b", + "source": "Proxy", + "link": "https://local.etherscan.io/address/0x59b670e9fA9D0A427751Af201D676719a970857b", + "timestamp": "2023-06-29T21:12:22.652Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "DelegateApprovalsEternalStorage": { + "name": "DelegateApprovalsEternalStorage", + "address": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", + "source": "EternalStorage", + "link": "https://local.etherscan.io/address/0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", + "timestamp": "2023-06-29T21:12:22.673Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "DelegateApprovals": { + "name": "DelegateApprovals", + "address": "0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", + "source": "DelegateApprovals", + "link": "https://local.etherscan.io/address/0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", + "timestamp": "2023-06-29T21:12:22.693Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1" + ] + }, + "Liquidator": { + "name": "Liquidator", + "address": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", + "source": "Liquidator", + "link": "https://local.etherscan.io/address/0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", + "timestamp": "2023-06-29T21:12:22.722Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "LiquidatorRewards": { + "name": "LiquidatorRewards", + "address": "0x4A679253410272dd5232B3Ff7cF5dbB88f295319", + "source": "LiquidatorRewards", + "link": "https://local.etherscan.io/address/0x4A679253410272dd5232B3Ff7cF5dbB88f295319", + "timestamp": "2023-06-29T21:12:22.745Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "FeePoolEternalStorage": { + "name": "FeePoolEternalStorage", + "address": "0x7a2088a1bFc9d81c55368AE168C2C02570cB814F", + "source": "FeePoolEternalStorage", + "link": "https://local.etherscan.io/address/0x7a2088a1bFc9d81c55368AE168C2C02570cB814F", + "timestamp": "2023-06-29T21:12:22.767Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "FeePool": { + "name": "FeePool", + "address": "0x09635F643e140090A9A8Dcd712eD6285858ceBef", + "source": "FeePool", + "link": "https://local.etherscan.io/address/0x09635F643e140090A9A8Dcd712eD6285858ceBef", + "timestamp": "2023-06-29T21:12:22.801Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x59b670e9fA9D0A427751Af201D676719a970857b", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "RewardsDistribution": { + "name": "RewardsDistribution", + "address": "0xc5a5C42992dECbae36851359345FE25997F5C42d", + "source": "RewardsDistribution", + "link": "https://local.etherscan.io/address/0xc5a5C42992dECbae36851359345FE25997F5C42d", + "timestamp": "2023-06-29T21:12:22.824Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", + "0x59b670e9fA9D0A427751Af201D676719a970857b" + ] + }, + "DebtCache": { + "name": "DebtCache", + "address": "0x67d269191c92Caf3cD7723F116c85e6E9bf55933", + "source": "DebtCache", + "link": "https://local.etherscan.io/address/0x67d269191c92Caf3cD7723F116c85e6E9bf55933", + "timestamp": "2023-06-29T21:12:22.855Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "Exchanger": { + "name": "Exchanger", + "address": "0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E", + "source": "ExchangerWithFeeRecAlternatives", + "link": "https://local.etherscan.io/address/0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E", + "timestamp": "2023-06-29T21:12:22.894Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "CircuitBreaker": { + "name": "CircuitBreaker", + "address": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", + "source": "CircuitBreaker", + "link": "https://local.etherscan.io/address/0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", + "timestamp": "2023-06-29T21:12:22.917Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "ExchangeCircuitBreaker": { + "name": "ExchangeCircuitBreaker", + "address": "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB", + "source": "ExchangeCircuitBreaker", + "link": "https://local.etherscan.io/address/0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB", + "timestamp": "2023-06-29T21:12:22.939Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "VirtualSynthMastercopy": { + "name": "VirtualSynthMastercopy", + "address": "0x9E545E3C0baAB3E08CdfD552C960A1050f373042", + "source": "VirtualSynthMastercopy", + "link": "https://local.etherscan.io/address/0x9E545E3C0baAB3E08CdfD552C960A1050f373042", + "timestamp": "2023-06-29T21:12:22.962Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "ExchangeState": { + "name": "ExchangeState", + "address": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", + "source": "ExchangeState", + "link": "https://local.etherscan.io/address/0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", + "timestamp": "2023-06-29T21:12:22.983Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E" + ] + }, + "Issuer": { + "name": "Issuer", + "address": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", + "source": "Issuer", + "link": "https://local.etherscan.io/address/0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", + "timestamp": "2023-06-29T21:12:23.026Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TradingRewards": { + "name": "TradingRewards", + "address": "0x851356ae760d987E095750cCeb3bC6014560891C", + "source": "TradingRewards", + "link": "https://local.etherscan.io/address/0x851356ae760d987E095750cCeb3bC6014560891C", + "timestamp": "2023-06-29T21:12:23.056Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SupplySchedule": { + "name": "SupplySchedule", + "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", + "source": "SupplySchedule", + "link": "https://local.etherscan.io/address/0xf5059a5D33d5853360D16C683c16e67980206f36", + "timestamp": "2023-06-29T21:12:23.077Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + 0, + 0 + ] + }, + "EscrowChecker": { + "name": "EscrowChecker", + "address": "0x95401dc811bb5740090279Ba06cfA8fcF6113778", + "source": "EscrowChecker", + "link": "https://local.etherscan.io/address/0x95401dc811bb5740090279Ba06cfA8fcF6113778", + "timestamp": "2023-06-29T21:12:23.099Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c" + ] + }, + "SynthetixBridgeToOptimism": { + "name": "SynthetixBridgeToOptimism", + "address": "0x998abeb3E57409262aE5b751f60747921B33613E", + "source": "SynthetixBridgeToOptimism", + "link": "https://local.etherscan.io/address/0x998abeb3E57409262aE5b751f60747921B33613E", + "timestamp": "2023-06-29T21:12:23.132Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SynthetixBridgeEscrow": { + "name": "SynthetixBridgeEscrow", + "address": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", + "source": "SynthetixBridgeEscrow", + "link": "https://local.etherscan.io/address/0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", + "timestamp": "2023-06-29T21:12:23.154Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "OwnerRelayOnEthereum": { + "name": "OwnerRelayOnEthereum", + "address": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528", + "source": "OwnerRelayOnEthereum", + "link": "https://local.etherscan.io/address/0x4826533B4897376654Bb4d4AD88B7faFD0C98528", + "timestamp": "2023-06-29T21:12:23.178Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "DebtMigratorOnEthereum": { + "name": "DebtMigratorOnEthereum", + "address": "0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", + "source": "DebtMigratorOnEthereum", + "link": "https://local.etherscan.io/address/0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", + "timestamp": "2023-06-29T21:12:23.208Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "SynthRedeemer": { + "name": "SynthRedeemer", + "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "source": "SynthRedeemer", + "link": "https://local.etherscan.io/address/0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "timestamp": "2023-06-29T21:12:23.230Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "WrapperFactory": { + "name": "WrapperFactory", + "address": "0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", + "source": "WrapperFactory", + "link": "https://local.etherscan.io/address/0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", + "timestamp": "2023-06-29T21:12:23.266Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "DirectIntegrationManager": { + "name": "DirectIntegrationManager", + "address": "0x9d4454B023096f34B160D6B654540c56A1F81688", + "source": "DirectIntegrationManager", + "link": "https://local.etherscan.io/address/0x9d4454B023096f34B160D6B654540c56A1F81688", + "timestamp": "2023-06-29T21:12:23.294Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStatesUSD": { + "name": "TokenStatesUSD", + "address": "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", + "source": "TokenState", + "link": "https://local.etherscan.io/address/0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", + "timestamp": "2023-06-29T21:12:23.316Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "ProxysUSD": { + "name": "ProxysUSD", + "address": "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", + "timestamp": "2023-06-29T21:12:23.340Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "SynthsUSD": { + "name": "SynthsUSD", + "address": "0x809d550fca64d94Bd9F66E60752A544199cfAC3D", + "source": "MultiCollateralSynth", + "link": "https://local.etherscan.io/address/0x809d550fca64d94Bd9F66E60752A544199cfAC3D", + "timestamp": "2023-06-29T21:12:23.375Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", + "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", + "Synth sUSD", + "sUSD", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x7355534400000000000000000000000000000000000000000000000000000000", + 0, + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStatesBTC": { + "name": "TokenStatesBTC", + "address": "0x4c5859f0F772848b2D91F1D83E2Fe57935348029", + "source": "TokenState", + "link": "https://local.etherscan.io/address/0x4c5859f0F772848b2D91F1D83E2Fe57935348029", + "timestamp": "2023-06-29T21:12:23.397Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "ProxysBTC": { + "name": "ProxysBTC", + "address": "0x1291Be112d480055DaFd8a610b7d1e203891C274", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0x1291Be112d480055DaFd8a610b7d1e203891C274", + "timestamp": "2023-06-29T21:12:23.419Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "SynthsBTC": { + "name": "SynthsBTC", + "address": "0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154", + "source": "MultiCollateralSynth", + "link": "https://local.etherscan.io/address/0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154", + "timestamp": "2023-06-29T21:12:23.452Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x1291Be112d480055DaFd8a610b7d1e203891C274", + "0x4c5859f0F772848b2D91F1D83E2Fe57935348029", + "Synth sBTC", + "sBTC", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x7342544300000000000000000000000000000000000000000000000000000000", + 0, + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStatesETH": { + "name": "TokenStatesETH", + "address": "0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", + "source": "TokenState", + "link": "https://local.etherscan.io/address/0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", + "timestamp": "2023-06-29T21:12:23.475Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "ProxysETH": { + "name": "ProxysETH", + "address": "0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", + "timestamp": "2023-06-29T21:12:23.499Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "SynthsETH": { + "name": "SynthsETH", + "address": "0x82e01223d51Eb87e16A03E24687EDF0F294da6f1", + "source": "MultiCollateralSynth", + "link": "https://local.etherscan.io/address/0x82e01223d51Eb87e16A03E24687EDF0F294da6f1", + "timestamp": "2023-06-29T21:12:23.533Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", + "0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", + "Synth sETH", + "sETH", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x7345544800000000000000000000000000000000000000000000000000000000", + 0, + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStatesLINK": { + "name": "TokenStatesLINK", + "address": "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", + "source": "TokenState", + "link": "https://local.etherscan.io/address/0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", + "timestamp": "2023-06-29T21:12:23.555Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "ProxysLINK": { + "name": "ProxysLINK", + "address": "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", + "timestamp": "2023-06-29T21:12:23.579Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "SynthsLINK": { + "name": "SynthsLINK", + "address": "0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650", + "source": "MultiCollateralSynth", + "link": "https://local.etherscan.io/address/0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650", + "timestamp": "2023-06-29T21:12:23.615Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", + "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", + "Synth sLINK", + "sLINK", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x734c494e4b000000000000000000000000000000000000000000000000000000", + 0, + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "TokenStatesETHBTC": { + "name": "TokenStatesETHBTC", + "address": "0xc351628EB244ec633d5f21fBD6621e1a683B1181", + "source": "TokenState", + "link": "https://local.etherscan.io/address/0xc351628EB244ec633d5f21fBD6621e1a683B1181", + "timestamp": "2023-06-29T21:12:23.637Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x0000000000000000000000000000000000000000" + ] + }, + "ProxysETHBTC": { + "name": "ProxysETHBTC", + "address": "0xFD471836031dc5108809D173A067e8486B9047A3", + "source": "ProxyERC20", + "link": "https://local.etherscan.io/address/0xFD471836031dc5108809D173A067e8486B9047A3", + "timestamp": "2023-06-29T21:12:23.662Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "SynthsETHBTC": { + "name": "SynthsETHBTC", + "address": "0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", + "source": "MultiCollateralSynth", + "link": "https://local.etherscan.io/address/0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", + "timestamp": "2023-06-29T21:12:23.698Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xFD471836031dc5108809D173A067e8486B9047A3", + "0xc351628EB244ec633d5f21fBD6621e1a683B1181", + "Synth sETHBTC", + "sETHBTC", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x7345544842544300000000000000000000000000000000000000000000000000", + 0, + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "Depot": { + "name": "Depot", + "address": "0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f", + "source": "Depot", + "link": "https://local.etherscan.io/address/0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f", + "timestamp": "2023-06-29T21:12:23.735Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "WETH": { + "name": "WETH", + "address": "0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", + "source": "WETH", + "link": "https://local.etherscan.io/address/0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", + "timestamp": "2023-06-29T21:12:23.761Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "EtherWrapper": { + "name": "EtherWrapper", + "address": "0x162A433068F51e18b7d13932F27e66a3f99E6890", + "source": "EtherWrapper", + "link": "https://local.etherscan.io/address/0x162A433068F51e18b7d13932F27e66a3f99E6890", + "timestamp": "2023-06-29T21:12:23.795Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07" + ] + }, + "NativeEtherWrapper": { + "name": "NativeEtherWrapper", + "address": "0x922D6956C99E12DFeB3224DEA977D0939758A1Fe", + "source": "NativeEtherWrapper", + "link": "https://local.etherscan.io/address/0x922D6956C99E12DFeB3224DEA977D0939758A1Fe", + "timestamp": "2023-06-29T21:12:23.824Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "CollateralUtil": { + "name": "CollateralUtil", + "address": "0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f", + "source": "CollateralUtil", + "link": "https://local.etherscan.io/address/0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f", + "timestamp": "2023-06-29T21:12:23.851Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "CollateralManagerState": { + "name": "CollateralManagerState", + "address": "0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", + "source": "CollateralManagerState", + "link": "https://local.etherscan.io/address/0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", + "timestamp": "2023-06-29T21:12:23.877Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + }, + "CollateralManager": { + "name": "CollateralManager", + "address": "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", + "source": "CollateralManager", + "link": "https://local.etherscan.io/address/0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", + "timestamp": "2023-06-29T21:12:23.920Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "75000000000000000000000000", + "200000000000000000", + "158443823", + "158443823" + ] + }, + "CollateralEth": { + "name": "CollateralEth", + "address": "0x04C89607413713Ec9775E14b954286519d836FEf", + "source": "CollateralEth", + "link": "https://local.etherscan.io/address/0x04C89607413713Ec9775E14b954286519d836FEf", + "timestamp": "2023-06-29T21:12:23.963Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "0x7345544800000000000000000000000000000000000000000000000000000000", + "1300000000000000000", + "2000000000000000000" + ] + }, + "MockToken": { + "name": "MockToken", + "address": "0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", + "source": "MockToken", + "link": "https://local.etherscan.io/address/0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", + "timestamp": "2023-06-29T21:12:23.990Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "renBTC", + "renBTC", + 8 + ] + }, + "CollateralErc20": { + "name": "CollateralErc20", + "address": "0x21dF544947ba3E8b3c32561399E88B52Dc8b2823", + "source": "CollateralErc20", + "link": "https://local.etherscan.io/address/0x21dF544947ba3E8b3c32561399E88B52Dc8b2823", + "timestamp": "2023-06-29T21:12:24.030Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "0x7342544300000000000000000000000000000000000000000000000000000000", + "1300000000000000000", + "50000000000000000", + "0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", + 8 + ] + }, + "CollateralShort": { + "name": "CollateralShort", + "address": "0x2E2Ed0Cfd3AD2f1d34481277b3204d807Ca2F8c2", + "source": "CollateralShort", + "link": "https://local.etherscan.io/address/0x2E2Ed0Cfd3AD2f1d34481277b3204d807Ca2F8c2", + "timestamp": "2023-06-29T21:12:24.073Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + "0x7355534400000000000000000000000000000000000000000000000000000000", + "1200000000000000000", + "1000000000000000000000" + ] + }, + "FuturesMarketManager": { + "name": "FuturesMarketManager", + "address": "0xD8a5a9b31c3C0232E196d518E89Fd8bF83AcAd43", + "source": "EmptyFuturesMarketManager", + "link": "https://local.etherscan.io/address/0xD8a5a9b31c3C0232E196d518E89Fd8bF83AcAd43", + "timestamp": "2023-06-29T21:12:24.096Z", + "txn": "", + "network": "local", + "constructorArgs": [] + }, + "SynthUtil": { + "name": "SynthUtil", + "address": "0xDC11f7E700A4c898AE5CAddB1082cFfa76512aDD", + "source": "SynthUtil", + "link": "https://local.etherscan.io/address/0xDC11f7E700A4c898AE5CAddB1082cFfa76512aDD", + "timestamp": "2023-06-29T21:12:24.128Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + ] + }, + "DappMaintenance": { + "name": "DappMaintenance", + "address": "0x51A1ceB83B83F1985a81C295d1fF28Afef186E02", + "source": "DappMaintenance", + "link": "https://local.etherscan.io/address/0x51A1ceB83B83F1985a81C295d1fF28Afef186E02", + "timestamp": "2023-06-29T21:12:24.156Z", + "txn": "", + "network": "local", + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + ] + } + }, + "sources": { + "SafeDecimalMath": { + "bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158207ee27ee798e7e3d99c26a8e4e077d39c2193b6a47879f23930f56f931085ed7f64736f6c63430005100032", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "PRECISE_UNIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "UNIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "highPrecisionDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "preciseUnit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "unit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], + "source": { + "keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f", + "urls": [ + "bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df", + "dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SafeDecimalMath.sol": "SafeDecimalMath" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SafeDecimalMath.sol": { + "keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f", + "urls": [ + "bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df", + "dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM" + ] + } + }, + "version": 1 + } + }, + "Math": { + "bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820405492e64f7dbf5e0c8c58befd9629887f04a9e6c80457bb85a0f1985d01985f64736f6c63430005100032", + "abi": [], + "source": { + "keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899", + "urls": [ + "bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c", + "dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Math.sol": "Math" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Math.sol": { + "keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899", + "urls": [ + "bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c", + "dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM" + ] + } + }, + "version": 1 + } + }, + "SystemSettingsLib": { + "bytecode": "61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820a849c1480d04d1739eba65ff88f402088deee77112276b1a0bf097e0b233baa664736f6c63430005100032", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "MAX_ATOMIC_TWAP_WINDOW", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_ATOMIC_VOLUME_PER_BLOCK", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_CROSS_DOMAIN_GAS_LIMIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_EXCHANGE_FEE_RATE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_FEE_PERIOD_DURATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_ISSUANCE_RATIO", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_LIQUIDATION_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_LIQUIDATION_PENALTY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_LIQUIDATION_RATIO", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_MINIMUM_STAKE_TIME", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_TARGET_THRESHOLD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_WRAPPER_BURN_FEE_RATE", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_WRAPPER_MINT_FEE_RATE", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIN_ATOMIC_TWAP_WINDOW", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIN_CROSS_DOMAIN_GAS_LIMIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIN_FEE_PERIOD_DURATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MIN_LIQUIDATION_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "RATIO_FROM_TARGET_BUFFER", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SETTINGS_CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "contractName", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18", + "urls": [ + "bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e", + "dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SystemSettingsLib.sol": "SystemSettingsLib" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SystemSettingsLib.sol": { + "keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18", + "urls": [ + "bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e", + "dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq" + ] + } + }, + "version": 1 + } + }, + "ExchangeSettlementLib": { + "bytecode": "611b9f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80630a0ecd1b14610066578063291be93d146100925780632f2de902146100b257806377cd29a5146100d45780638317e96b14610103575b600080fd5b6100796100743660046113c1565b610123565b6040516100899493929190611a8c565b60405180910390f35b6100a56100a03660046112ca565b610155565b60405161008991906118b9565b8180156100be57600080fd5b506100d26100cd366004611418565b6101e9565b005b8180156100e057600080fd5b506100f46100ef366004611349565b6103d9565b60405161008993929190611a7e565b6101166101113660046113c1565b610712565b60405161008991906118ab565b60008080606061014361013b368a90038a018a6114b9565b888888610764565b929b919a509850909650945050505050565b60006101de856001600160a01b031663f1406dc886866040518363ffffffff1660e01b81526004016101889291906117ca565b60206040518083038186803b1580156101a057600080fd5b505afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101d891908101906114d7565b83610a99565b90505b949350505050565b60006101fb6040890160208a016112ac565b6001600160a01b0316637a018a1e876040518263ffffffff1660e01b815260040161022691906118b9565b60206040518083038186803b15801561023e57600080fd5b505afa158015610252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061027691908101906114d7565b9050600061028a60408a0160208b016112ac565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004016102b591906118b9565b60206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030591908101906114d7565b905061031460208a018a6112ac565b6001600160a01b0316633ca9d85c898989898989428a8a6040518a63ffffffff1660e01b815260040161034f99989796959493929190611814565b600060405180830381600087803b15801561036957600080fd5b505af115801561037d573d6000803e3d6000fd5b50505050876001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398888888888888886040516103c69796959493929190611913565b60405180910390a2505050505050505050565b600080806103f56103ed60208a018a6112ac565b888887610155565b1561041b5760405162461bcd60e51b815260040161041290611a60565b60405180910390fd5b60008080606061043b610433368e90038e018e6114b9565b8c8c8b610764565b93509350935093508284111561047c5761045b848463ffffffff610aed16565b965061047761046f368e90038e018e6114b9565b8c8c8a610b15565b6104b0565b838311156104b057610494838563ffffffff610aed16565b95506104b06104a8368e90038e018e6114b9565b8c8c89610c60565b8880156104c7575060008711806104c75750600086115b1561057657604080516001808252818301909252606091602080830190803883390190505090508a816000815181106104fc57fe5b602090810291909101015261051760808e0160608f016112ac565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b8152600401610542919061189a565b600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b50505050505b60005b8151811015610691578b6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106105b957fe5b6020026020010151600001518484815181106105d157fe5b6020026020010151602001518585815181106105e957fe5b60200260200101516040015186868151811061060157fe5b60200260200101516060015187878151811061061957fe5b60200260200101516080015188888151811061063157fe5b602002602001015160a0015189898151811061064957fe5b602002602001015160c001518a8a8151811061066157fe5b602002602001015160e0015160405161068198979695949392919061197b565b60405180910390a2600101610579565b5090935083906106a460208d018d6112ac565b6001600160a01b031663d0d3d62a8c8c6040518363ffffffff1660e01b81526004016106d19291906117ca565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b5050505050505050955095509592505050565b600061072c61072460208701876112ac565b858585610155565b15610739575060016101e1565b600061075561074d368890038801886114b9565b868686610764565b50505015159695505050505050565b6000806000606087600001516001600160a01b031663b44e975388886040518363ffffffff1660e01b815260040161079d9291906117ca565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed91908101906114d7565b915060608260405190808252806020026020018201604052801561082b57816020015b610818611097565b8152602001906001900390816108105790505b50905060005b83811015610a8b57610841611097565b8a5161084f908b8b85610d73565b90506000806108638d60200151848c610e52565b915091506000808e602001516001600160a01b0316636ce66c8086600001518760200151886040015188886040518663ffffffff1660e01b81526004016108ae9594939291906118c7565b60606040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fe91908101906114f5565b50509050610910818660800151610f7c565b91505060008e604001516001600160a01b03166378cb51cb8660600151846040518363ffffffff1660e01b815260040161094b929190611a70565b60206040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099b91908101906111de565b905060008082610a165783876060015111156109df5760608701516109c6908563ffffffff610aed16565b91506109d88d8363ffffffff61100e16565b9c50610a16565b8660600151841115610a16576060870151610a0190859063ffffffff610aed16565b9050610a138c8263ffffffff61100e16565b9b505b6040518061010001604052808860000151815260200188602001518152602001886040015181526020018381526020018281526020018781526020018681526020018860a00151815250898981518110610a6c57fe5b6020026020010181905250505050505050508080600101915050610831565b509050945094509450949050565b6000821580610ab75750610ab3838363ffffffff61100e16565b4210155b15610ac457506000610ae7565b610ae442610ad8858563ffffffff61100e16565b9063ffffffff610aed16565b90505b92915050565b600082821115610b0f5760405162461bcd60e51b815260040161041290611a40565b50900390565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610b4591906118b9565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b95919081019061132b565b6001600160a01b0316639dc29fac84836040518363ffffffff1660e01b8152600401610bc29291906117ca565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050508360a001516001600160a01b031663ace88afd8484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b5050505050505050565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610c9091906118b9565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce0919081019061132b565b6001600160a01b031663867904b484836040518363ffffffff1660e01b8152600401610d0d9291906117ca565b600060405180830381600087803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b505050508360a001516001600160a01b0316636f01a9868484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b610d7b611097565b6000806000806000806000808c6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b8152600401610db7939291906117ec565b6101006040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0891908101906111fc565b60408051610100810182529889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201529d9c50505050505050505050505050565b815160c083015160a084015160405163084f235160e11b815260009384936001600160a01b0389169363109e46a293610e929392919089906004016119f2565b60206040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ee291908101906114d7565b60408086015160e087015160a0880151925163084f235160e11b81529395506001600160a01b0389169363109e46a293610f2293929189906004016119f2565b60206040518083038186803b158015610f3a57600080fd5b505afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f7291908101906114d7565b9050935093915050565b6000610ae46110018373__$b35dcef3cd2d171b7cf73a40e8ebe9aba0$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc957600080fd5b505af4158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad891908101906114d7565b849063ffffffff61103316565b600082820183811015610ae45760405162461bcd60e51b815260040161041290611a30565b6000670de0b6b3a764000061104e848463ffffffff61105d16565b8161105557fe5b049392505050565b60008261106c57506000610ae7565b8282028284828161107957fe5b0414610ae45760405162461bcd60e51b815260040161041290611a50565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b8035610ae781611b2a565b8035610ae781611b41565b8051610ae781611b41565b8035610ae781611b4a565b8051610ae781611b4a565b8035610ae781611b53565b8051610ae781611b53565b600060c0828403121561114157600080fd5b50919050565b600060c0828403121561115957600080fd5b61116360c0611ac6565b905060006111718484611119565b825250602061118284848301611119565b602083015250604061119684828501611119565b60408301525060606111aa84828501611119565b60608301525060806111be84828501611119565b60808301525060a06111d284828501611119565b60a08301525092915050565b6000602082840312156111f057600080fd5b60006101e184846110f8565b600080600080600080600080610100898b03121561121957600080fd5b60006112258b8b61110e565b98505060206112368b828c0161110e565b97505060406112478b828c0161110e565b96505060606112588b828c0161110e565b95505060806112698b828c0161110e565b94505060a061127a8b828c0161110e565b93505060c061128b8b828c0161110e565b92505060e061129c8b828c0161110e565b9150509295985092959890939650565b6000602082840312156112be57600080fd5b60006101e18484611119565b600080600080608085870312156112e057600080fd5b60006112ec8787611119565b94505060206112fd878288016110e2565b935050604061130e87828801611103565b925050606061131f87828801611103565b91505092959194509250565b60006020828403121561133d57600080fd5b60006101e18484611124565b6000806000806000610140868803121561136257600080fd5b600061136e888861112f565b95505060c061137f888289016110e2565b94505060e061139088828901611103565b9350506101006113a2888289016110ed565b9250506101206113b488828901611103565b9150509295509295909350565b60008060008061012085870312156113d857600080fd5b60006113e4878761112f565b94505060c06113f5878288016110e2565b93505060e061140687828801611103565b92505061010061131f87828801611103565b6000806000806000806000610180888a03121561143457600080fd5b60006114408a8a61112f565b97505060c06114518a828b016110e2565b96505060e06114628a828b01611103565b9550506101006114748a828b01611103565b9450506101206114868a828b01611103565b9350506101406114988a828b01611103565b9250506101606114aa8a828b01611103565b91505092959891949750929550565b600060c082840312156114cb57600080fd5b60006101e18484611147565b6000602082840312156114e957600080fd5b60006101e1848461110e565b60008060006060848603121561150a57600080fd5b6000611516868661110e565b93505060206115278682870161110e565b92505060406115388682870161110e565b9150509250925092565b600061154e838361162a565b505060200190565b6000611562838361172d565b50506101000190565b61157481611b00565b82525050565b600061158582611af3565b61158f8185611af7565b935061159a83611aed565b8060005b838110156115c85781516115b28882611542565b97506115bd83611aed565b92505060010161159e565b509495945050505050565b60006115de82611af3565b6115e88185611af7565b93506115f383611aed565b8060005b838110156115c857815161160b8882611556565b975061161683611aed565b9250506001016115f7565b61157481611b0b565b61157481611b10565b6000611640601b83611af7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611679601e83611af7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006116b2602183611af7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006116f5602383611af7565b7f43616e6e6f7420736574746c6520647572696e672077616974696e67207065728152621a5bd960ea1b602082015260400192915050565b805161010083019061173f848261162a565b506020820151611752602085018261162a565b506040820151611765604085018261162a565b506060820151611778606085018261162a565b50608082015161178b608085018261162a565b5060a082015161179e60a085018261162a565b5060c08201516117b160c085018261162a565b5060e08201516117c460e085018261162a565b50505050565b604081016117d8828561156b565b6117e5602083018461162a565b9392505050565b606081016117fa828661156b565b611807602083018561162a565b6101e1604083018461162a565b6101208101611823828c61156b565b611830602083018b61162a565b61183d604083018a61162a565b61184a606083018961162a565b611857608083018861162a565b61186460a083018761162a565b61187160c083018661162a565b61187e60e083018561162a565b61188c61010083018461162a565b9a9950505050505050505050565b60208082528101610ae4818461157a565b60208101610ae78284611621565b60208101610ae7828461162a565b60a081016118d5828861162a565b6118e2602083018761162a565b6118ef604083018661162a565b6118fc606083018561162a565b611909608083018461162a565b9695505050505050565b60e08101611921828a61162a565b61192e602083018961162a565b61193b604083018861162a565b611948606083018761162a565b611955608083018661162a565b61196260a083018561162a565b61196f60c083018461162a565b98975050505050505050565b610100810161198a828b61162a565b611997602083018a61162a565b6119a4604083018961162a565b6119b1606083018861162a565b6119be608083018761162a565b6119cb60a083018661162a565b6119d860c083018561162a565b6119e560e083018461162a565b9998505050505050505050565b60808101611a00828761162a565b611a0d602083018661162a565b611a1a604083018561162a565b611a27606083018461162a565b95945050505050565b60208082528101610ae781611633565b60208082528101610ae78161166c565b60208082528101610ae7816116a5565b60208082528101610ae7816116e8565b604081016117d8828561162a565b606081016117fa828661162a565b60808101611a9a828761162a565b611aa7602083018661162a565b611ab4604083018561162a565b818103606083015261190981846115d3565b60405181810167ffffffffffffffff81118282101715611ae557600080fd5b604052919050565b60200190565b5190565b90815260200190565b6000610ae782611b1e565b151590565b90565b6000610ae782611b00565b6001600160a01b031690565b611b3381611b00565b8114611b3e57600080fd5b50565b611b3381611b0b565b611b3381611b10565b611b3381611b1356fea365627a7a72315820fef003f4120e35becc8d938242a089ed13f70e0eed738f7a0a2b7ebc4262bba76c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "name": "ExchangeEntryAppended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reclaim", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "srcRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "destRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "exchangeTimestamp", + "type": "uint256" + } + ], + "name": "ExchangeEntrySettled", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "contract IExchangeState", + "name": "exchangeState", + "type": "IExchangeState" + }, + { + "internalType": "contract IExchangeRates", + "name": "exchangeRates", + "type": "IExchangeRates" + }, + { + "internalType": "contract ICircuitBreaker", + "name": "circuitBreaker", + "type": "ICircuitBreaker" + }, + { + "internalType": "contract IExchangerInternalDebtCache", + "name": "debtCache", + "type": "IExchangerInternalDebtCache" + }, + { + "internalType": "contract IIssuer", + "name": "issuer", + "type": "IIssuer" + }, + { + "internalType": "contract ISynthetix", + "name": "synthetix", + "type": "ISynthetix" + } + ], + "internalType": "struct ExchangeSettlementLib.ResolvedAddresses", + "name": "resolvedAddresses", + "type": "tuple" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "waitingPeriod", + "type": "uint256" + } + ], + "name": "hasWaitingPeriodOrSettlementOwing", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract IExchangeState", + "name": "exchangeState", + "type": "IExchangeState" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "waitingPeriod", + "type": "uint256" + } + ], + "name": "maxSecsLeftInWaitingPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "contract IExchangeState", + "name": "exchangeState", + "type": "IExchangeState" + }, + { + "internalType": "contract IExchangeRates", + "name": "exchangeRates", + "type": "IExchangeRates" + }, + { + "internalType": "contract ICircuitBreaker", + "name": "circuitBreaker", + "type": "ICircuitBreaker" + }, + { + "internalType": "contract IExchangerInternalDebtCache", + "name": "debtCache", + "type": "IExchangerInternalDebtCache" + }, + { + "internalType": "contract IIssuer", + "name": "issuer", + "type": "IIssuer" + }, + { + "internalType": "contract ISynthetix", + "name": "synthetix", + "type": "ISynthetix" + } + ], + "internalType": "struct ExchangeSettlementLib.ResolvedAddresses", + "name": "resolvedAddresses", + "type": "tuple" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "waitingPeriod", + "type": "uint256" + } + ], + "name": "settlementOwing", + "outputs": [ + { + "internalType": "uint256", + "name": "reclaimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rebateAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "numEntries", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "reclaim", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rebate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "srcRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "destRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct IExchanger.ExchangeEntrySettlement[]", + "name": "", + "type": "tuple[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x9c2caa8bda70c94665d88da077d2ba088fea21e4b55f5013414bf29df75749b5", + "urls": [ + "bzz-raw://df95bb3f25199703307a4b8976fa6387d62b474be493bc31767e1992072dc640", + "dweb:/ipfs/QmVVfZKzpKA9jRRivK6sBCaHfkLvH1uzmSeeQSTuUgevKT" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ExchangeSettlementLib.sol": "ExchangeSettlementLib" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ExchangeSettlementLib.sol": { + "keccak256": "0x9c2caa8bda70c94665d88da077d2ba088fea21e4b55f5013414bf29df75749b5", + "urls": [ + "bzz-raw://df95bb3f25199703307a4b8976fa6387d62b474be493bc31767e1992072dc640", + "dweb:/ipfs/QmVVfZKzpKA9jRRivK6sBCaHfkLvH1uzmSeeQSTuUgevKT" + ] + } + }, + "version": 1 + } + }, + "AddressResolver": { + "bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205a67c92a0efdab4956680237aa7293d68e96064230bf9ee7b89539a75833913d64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "AddressImported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "names", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "destinations", + "type": "address[]" + } + ], + "name": "areAddressesImported", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + } + ], + "name": "getAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "key", + "type": "bytes32" + } + ], + "name": "getSynth", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "names", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "destinations", + "type": "address[]" + } + ], + "name": "importAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract MixinResolver[]", + "name": "destinations", + "type": "address[]" + } + ], + "name": "rebuildCaches", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "repository", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "requireAndGetAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c", + "urls": [ + "bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b", + "dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "AddressResolver.sol": "AddressResolver" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "AddressResolver.sol": { + "keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c", + "urls": [ + "bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b", + "dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se" + ] + } + }, + "version": 1 + } + }, + "ReadProxy": { + "bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820096a9c4dccbf0436b0e2f77b0328cf38c7fa35d4c8ccf68ff8bd113c6baf2a0864736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newTarget", + "type": "address" + } + ], + "name": "TargetUpdated", + "type": "event" + }, + { + "payable": false, + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_target", + "type": "address" + } + ], + "name": "setTarget", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "target", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487", + "urls": [ + "bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599", + "dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ReadProxy.sol": "ReadProxy" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ReadProxy.sol": { + "keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487", + "urls": [ + "bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599", + "dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV" + ] + } + }, + "version": 1 + } + }, + "OneNetAggregatorIssuedSynths": { + "bytecode": "608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820abcedbf402a278943504388613bbb37e211c2e31ce5f0350b66b7de94a9a7aca64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "contract AddressResolver", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "SetOverrideTimestamp", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_roundId", + "type": "uint256" + } + ], + "name": "getAnswer", + "outputs": [ + { + "internalType": "int256", + "name": "answer", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "name": "getRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_roundId", + "type": "uint256" + } + ], + "name": "getTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "latestRound", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "latestRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "overrideTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "setOverrideTimestamp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5", + "urls": [ + "bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc", + "dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "OneNetAggregatorIssuedSynths.sol": "OneNetAggregatorIssuedSynths" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "OneNetAggregatorIssuedSynths.sol": { + "keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5", + "urls": [ + "bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc", + "dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE" + ] + } + }, + "version": 1 + } + }, + "OneNetAggregatorDebtRatio": { + "bytecode": "608060405234801561001057600080fd5b50604051610a88380380610a888339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610976806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610695565b6101696004803603602081101561022e57600080fd5b50356106d8565b6101696004803603602081101561024b57600080fd5b50356106ee565b610169610704565b6101bc61070a565b6002546001600160a01b031681565b610279610733565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108bd6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f8561077e565b9063ffffffff61079a16565b61066e565b6b033b2e3c9fd0803ce80000005b60035490915042901561068057506003545b60019a91995097508796508995509350505050565b61069d610733565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106e3826103d5565b509195945050505050565b60006106f9826103d5565b509095945050505050565b60035481565b600080600080600061072261071d610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806108f2602f913960400191505060405180910390fd5b565b600061079482633b9aca0063ffffffff6107b616565b92915050565b60006107af8383670de0b6b3a764000061080f565b9392505050565b6000826107c557506000610794565b828202828482816107d257fe5b04146107af5760405162461bcd60e51b81526004018080602001828103825260218152602001806109216021913960400191505060405180910390fd5b6000806108358461082987600a870263ffffffff6107b616565b9063ffffffff61085216565b90506005600a82061061084657600a015b600a9004949350505050565b60008082116108a8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108b357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203612b33f3ea87a50f59a324964535c4e3e922d0c27839687f1805b5bf37a50f764736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "contract AddressResolver", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "SetOverrideTimestamp", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_roundId", + "type": "uint256" + } + ], + "name": "getAnswer", + "outputs": [ + { + "internalType": "int256", + "name": "answer", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "name": "getRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_roundId", + "type": "uint256" + } + ], + "name": "getTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "latestRound", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "latestRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "", + "type": "uint80" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "overrideTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "setOverrideTimestamp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45", + "urls": [ + "bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7", + "dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "OneNetAggregatorDebtRatio.sol": "OneNetAggregatorDebtRatio" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "OneNetAggregatorDebtRatio.sol": { + "keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45", + "urls": [ + "bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7", + "dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU" + ] + } + }, + "version": 1 + } + }, + "FlexibleStorage": { + "bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a7231582002c92d349c93e8a7e0d50f2f4280aec95aa1087a1ce242e1567fd74941901fc564736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "fromContractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "toContractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "removeAccessFromPreviousContract", + "type": "bool" + } + ], + "name": "KeyMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "value", + "type": "address" + } + ], + "name": "ValueDeletedAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "ValueDeletedBool", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "value", + "type": "bytes32" + } + ], + "name": "ValueDeletedBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "ValueDeletedInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "ValueDeletedUInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "value", + "type": "address" + } + ], + "name": "ValueSetAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "ValueSetBool", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "value", + "type": "bytes32" + } + ], + "name": "ValueSetBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "ValueSetInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "ValueSetUInt", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBoolValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getAddressValue", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + } + ], + "name": "getAddressValues", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBoolValue", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + } + ], + "name": "getBoolValues", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBytes32Value", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + } + ], + "name": "getBytes32Values", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getIntValue", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + } + ], + "name": "getIntValues", + "outputs": [ + { + "internalType": "int256[]", + "name": "", + "type": "int256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getUIntValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + } + ], + "name": "getUIntValues", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "hashes", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "fromContractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "toContractName", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "removeAccessFromPreviousContract", + "type": "bool" + } + ], + "name": "migrateContractKey", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverProxy", + "outputs": [ + { + "internalType": "contract IAddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "value", + "type": "address" + } + ], + "name": "setAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "values", + "type": "address[]" + } + ], + "name": "setAddressValues", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "setBoolValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + }, + { + "internalType": "bool[]", + "name": "values", + "type": "bool[]" + } + ], + "name": "setBoolValues", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "value", + "type": "bytes32" + } + ], + "name": "setBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "values", + "type": "bytes32[]" + } + ], + "name": "setBytes32Values", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "setIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + }, + { + "internalType": "int256[]", + "name": "values", + "type": "int256[]" + } + ], + "name": "setIntValues", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "contractName", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "records", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "setUIntValues", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a", + "urls": [ + "bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1", + "dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "FlexibleStorage.sol": "FlexibleStorage" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "FlexibleStorage.sol": { + "keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a", + "urls": [ + "bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1", + "dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb" + ] + } + }, + "version": 1 + } + }, + "SystemSettings": { + "bytecode": "60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a7231582029935e859eacc8ecf613dd88ebd75a85a165d12cf9638eca3f9f8091e89c1ae964736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "flags", + "type": "address" + } + ], + "name": "AggregatorWarningFlagsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "equivalent", + "type": "address" + } + ], + "name": "AtomicEquivalentForDexPricingUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newExchangeFeeRate", + "type": "uint256" + } + ], + "name": "AtomicExchangeFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newMaxVolume", + "type": "uint256" + } + ], + "name": "AtomicMaxVolumePerBlockUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newWindow", + "type": "uint256" + } + ], + "name": "AtomicTwapWindowUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newVolatilityConsiderationWindow", + "type": "uint256" + } + ], + "name": "AtomicVolatilityConsiderationWindowUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newVolatilityUpdateThreshold", + "type": "uint256" + } + ], + "name": "AtomicVolatilityUpdateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "collapseFeeRate", + "type": "uint256" + } + ], + "name": "CollapseFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "CrossChainSynthTransferEnabledUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", + "name": "gasLimitType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newLimit", + "type": "uint256" + } + ], + "name": "CrossDomainMessageGasLimitChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "debtSnapshotStaleTime", + "type": "uint256" + } + ], + "name": "DebtSnapshotStaleTimeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "EtherWrapperBurnFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxETH", + "type": "uint256" + } + ], + "name": "EtherWrapperMaxETHUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "EtherWrapperMintFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "dynamicFeeRounds", + "type": "uint256" + } + ], + "name": "ExchangeDynamicFeeRoundsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "dynamicFeeThreshold", + "type": "uint256" + } + ], + "name": "ExchangeDynamicFeeThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "dynamicFeeWeightDecay", + "type": "uint256" + } + ], + "name": "ExchangeDynamicFeeWeightDecayUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newExchangeFeeRate", + "type": "uint256" + } + ], + "name": "ExchangeFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxDynamicFee", + "type": "uint256" + } + ], + "name": "ExchangeMaxDynamicFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newFeePeriodDuration", + "type": "uint256" + } + ], + "name": "FeePeriodDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newReward", + "type": "uint256" + } + ], + "name": "FlagRewardUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "interactionDelay", + "type": "uint256" + } + ], + "name": "InteractionDelayUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newRatio", + "type": "uint256" + } + ], + "name": "IssuanceRatioUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newReward", + "type": "uint256" + } + ], + "name": "LiquidateRewardUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "LiquidationDelayUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "LiquidationEscrowDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newPenalty", + "type": "uint256" + } + ], + "name": "LiquidationPenaltyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newRatio", + "type": "uint256" + } + ], + "name": "LiquidationRatioUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minimumStakeTime", + "type": "uint256" + } + ], + "name": "MinimumStakeTimeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + } + ], + "name": "PriceDeviationThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "PureChainlinkPriceForAtomicSwapsEnabledUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "rateStalePeriod", + "type": "uint256" + } + ], + "name": "RateStalePeriodUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newPenalty", + "type": "uint256" + } + ], + "name": "SelfLiquidationPenaltyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newPenalty", + "type": "uint256" + } + ], + "name": "SnxLiquidationPenaltyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newTargetThreshold", + "type": "uint256" + } + ], + "name": "TargetThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "TradingRewardsEnabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "waitingPeriodSecs", + "type": "uint256" + } + ], + "name": "WaitingPeriodSecsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "wrapper", + "type": "address" + }, + { + "indexed": false, + "internalType": "int256", + "name": "rate", + "type": "int256" + } + ], + "name": "WrapperBurnFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "wrapper", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxTokenAmount", + "type": "uint256" + } + ], + "name": "WrapperMaxTokenAmountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "wrapper", + "type": "address" + }, + { + "indexed": false, + "internalType": "int256", + "name": "rate", + "type": "int256" + } + ], + "name": "WrapperMintFeeRateUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "aggregatorWarningFlags", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "atomicEquivalentForDexPricing", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "atomicExchangeFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "atomicMaxVolumePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "atomicTwapWindow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "atomicVolatilityConsiderationWindow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "atomicVolatilityUpdateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "collapseFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "crossChainSynthTransferEnabled", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", + "name": "gasLimitType", + "type": "uint8" + } + ], + "name": "crossDomainMessageGasLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "debtSnapshotStaleTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "etherWrapperBurnFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "etherWrapperMaxETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "etherWrapperMintFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeDynamicFeeRounds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeDynamicFeeThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeDynamicFeeWeightDecay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "exchangeFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeMaxDynamicFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feePeriodDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "flagReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "interactionDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidateReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationEscrowDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minimumStakeTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "priceDeviationThresholdFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "pureChainlinkPriceForAtomicSwapsEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rateStalePeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "selfLiquidationPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_flags", + "type": "address" + } + ], + "name": "setAggregatorWarningFlags", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_equivalent", + "type": "address" + } + ], + "name": "setAtomicEquivalentForDexPricing", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_exchangeFeeRate", + "type": "uint256" + } + ], + "name": "setAtomicExchangeFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxVolume", + "type": "uint256" + } + ], + "name": "setAtomicMaxVolumePerBlock", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_window", + "type": "uint256" + } + ], + "name": "setAtomicTwapWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_window", + "type": "uint256" + } + ], + "name": "setAtomicVolatilityConsiderationWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAtomicVolatilityUpdateThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_collapseFeeRate", + "type": "uint256" + } + ], + "name": "setCollapseFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "setCrossChainSynthTransferEnabled", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", + "name": "_gasLimitType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "_crossDomainMessageGasLimit", + "type": "uint256" + } + ], + "name": "setCrossDomainMessageGasLimit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_seconds", + "type": "uint256" + } + ], + "name": "setDebtSnapshotStaleTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_rate", + "type": "uint256" + } + ], + "name": "setEtherWrapperBurnFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxETH", + "type": "uint256" + } + ], + "name": "setEtherWrapperMaxETH", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_rate", + "type": "uint256" + } + ], + "name": "setEtherWrapperMintFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rounds", + "type": "uint256" + } + ], + "name": "setExchangeDynamicFeeRounds", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + } + ], + "name": "setExchangeDynamicFeeThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "weightDecay", + "type": "uint256" + } + ], + "name": "setExchangeDynamicFeeWeightDecay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "exchangeFeeRates", + "type": "uint256[]" + } + ], + "name": "setExchangeFeeRateForSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "maxFee", + "type": "uint256" + } + ], + "name": "setExchangeMaxDynamicFee", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_feePeriodDuration", + "type": "uint256" + } + ], + "name": "setFeePeriodDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "setFlagReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_interactionDelay", + "type": "uint256" + } + ], + "name": "setInteractionDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "ratio", + "type": "uint256" + } + ], + "name": "setIssuanceRatio", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "setLiquidateReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "setLiquidationDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setLiquidationEscrowDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "setLiquidationPenalty", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_liquidationRatio", + "type": "uint256" + } + ], + "name": "setLiquidationRatio", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_seconds", + "type": "uint256" + } + ], + "name": "setMinimumStakeTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_priceDeviationThresholdFactor", + "type": "uint256" + } + ], + "name": "setPriceDeviationThresholdFactor", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "_enabled", + "type": "bool" + } + ], + "name": "setPureChainlinkPriceForAtomicSwapsEnabled", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "period", + "type": "uint256" + } + ], + "name": "setRateStalePeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "setSelfLiquidationPenalty", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "setSnxLiquidationPenalty", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "percent", + "type": "uint256" + } + ], + "name": "setTargetThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_tradingRewardsEnabled", + "type": "bool" + } + ], + "name": "setTradingRewardsEnabled", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_waitingPeriodSecs", + "type": "uint256" + } + ], + "name": "setWaitingPeriodSecs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_wrapper", + "type": "address" + }, + { + "internalType": "int256", + "name": "_rate", + "type": "int256" + } + ], + "name": "setWrapperBurnFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_wrapper", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokenAmount", + "type": "uint256" + } + ], + "name": "setWrapperMaxTokenAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_wrapper", + "type": "address" + }, + { + "internalType": "int256", + "name": "_rate", + "type": "int256" + } + ], + "name": "setWrapperMintFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "snxLiquidationPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "targetThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tradingRewardsEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "waitingPeriodSecs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "wrapper", + "type": "address" + } + ], + "name": "wrapperBurnFeeRate", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "wrapper", + "type": "address" + } + ], + "name": "wrapperMaxTokenAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "wrapper", + "type": "address" + } + ], + "name": "wrapperMintFeeRate", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012", + "urls": [ + "bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9", + "dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SystemSettings.sol": "SystemSettings" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SystemSettings.sol": { + "keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012", + "urls": [ + "bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9", + "dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd" + ] + } + }, + "version": 1 + } + }, + "SystemStatus": { + "bytecode": "608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a72315820c9e82db9e645d7c999cf9790194fd395314e1548d7a66d033b50a911c583a35f64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "section", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "canSuspend", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bool", + "name": "canResume", + "type": "bool" + } + ], + "name": "AccessControlUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "ExchangeResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "ExchangeSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "FuturesMarketResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "FuturesMarketSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "FuturesResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "FuturesSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "IssuanceResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "IssuanceSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SynthExchangeResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SynthExchangeSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SynthResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SynthSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SystemResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "SystemSuspended", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_EXCHANGE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_FUTURES", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_ISSUANCE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_SYNTH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_SYNTH_EXCHANGE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SECTION_SYSTEM", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "SUSPENSION_REASON_UPGRADE", + "outputs": [ + { + "internalType": "uint248", + "name": "", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "accessControl", + "outputs": [ + { + "internalType": "bool", + "name": "canSuspend", + "type": "bool" + }, + { + "internalType": "bool", + "name": "canResume", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "futuresMarketSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "futuresSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "marketKeys", + "type": "bytes32[]" + } + ], + "name": "getFuturesMarketSuspensions", + "outputs": [ + { + "internalType": "bool[]", + "name": "suspensions", + "type": "bool[]" + }, + { + "internalType": "uint256[]", + "name": "reasons", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synths", + "type": "bytes32[]" + } + ], + "name": "getSynthExchangeSuspensions", + "outputs": [ + { + "internalType": "bool[]", + "name": "exchangeSuspensions", + "type": "bool[]" + }, + { + "internalType": "uint256[]", + "name": "reasons", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synths", + "type": "bytes32[]" + } + ], + "name": "getSynthSuspensions", + "outputs": [ + { + "internalType": "bool[]", + "name": "suspensions", + "type": "bool[]" + }, + { + "internalType": "uint256[]", + "name": "reasons", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isSystemUpgrading", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issuanceSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "requireExchangeActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "requireExchangeBetweenSynthsAllowed", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "requireFuturesActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + } + ], + "name": "requireFuturesMarketActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "requireIssuanceActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "requireSynthActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "requireSynthExchangeActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "requireSynthsActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "requireSystemActive", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeFutures", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + } + ], + "name": "resumeFuturesMarket", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "marketKeys", + "type": "bytes32[]" + } + ], + "name": "resumeFuturesMarkets", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeIssuance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "resumeSynth", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "resumeSynthExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "resumeSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "resumeSynthsExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeSystem", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendFutures", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendFuturesMarket", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "marketKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendFuturesMarkets", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendIssuance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendSynth", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendSynthExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendSynthsExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reason", + "type": "uint256" + } + ], + "name": "suspendSystem", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthExchangeSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "synthSuspended", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "systemSuspended", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "systemSuspension", + "outputs": [ + { + "internalType": "bool", + "name": "suspended", + "type": "bool" + }, + { + "internalType": "uint248", + "name": "reason", + "type": "uint248" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "section", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bool", + "name": "canSuspend", + "type": "bool" + }, + { + "internalType": "bool", + "name": "canResume", + "type": "bool" + } + ], + "name": "updateAccessControl", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "sections", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "bool[]", + "name": "canSuspends", + "type": "bool[]" + }, + { + "internalType": "bool[]", + "name": "canResumes", + "type": "bool[]" + } + ], + "name": "updateAccessControls", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902", + "urls": [ + "bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf", + "dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SystemStatus.sol": "SystemStatus" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SystemStatus.sol": { + "keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902", + "urls": [ + "bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf", + "dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw" + ] + } + }, + "version": 1 + } + }, + "ExchangeRatesWithDexPricing": { + "bytecode": "60806040523480156200001157600080fd5b50604051620047bc380380620047bc833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61459580620002276000396000f3fe608060405234801561001057600080fd5b50600436106102685760003560e01c8063614d08f8116101515780638da5cb5b116100c3578063c8e5bbd511610087578063c8e5bbd514610563578063ce8480ea14610584578063d89ee86114610597578063ed762450146105aa578063fce132f9146105cb578063fdadbc7e146105de57610268565b80638da5cb5b1461050d5780639eab4a3714610515578063ac82f6081461051d578063b295ad3414610530578063c2c8a6761461055057610268565b806374eded391161011557806374eded39146104b157806379ba5097146104c45780637a018a1e146104cc5780638295016a146104df5780638661cc7b146104f2578063899ffef41461050557610268565b8063614d08f814610459578063654a60ac146104615780636ce66c80146104745780637103353e1461049657806374185360146104a957610268565b80632528f0fe116101ea57806338aa1b99116101ae57806338aa1b99146103e25780633f0e084f146103f55780634308a94f146104085780634c36b837146104295780634f72def61461043e57806353a47bb71461045157610268565b80632528f0fe146103815780632678df961461039457806326bd30fa146103b45780632af64bd3146103c75780632bed9e0c146103cf57610268565b80630a7d36d1116102315780630a7d36d1146103105780630c71cd23146103235780630ee4951b14610344578063109e46a2146103595780631627540c1461036c57610268565b80629919c01461026d578063045056f81461029657806304f3bcec146102b8578063055286e0146102cd57806305a046e5146102f0575b600080fd5b61028061027b3660046135ff565b6105f1565b60405161028d919061419b565b60405180910390f35b6102a96102a43660046135ff565b61060c565b60405161028d93929190614395565b6102c061077f565b60405161028d919061421b565b6102e06102db366004613687565b61078e565b60405161028d94939291906143e5565b6103036102fe36600461352f565b61096b565b60405161028d9190614145565b61028061031e36600461352f565b6109ed565b6103366103313660046135ff565b610b16565b60405161028d92919061437a565b61034c610bb3565b60405161028d91906141a9565b61034c610367366004613749565b610bc3565b61037f61037a3660046134be565b610c06565b005b61028061038f3660046135ff565b610c64565b6103a76103a23660046134be565b610c70565b60405161028d9190614134565b6102e06103c2366004613806565b610d24565b610280610de3565b61037f6103dd3660046135ff565b610efa565b6102806103f03660046135ff565b610fb7565b61037f61040336600461361d565b610fc5565b61041b6104163660046135ff565b6111cc565b60405161028d9291906141c5565b610431611204565b60405161028d9190614081565b61034c61044c3660046135ff565b61120e565b61043161122c565b61034c61123b565b61034c61046f366004613687565b61125f565b6104876104823660046136d4565b611277565b60405161028d939291906143bd565b6102c06104a43660046135ff565b6112dc565b61037f6112f7565b61037f6104bf3660046137aa565b61144d565b61037f611512565b61034c6104da3660046135ff565b6115ae565b6104876104ed366004613687565b6115b9565b6102806105003660046135ff565b6115d9565b6103a761167b565b6104316116f2565b6102c0611701565b61034c61052b3660046135ff565b6117ad565b61054361053e3660046135ff565b6117c8565b60405161028d919061440d565b61030361055e36600461352f565b6117dd565b61057661057136600461352f565b611855565b60405161028d92919061417b565b61034c6105923660046135ff565b6119a5565b6102806105a5366004613571565b6119b0565b6105bd6105b8366004613687565b611af5565b60405161028d929190614156565b6102806105d93660046137c8565b611bd3565b61041b6105ec366004613657565b611cb6565b6000610604826105ff611ccf565b611d79565b90505b919050565b600081815260046020526040812054819081906001600160a01b0316631cd554d160e21b85148061064557506001600160a01b03811615155b61066a5760405162461bcd60e51b8152600401610661906142ca565b60405180910390fd5b610672613083565b61067b86611da4565b9050631cd554d160e21b8614156106a657516001600160d81b03169350600092508291506107789050565b80516001600160d81b031694506106bb611f6e565b815160405163413caeb560e01b81526001600160a01b03929092169163413caeb5916106ec918691906004016140c5565b602060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073e91908101906135e1565b935061075c61074b611ccf565b826020015164ffffffffff16611f8a565b8061077357506107738661076e611fa5565b612006565b925050505b9193909250565b6002546001600160a01b031681565b60008060008061079c61309a565b6107a46120d6565b6001600160a01b031663697b659b338a6040518363ffffffff1660e01b81526004016107d192919061408f565b6101a06040518083038186803b1580156107ea57600080fd5b505afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082291908101906137e7565b905061082c61309a565b6108346120d6565b6001600160a01b031663697b659b33896040518363ffffffff1660e01b815260040161086192919061408f565b6101a06040518083038186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b291908101906137e7565b90506108bc61309a565b6108c46120d6565b6001600160a01b031663697b659b33631cd554d160e21b6040518363ffffffff1660e01b81526004016108f892919061408f565b6101a06040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061094991908101906137e7565b9050610957838a8484610d24565b965096509650965050505093509350935093565b6060808383905060405190808252806020026020018201604052801561099b578160200160208202803883390190505b50905060005b838110156109e3576109c48585838181106109b857fe5b905060200201356120fc565b8282815181106109d057fe5b60209081029190910101526001016109a1565b5090505b92915050565b6000806109f8611ccf565b90506060610a3885858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b84811015610b0a57631cd554d160e21b868683818110610a5957fe5b905060200201351415610a6b57610b02565b610a73613083565b610a8e878784818110610a8257fe5b90506020020135611da4565b9050828281518110610a9c57fe5b602002602001015180610abf5750610abf84826020015164ffffffffff16611f8a565b80610aee5750610aee878784818110610ad457fe5b9050602002013582600001516001600160d81b0316612293565b15610b005760019450505050506109e7565b505b600101610a3d565b50600095945050505050565b600080610b21613083565b610b2a84611da4565b9050631cd554d160e21b841415610b5057516001600160d81b0316915060009050610bae565b8051610b6e610b5d611ccf565b836020015164ffffffffff16611f8a565b80610b805750610b808561076e611fa5565b80610b9d5750610b9d8583600001516001600160d81b0316612293565b6001600160d81b0390911693509150505b915091565b6000610bbd611ccf565b90505b90565b600083815b610bd5878360010161232d565b915050801580610be6575083850181115b15610bf357509050610bfe565b600190910190610bc8565b949350505050565b610c0e6124cf565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610c59908390614081565b60405180910390a150565b600080610bfe83610b16565b600654604080518281526020808402820101909152606091600091908015610ca2578160200160208202803883390190505b50915060005b600654811015610d1d57600060068281548110610cc157fe5b600091825260208083209091015480835260049091526040909120549091506001600160a01b039081169086161415610d145780848480600101955081518110610d0757fe5b6020026020010181815250505b50600101610ca8565b5050919050565b600080600080610d3d88600001518888600001516124fb565b8a519295509093509150600090610d539061254d565b90506000610d64886000015161254d565b90506000808315610d7757859150610d8e565b610d8b86610d868e8c8f61262d565b612841565b91505b8215610d9b575083610db2565b610daf85610daa8b8d8f61262d565b612857565b90505b610dd281610dc68d8563ffffffff61286616565b9063ffffffff6128a016565b975050505050945094509450949050565b60006060610def61167b565b905060005b8151811015610ef1576000828281518110610e0b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610e5c9085906004016141a9565b60206040518083038186803b158015610e7457600080fd5b505afa158015610e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eac91908101906134dc565b6001600160a01b0316141580610ed757506000818152600360205260409020546001600160a01b0316155b15610ee85760009350505050610bc0565b50600101610df4565b50600191505090565b610f026124cf565b6000818152600460205260409020546001600160a01b031680610f375760405162461bcd60e51b81526004016106619061436a565b600082815260046020908152604080832080546001600160a01b031916905560059091528120805460ff19169055610f708360066128d5565b90508015610fb2577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f7778383604051610fa99291906141b7565b60405180910390a15b505050565b60006106048261076e611fa5565b610fcd6124cf565b60008190506000816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611045919081019061385f565b10156110635760405162461bcd60e51b81526004016106619061434a565b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110d691908101906138e5565b9050601b8160ff1611156110fc5760405162461bcd60e51b8152600401610661906142ba565b6000848152600460205260409020546001600160a01b031661114e57600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080546001600160a01b0319166001600160a01b038716179055600590915290819020805460ff191660ff8416179055517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63906111be90869085906141b7565b60405180910390a150505050565b6000806111d7613083565b6111e084611da4565b80516020909101516001600160d81b03909116935064ffffffffff16915050915091565b6000610bbd611fa5565b6006818154811061121b57fe5b600091825260209091200154905081565b6001546001600160a01b031681565b7f45786368616e676552617465735769746844657850726963696e67000000000081565b600061126c8484846124fb565b509095945050505050565b6000806000611286888661232d565b5091508786141561129b5750859150806112d1565b6112a5868561232d565b50905080156112d1576112ce816112c2898563ffffffff61297916565b9063ffffffff61298e16565b92505b955095509592505050565b6004602052600090815260409020546001600160a01b031681565b606061130161167b565b905060005b815181101561144957600082828151811061131d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161135f9190614076565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161138b9291906141fb565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906134dc565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061143790849084906141b7565b60405180910390a15050600101611306565b5050565b6114556124cf565b61145d6129a3565b6001600160a01b0316634dca09786c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b846040518463ffffffff1660e01b81526004016114b1939291906141d3565b600060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505050507f8a51d16f378c74938a4b9290afe425bbfba62f05aa9d27bff5e892f62696f76081604051610c599190614081565b6001546001600160a01b0316331461153c5760405162461bcd60e51b81526004016106619061425a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261157f926001600160a01b03918216929116906140aa565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610604826129c0565b60008060006115c98686866124fb565b9250925092505b93509350939050565b60006115e361309a565b6115eb6120d6565b6001600160a01b031663697b659b33856040518363ffffffff1660e01b815260040161161892919061408f565b6101a06040518083038186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166991908101906137e7565b905061167481611bd3565b9392505050565b606080611686612a70565b6040805160018082528183019092529192506060919060208083019080388339019050509050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b816000815181106116d557fe5b6020026020010181815250506116eb8282612ac0565b9250505090565b6000546001600160a01b031681565b600061170b6129a3565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161175d9291906141c5565b60206040518083038186803b15801561177557600080fd5b505afa158015611789573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd91908101906134dc565b60006117b882611da4565b516001600160d81b031692915050565b60056020526000908152604090205460ff1681565b6060808383905060405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b838110156109e35761183685858381811061182a57fe5b905060200201356117ad565b82828151811061184257fe5b6020908102919091010152600101611813565b6060600083839050604051908082528060200260200182016040528015611886578160200160208202803883390190505b5091506000611893611ccf565b905060606118d386868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b8581101561199b576118e8613083565b6118f7888884818110610a8257fe5b905080600001516001600160d81b031686838151811061191357fe5b602002602001018181525050841580156119465750631cd554d160e21b88888481811061193c57fe5b9050602002013514155b156119925782828151811061195757fe5b60200260200101518061197a575061197a84826020015164ffffffffff16611f8a565b8061198f575061198f888884818110610ad457fe5b94505b506001016118d8565b5050509250929050565b6000610604826120fc565b60008184146119d15760405162461bcd60e51b81526004016106619061435a565b60006119db611ccf565b90506060611a1b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b86811015611ae757631cd554d160e21b888883818110611a3c57fe5b905060200201351415611a4e57611adf565b600080611a7f8a8a85818110611a6057fe5b90506020020135898986818110611a7357fe5b9050602002013561232d565b91509150838381518110611a8f57fe5b602002602001015180611aa75750611aa78582611f8a565b80611ac95750611ac98a8a85818110611abc57fe5b9050602002013583612293565b15611adc57600195505050505050610bfe565b50505b600101611a20565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611b22578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611b4f578160200160208202803883390190505b50905060008311611b6857611b63856129c0565b611b6a565b825b925060005b84811015611bc957611b81868561232d565b848381518110611b8d57fe5b60200260200101848481518110611ba057fe5b60209081029190910101919091525283611bba5750611bcb565b60001990930192600101611b6f565b505b935093915050565b8051600090631cd554d160e21b1415611bee57506000610607565b60c082015160e0830151811580611c03575080155b15611c1357600092505050610607565b6000611c25428463ffffffff612b7c16565b90506000611c3686600001516129c0565b90505b8215611caa57600080611c5088600001518461232d565b9150915080600014158015611c6457508381105b15611c785760009650505050505050610607565b811580611c83575080155b15611c8f575050611caa565b82611c9b575050611caa565b50506000199283019201611c39565b50600195945050505050565b600080611cc3848461232d565b915091505b9250929050565b6000611cd96129a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401611d299291906141c5565b60206040518083038186803b158015611d4157600080fd5b505afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd919081019061385f565b6000631cd554d160e21b831415611d92575060006109e7565b61167482611d9f856120fc565b611f8a565b611dac613083565b631cd554d160e21b821415611e5c57604051806040016040528073__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0a57600080fd5b505af4158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e42919081019061385f565b6001600160d81b0316815260006020909101529050610607565b6000828152600460205260409020546001600160a01b03168015611f685760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b17905290516000906060906001600160a01b03851690611ec090859061404a565b600060405180830381855afa9150503d8060008114611efb576040519150601f19603f3d011682016040523d82523d6000602084013e611f00565b606091505b50915091508115611f645760008082806020019051611f22919081019061387d565b509350509250506040518060400160405280611f3e8a85612ba4565b6001600160d81b031681526020018264ffffffffff168152509650505050505050610607565b5050505b50919050565b6000610bbd6d21b4b931bab4ba213932b0b5b2b960911b612c44565b600042611f9d838563ffffffff612ca116565b109392505050565b6000611faf6129a3565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b815260040161175d9291906141c5565b6000631cd554d160e21b83141561201f575060006109e7565b6000838152600460205260409020546001600160a01b031680158061204b57506001600160a01b038316155b1561205a5760009150506109e7565b604051631abf23ff60e11b81526001600160a01b0384169063357e47fe90612086908490600401614081565b60206040518083038186803b15801561209e57600080fd5b505afa1580156120b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bfe91908101906135e1565b6000610bbd772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612c44565b600061210782611da4565b6020015164ffffffffff1692915050565b60606000612124611fa5565b90506001600160a01b038116156122605760608351604051908082528060200260200182016040528015612162578160200160208202803883390190505b50905060005b84518110156121d7576004600086838151811061218157fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106121b757fe5b6001600160a01b0390921660209283029190910190910152600101612168565b50604051631f5c8f2b60e21b81526001600160a01b03831690637d723cac90612204908490600401614123565b60006040518083038186803b15801561221c57600080fd5b505afa158015612230573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261225891908101906134fa565b925050611f68565b825160405190808252806020026020018201604052801561228b578160200160208202803883390190505b509392505050565b600061229d611f6e565b6000848152600460208190526040918290205491516318b844ad60e01b81526001600160a01b03938416936318b844ad936122dd939116918791016140e0565b60206040518083038186803b1580156122f557600080fd5b505afa158015612309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167491908101906135e1565b600080631cd554d160e21b8414156123c65773__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561238357600080fd5b505af4158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123bb919081019061385f565b915060009050611cc8565b6000848152600460205260409020546001600160a01b031680156124c7576060846040516024016123f791906141a9565b60408051601f198184030181529181526020820180516001600160e01b0316639a6fc8f560e01b179052519091506000906060906001600160a01b0385169061244190859061404a565b600060405180830381855afa9150503d806000811461247c576040519150601f19603f3d011682016040523d82523d6000602084013e612481565b606091505b509150915081156124c357600080828060200190516124a3919081019061387d565b509350509250506124b48a83612ba4565b97509550611cc8945050505050565b5050505b509250929050565b6000546001600160a01b031633146124f95760405162461bcd60e51b8152600401610661906142fa565b565b6000806000612509866117ad565b91508386141561251d5750839150806115d0565b612526846117ad565b905080156115d057612542816112c2878563ffffffff61297916565b925093509350939050565b60006125576129a3565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020016125aa929190614024565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016125dd9291906141c5565b60206040518083038186803b1580156125f557600080fd5b505afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061060491908101906135e1565b60008161264c5760405162461bcd60e51b8152600401610661906142aa565b8351631cd554d160e21b148061266957508251631cd554d160e21b145b6126855760405162461bcd60e51b81526004016106619061424a565b60408401516001600160a01b0381166126b05760405162461bcd60e51b81526004016106619061423a565b60408401516001600160a01b0381166126db5760405162461bcd60e51b81526004016106619061431a565b600061278185610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561272857600080fd5b505af415801561273c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612760919081019061385f565b6127758b6020015188888c8f60800151612cc6565b9063ffffffff61286616565b9050806127a05760405162461bcd60e51b81526004016106619061433a565b8551631cd554d160e21b146128345761282f8173__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f757600080fd5b505af415801561280b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112c2919081019061385f565b612836565b805b979650505050505050565b60008183106128505781611674565b5090919050565b60008183116128505781611674565b600082612875575060006109e7565b8282028284828161288257fe5b04146116745760405162461bcd60e51b81526004016106619061430a565b60008082116128c15760405162461bcd60e51b8152600401610661906142ea565b60008284816128cc57fe5b04949350505050565b6000805b825481101561296f57838382815481106128ef57fe5b906000526020600020015414156129675782818154811061290c57fe5b600091825260208220015582548390600019810190811061292957fe5b906000526020600020015483828154811061294057fe5b600091825260209091200155825461295c846000198301613117565b5060019150506109e7565b6001016128d9565b5060009392505050565b60006116748383670de0b6b3a7640000612fcf565b60006116748383670de0b6b3a764000061300c565b6000610bbd6e466c657869626c6553746f7261676560881b612c44565b6000631cd554d160e21b8214156129d957506000610607565b6000828152600460205260409020546001600160a01b03168015611f6857806001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3057600080fd5b505afa158015612a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a68919081019061385f565b915050610607565b606080612a7b613032565b60408051600180825281830190925291925060609190602080830190803883390190505090506d21b4b931bab4ba213932b0b5b2b960911b816000815181106116d557fe5b60608151835101604051908082528060200260200182016040528015612af0578160200160208202803883390190505b50905060005b8351811015612b3257838181518110612b0b57fe5b6020026020010151828281518110612b1f57fe5b6020908102919091010152600101612af6565b5060005b8251811015612b7557828181518110612b4b57fe5b6020026020010151828286510181518110612b6257fe5b6020908102919091010152600101612b36565b5092915050565b600082821115612b9e5760405162461bcd60e51b8152600401610661906142da565b50900390565b600080821215612bc65760405162461bcd60e51b81526004016106619061426a565b60008381526005602052604090205460ff1682811580612be65750816012145b15612bf057610bfe565b6012821015612c19576012829003600a0a612c11828263ffffffff61286616565b915050610bfe565b6012821115610bfe576011198201600a0a612c3a828263ffffffff6128a016565b9695505050505050565b60008181526003602090815260408083205490516001600160a01b039091169182151591612c7491869101614056565b60405160208183030381529060405290612b755760405162461bcd60e51b81526004016106619190614229565b6000828201838110156116745760405162461bcd60e51b81526004016106619061428a565b600080612dcf73__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1057600080fd5b505af4158015612d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d48919081019061385f565b610dc6886001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8457600080fd5b505afa158015612d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dbc91908101906138e5565b879060ff16600a0a63ffffffff61286616565b90506001600160a01b038716612df75760405162461bcd60e51b81526004016106619061432a565b82612e145760405162461bcd60e51b81526004016106619061429a565b604051637c66194960e01b81526000906001600160a01b03891690637c66194990612e49908a9086908b908a906004016140ee565b60206040518083038186803b158015612e6157600080fd5b505afa158015612e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e99919081019061385f565b905060008111612ebb5760405162461bcd60e51b81526004016106619061427a565b612fc1866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ef757600080fd5b505afa158015612f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2f91908101906138e5565b60ff16600a0a610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f7c57600080fd5b505af4158015612f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fb4919081019061385f565b849063ffffffff61286616565b925050505b95945050505050565b600080600a8304612fe6868663ffffffff61286616565b81612fed57fe5b0490506005600a825b061061300057600a015b600a9004949350505050565b60008061302684610dc687600a870263ffffffff61286616565b90506005600a82612ff6565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061307457fe5b60200260200101818152505090565b604080518082019091526000808252602082015290565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b815481835581811115610fb257600083815260209020610fb2918101908301610bc091905b80821115613150576000815560010161313c565b5090565b80356109e78161450e565b80516109e78161450e565b600082601f83011261317b57600080fd5b815161318e61318982614442565b61441b565b915081818352602084019350602081019050838560208402820111156131b357600080fd5b60005b838110156131df57816131c9888261322b565b84525060209283019291909101906001016131b6565b5050505092915050565b60008083601f8401126131fb57600080fd5b50813567ffffffffffffffff81111561321357600080fd5b602083019150836020820283011115611cc857600080fd5b80516109e781614525565b80356109e78161452e565b80516109e78161452e565b80356109e781614537565b60006101a0828403121561326a57600080fd5b6132756101a061441b565b905060006132838484613236565b825250602061329484848301613154565b60208301525060406132a884828501613154565b60408301525060606132bc84828501613236565b60608301525060806132d084828501613236565b60808301525060a06132e484828501613236565b60a08301525060c06132f884828501613236565b60c08301525060e061330c84828501613236565b60e08301525061010061332184828501613236565b6101008301525061012061333784828501613236565b6101208301525061014061334d84828501613236565b6101408301525061016061336384828501613236565b6101608301525061018061337984828501613236565b6101808301525092915050565b60006101a0828403121561339957600080fd5b6133a46101a061441b565b905060006133b28484613241565b82525060206133c38484830161315f565b60208301525060406133d78482850161315f565b60408301525060606133eb84828501613241565b60608301525060806133ff84828501613241565b60808301525060a061341384828501613241565b60a08301525060c061342784828501613241565b60c08301525060e061343b84828501613241565b60e08301525061010061345084828501613241565b6101008301525061012061346684828501613241565b6101208301525061014061347c84828501613241565b6101408301525061016061349284828501613241565b6101608301525061018061337984828501613241565b80516109e781614549565b80516109e781614540565b6000602082840312156134d057600080fd5b6000610bfe8484613154565b6000602082840312156134ee57600080fd5b6000610bfe848461315f565b60006020828403121561350c57600080fd5b815167ffffffffffffffff81111561352357600080fd5b610bfe8482850161316a565b6000806020838503121561354257600080fd5b823567ffffffffffffffff81111561355957600080fd5b613565858286016131e9565b92509250509250929050565b6000806000806040858703121561358757600080fd5b843567ffffffffffffffff81111561359e57600080fd5b6135aa878288016131e9565b9450945050602085013567ffffffffffffffff8111156135c957600080fd5b6135d5878288016131e9565b95989497509550505050565b6000602082840312156135f357600080fd5b6000610bfe848461322b565b60006020828403121561361157600080fd5b6000610bfe8484613236565b6000806040838503121561363057600080fd5b600061363c8585613236565b925050602061364d85828601613154565b9150509250929050565b6000806040838503121561366a57600080fd5b60006136768585613236565b925050602061364d85828601613236565b60008060006060848603121561369c57600080fd5b60006136a88686613236565b93505060206136b986828701613236565b92505060406136ca86828701613236565b9150509250925092565b600080600080600060a086880312156136ec57600080fd5b60006136f88888613236565b955050602061370988828901613236565b945050604061371a88828901613236565b935050606061372b88828901613236565b925050608061373c88828901613236565b9150509295509295909350565b6000806000806080858703121561375f57600080fd5b600061376b8787613236565b945050602061377c87828801613236565b935050604061378d87828801613236565b925050606061379e87828801613236565b91505092959194509250565b6000602082840312156137bc57600080fd5b6000610bfe848461324c565b60006101a082840312156137db57600080fd5b6000610bfe8484613257565b60006101a082840312156137fa57600080fd5b6000610bfe8484613386565b600080600080610500858703121561381d57600080fd5b60006138298787613257565b9450506101a061383b87828801613236565b9350506101c061384d87828801613257565b92505061036061379e87828801613257565b60006020828403121561387157600080fd5b6000610bfe8484613241565b600080600080600060a0868803121561389557600080fd5b60006138a188886134a8565b95505060206138b288828901613241565b94505060406138c388828901613241565b93505060606138d488828901613241565b925050608061373c888289016134a8565b6000602082840312156138f757600080fd5b6000610bfe84846134b3565b600061390f8383613932565b505060200190565b600061390f8383613a39565b61392c816144be565b82525050565b61392c81614476565b600061394682614469565b613950818561446d565b935061395b83614463565b8060005b838110156139895781516139738882613903565b975061397e83614463565b92505060010161395f565b509495945050505050565b600061399f82614469565b6139a9818561446d565b93506139b483614463565b8060005b838110156139895781516139cc8882613917565b97506139d783614463565b9250506001016139b8565b60006139ed82614469565b6139f7818561446d565b9350613a0283614463565b8060005b83811015613989578151613a1a8882613917565b9750613a2583614463565b925050600101613a06565b61392c81614481565b61392c81610bc0565b61392c613a4e82610bc0565b610bc0565b6000613a5e82614469565b613a688185610607565b9350613a788185602086016144d4565b9290920192915050565b61392c81614486565b6000613a9682614469565b613aa0818561446d565b9350613ab08185602086016144d4565b613ab981614504565b9093019392505050565b6000613ad0601f8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f7220736f7572636500815260200192915050565b6000613b0960218361446d565b7f41746f6d6963207377617073206d75737420676f207468726f756768207355538152601160fa1b602082015260400192915050565b6000613b4c60358361446d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613ba3601b8361446d565b7f4e656761746976652072617465206e6f7420737570706f727465640000000000815260200192915050565b6000613bdc60148361446d565b7306465782070726963652072657475726e656420360641b815260200192915050565b6000613c0c601b8361446d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613c4560208361446d565b7f556e696e697469616c697a65642061746f6d696320747761702077696e646f77815260200192915050565b6000613c7e601d8361446d565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613cb760328361446d565b7f41676772656761746f7220646563696d616c732073686f756c64206265206c6f815271776572206f7220657175616c20746f20323760701b602082015260400192915050565b6000613d0b60178361446d565b7f4e6f2061676772656761746f7220666f72206173736574000000000000000000815260200192915050565b6000613d44601e8361446d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613d7d601a8361446d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613db6601183610607565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613de3602f8361446d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613e3460218361446d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e77601d8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f722064657374000000815260200192915050565b6000613eb0601b8361446d565b7f6465782061676772656761746f72206164647265737320697320300000000000815260200192915050565b6000613ee9601d8361446d565b7f526573756c74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613f22601983610607565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613f5b601b8361446d565b7f476976656e2041676772656761746f7220697320696e76616c69640000000000815260200192915050565b6000613f9460308361446d565b7f726f756e64496473206d757374206265207468652073616d65206c656e67746881526f2061732063757272656e63794b65797360801b602082015260400192915050565b6000613fe6601c8361446d565b7f4e6f2061676772656761746f722065786973747320666f72206b657900000000815260200192915050565b61392c816144c9565b61392c816144a9565b60006140308285613a42565b6020820191506140408284613a42565b5060200192915050565b60006116748284613a53565b600061406182613da9565b915061406d8284613a42565b50602001919050565b600061406182613f15565b602081016109e78284613932565b6040810161409d8285613923565b6116746020830184613a39565b604081016140b88285613932565b6116746020830184613932565b604081016140d38285613932565b6116746020830184614012565b6040810161409d8285613932565b608081016140fc8287613932565b6141096020830186613a39565b6141166040830185613932565b612fc66060830184613a39565b60208082528101611674818461393b565b602080825281016116748184613994565b6020808252810161167481846139e2565b6040808252810161416781856139e2565b90508181036020830152610bfe81846139e2565b6040808252810161418c81856139e2565b90506116746020830184613a30565b602081016109e78284613a30565b602081016109e78284613a39565b604081016140b88285613a39565b6040810161409d8285613a39565b606081016141e18286613a39565b6141ee6020830185613a39565b610bfe6040830184613932565b604081016142098285613a39565b8181036020830152610bfe8184613a8b565b602081016109e78284613a82565b602080825281016116748184613a8b565b6020808252810161060481613ac3565b6020808252810161060481613afc565b6020808252810161060481613b3f565b6020808252810161060481613b96565b6020808252810161060481613bcf565b6020808252810161060481613bff565b6020808252810161060481613c38565b6020808252810161060481613c71565b6020808252810161060481613caa565b6020808252810161060481613cfe565b6020808252810161060481613d37565b6020808252810161060481613d70565b6020808252810161060481613dd6565b6020808252810161060481613e27565b6020808252810161060481613e6a565b6020808252810161060481613ea3565b6020808252810161060481613edc565b6020808252810161060481613f4e565b6020808252810161060481613f87565b6020808252810161060481613fd9565b604081016143888285613a39565b6116746020830184613a30565b606081016143a38286613a39565b6143b06020830185613a30565b610bfe6040830184613a30565b606081016143cb8286613a39565b6143d86020830185613a39565b610bfe6040830184613a39565b608081016143f38287613a39565b6144006020830186613a39565b6141166040830185613a39565b602081016109e7828461401b565b60405181810167ffffffffffffffff8111828210171561443a57600080fd5b604052919050565b600067ffffffffffffffff82111561445957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061060482614491565b151590565b600061060482614476565b6001600160a01b031690565b6001600160d81b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061060482614486565b60006106048261449d565b60005b838110156144ef5781810151838201526020016144d7565b838111156144fe576000848401525b50505050565b601f01601f191690565b61451781614476565b811461452257600080fd5b50565b61451781614481565b61451781610bc0565b61451781614486565b614517816144a9565b614517816144af56fea365627a7a7231582004fb27330afe41c4b2fc59aa062d8e94c766b710768a1c0421c6fc1dffaee7526c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "AggregatorAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "AggregatorRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newDexPriceAggregator", + "type": "address" + } + ], + "name": "DexPriceAggregatorUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "aggregatorAddress", + "type": "address" + } + ], + "name": "addAggregator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "aggregatorKeys", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "aggregatorWarningFlags", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "aggregators", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "anyRateIsInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "roundIds", + "type": "uint256[]" + } + ], + "name": "anyRateIsInvalidAtRound", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "currenciesUsingAggregator", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "currencies", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "currencyKeyDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "dexPriceAggregator", + "outputs": [ + { + "internalType": "contract IDexPriceAggregator", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "effectiveAtomicValueAndRates", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemSourceRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemDestinationRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "sourceSettings", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "destinationSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "usdSettings", + "type": "tuple" + } + ], + "name": "effectiveAtomicValueAndRates", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemSourceRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "systemDestinationRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "effectiveValue", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "effectiveValueAndRates", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "destinationRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "name": "effectiveValueAndRatesAtRound", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "destinationRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "getCurrentRoundId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "startingRoundId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startingTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timediff", + "type": "uint256" + } + ], + "name": "getLastRoundIdBeforeElapsedSecs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "lastRateUpdateTimes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "lastRateUpdateTimesForCurrencies", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateAndInvalid", + "outputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "roundId", + "type": "uint256" + } + ], + "name": "rateAndTimestampAtRound", + "outputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateAndUpdatedTime", + "outputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateForCurrency", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateIsFlagged", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateIsInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateIsStale", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rateStalePeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateWithSafetyChecks", + "outputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "broken", + "type": "bool" + }, + { + "internalType": "bool", + "name": "staleOrInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "ratesAndInvalidForCurrencies", + "outputs": [ + { + "internalType": "uint256[]", + "name": "rates", + "type": "uint256[]" + }, + { + "internalType": "bool", + "name": "anyRateInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "numRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundId", + "type": "uint256" + } + ], + "name": "ratesAndUpdatedTimeForCurrencyLastNRounds", + "outputs": [ + { + "internalType": "uint256[]", + "name": "rates", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "times", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "ratesForCurrencies", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "removeAggregator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IDexPriceAggregator", + "name": "_dexPriceAggregator", + "type": "address" + } + ], + "name": "setDexPriceAggregator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "synthTooVolatileForAtomicExchange", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "settings", + "type": "tuple" + } + ], + "name": "synthTooVolatileForAtomicExchange", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x4a3780882a5da37ab9dfbe964edfda23ee142c873e79a4e5af3314d5dfaa88b6", + "urls": [ + "bzz-raw://fb5235e432efe7929ba40bcd50abfe36fb51a91300ee3c208b509340f05ce140", + "dweb:/ipfs/QmPBvZw1Pbv1VxWgmrbvMm9T7298W2qu4b25o4kA6UWi3u" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ExchangeRatesWithDexPricing.sol": "ExchangeRatesWithDexPricing" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ExchangeRatesWithDexPricing.sol": { + "keccak256": "0x4a3780882a5da37ab9dfbe964edfda23ee142c873e79a4e5af3314d5dfaa88b6", + "urls": [ + "bzz-raw://fb5235e432efe7929ba40bcd50abfe36fb51a91300ee3c208b509340f05ce140", + "dweb:/ipfs/QmPBvZw1Pbv1VxWgmrbvMm9T7298W2qu4b25o4kA6UWi3u" + ] + } + }, + "version": 1 + } + }, + "LegacyTokenState": { + "bytecode": "608060405234801561001057600080fd5b5060405161050e38038061050e8339818101604052604081101561003357600080fd5b508051602091820151600080546001600160a01b038085166001600160a01b0319928316179092556002805492841692909116821790556040805191825251929391927f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03929181900390910190a1505061045c806100b26000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b806352f445ca146100a357806353a47bb7146100cb5780635b94db27146100ef57806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100d3610260565b604080516001600160a01b039092168252519081900360200190f35b6100c96004803603602081101561010557600080fd5b50356001600160a01b031661026f565b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102da565b60408051918252519081900360200190f35b6100c96102ec565b6100d3610376565b6100d3610385565b6100c96004803603604081101561017b57600080fd5b506001600160a01b038135169060200135610394565b6100c9600480360360608110156101a757600080fd5b506001600160a01b038135811691602081013590911690604001356103c7565b61013b600480360360408110156101dd57600080fd5b506001600160a01b038135811691602001351661040a565b6000546001600160a01b0316331461020c57600080fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b0316331461028657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60036020526000908152604090205481565b6001546001600160a01b0316331461030357600080fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103ab57600080fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146103de57600080fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b60046020908152600092835260408084209091529082529020548156fea265627a7a7231582096278c28ac9dfdfd97da27af4c1053cc25ace9d4cccefe8b0699b699f3ba103864736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "tokenOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setAllowance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setBalanceOf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05", + "urls": [ + "bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1", + "dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "legacy/LegacyTokenState.sol": "LegacyTokenState" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "legacy/LegacyTokenState.sol": { + "keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05", + "urls": [ + "bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1", + "dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6" + ] + } + }, + "version": 1 + } + }, + "ProxyERC20": { + "bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201cc4e3f6eda466d090af6caeee1b1fa656f9ca6d0594741c98080035b366c2e764736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract Proxyable", + "name": "newTarget", + "type": "address" + } + ], + "name": "TargetUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "numTopics", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "topic1", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic2", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic3", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic4", + "type": "bytes32" + } + ], + "name": "_emit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract Proxyable", + "name": "_target", + "type": "address" + } + ], + "name": "setTarget", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "target", + "outputs": [ + { + "internalType": "contract Proxyable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3", + "urls": [ + "bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb", + "dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ProxyERC20.sol": "ProxyERC20" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ProxyERC20.sol": { + "keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3", + "urls": [ + "bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb", + "dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP" + ] + } + }, + "version": 1 + } + }, + "Synthetix": { + "bytecode": "60806040523480156200001157600080fd5b506040516200638438038062006384833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001da90600590602088019062000243565b508351620001f090600690602087019062000243565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b615e9380620004f16000396000f3fe608060405234801561001057600080fd5b50600436106104495760003560e01c80636c00f310116102415780639f7698071161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108f3578063e90dd9e214610906578063ec5568891461090e578063edef719a146106b0578063ee52a2f31461091657610449565b8063d37c4d8b146108aa578063d67bdd25146108bd578063d8a1f76f146108c5578063dbf63340146108d8578063dd62ed3e146108e057610449565b8063ace88afd1161010a578063ace88afd14610856578063af086c7e14610869578063bc67f83214610871578063c2bf388014610884578063c836fa0a1461089757610449565b80639f7698071461080a578063a311c7c21461081d578063a5fdc5de14610830578063a9059cbb1461084357610449565b806384358843116101c95780639324cac71161018d5780639324cac7146107cc57806395d89b41146107d457806397107d6d146107dc5780639741fb22146107ef578063987757dd146107f757610449565b80638435884314610775578063899ffef4146107965780638a2900141461079e5780638da5cb5b146107b157806391e56b68146107b957610449565b806372cb051f1161021057806372cb051f1461072a578063741853601461073f57806379ba509714610747578063835e119c1461074f57806383d625d41461076257610449565b80636c00f310146106de5780636f01a986146106f1578063704e7b851461070457806370a082311461071757610449565b80632c955fa71161035257806344b3e923116102da5780635e22846a1161029e5780635e22846a14610695578063614d08f8146106a8578063666ed4f1146106b05780636ac0bf9c146106c35780636b76222f146106d657610449565b806344b3e9231461064a5780634e99bda91461065d578063528c7efb1461066557806353a47bb71461066d5780635af090ef1461068257610449565b806330ead7601161032157806330ead760146105f6578063313ce56714610609578063320223db1461061157806332608039146106245780633e89b9e51461063757610449565b80632c955fa7146105a85780632d3169eb146105bb5780632e0f2625146105ce5780632f7206ce146105e357610449565b806316b2213f116103d557806323b872dd116103a457806323b872dd1461055f5780632621716f14610572578063295da87d146105855780632a905318146105985780632af64bd3146105a057610449565b806316b2213f1461052957806318160ddd1461053c57806318821400146105445780631fce304d1461054c57610449565b8063095ea7b31161041c578063095ea7b3146104ab5780630e30963c146104cb5780631137aedf146104ec5780631249c58b1461050e5780631627540c1461051657610449565b806303fbc5471461044e57806304f3bcec1461045857806305b3c1c91461047657806306fdde0314610496575b600080fd5b610456610929565b005b610460610b16565b60405161046d9190615aeb565b60405180910390f35b6104896104843660046146ea565b610b2a565b60405161046d919061594c565b61049e610bb7565b60405161046d9190615af9565b6104be6104b93660046147ad565b610c45565b60405161046d919061593e565b6104de6104d9366004614a00565b610cd2565b60405161046d929190615ce4565b6104ff6104fa3660046146ea565b610de1565b60405161046d939291906159f0565b6104be610e76565b6104566105243660046146ea565b611230565b6104896105373660046146ea565b61128e565b6104896112c3565b61049e6112c9565b6104be61055a3660046149c4565b611302565b6104be61056d366004614760565b611397565b6104896105803660046146ea565b6113d6565b6104566105933660046149c4565b6115b7565b61049e611638565b6104be611657565b6104566105b63660046146ea565b611773565b6104566105c9366004614a00565b6117bf565b6105d6611875565b60405161046d9190615d27565b6104566105f13660046148f7565b61187a565b610489610604366004614a43565b61193c565b6105d66119fa565b61045661061f3660046146ea565b611a03565b6104606106323660046149c4565b611a4f565b6104896106453660046149c4565b611ad4565b610489610658366004614ab8565b611b0c565b6104be611bc4565b6104be611c43565b610675611e23565b60405161046d91906156e5565b610489610690366004614a43565b611e32565b6104be6106a33660046146ea565b611e92565b610489611ebe565b6104566106be3660046147ad565b611ece565b6104896106d13660046146ea565b611eda565b610456611fe2565b6104566106ec3660046148f7565b61208d565b6104566106ff3660046147dd565b6120e0565b6104be6107123660046147ad565b612199565b6104896107253660046146ea565b6121c4565b6107326121f6565b60405161046d919061592d565b610456612274565b6104566123c6565b61046061075d3660046149c4565b612462565b6104896107703660046149c4565b612497565b6107886107833660046146ea565b6124cf565b60405161046d929190615976565b610732612804565b6104566107ac3660046149c4565b612898565b6106756128e2565b6104896107c7366004614870565b6128f1565b6104896129b1565b61049e6129bc565b6104566107ea3660046146ea565b612a17565b610456612a6a565b6104ff6108053660046149c4565b612ae3565b610456610818366004614b2d565b612b59565b61048961082b3660046146ea565b612b85565b61048961083e3660046146ea565b612bba565b6104be6108513660046147ad565b612bef565b6104566108643660046147dd565b612c39565b610456612c86565b61045661087f3660046146ea565b612ccf565b6104566108923660046147ad565b612cf9565b6104896108a536600461480f565b612d7d565b6104896108b83660046147ad565b612e3b565b610675612ec2565b6104566108d33660046149c4565b612ed1565b610489612ed9565b6104896108ee366004614726565b612f53565b6104566109013660046147ad565b612f87565b610460612fd5565b610460612fe4565b610489610924366004614a22565b612ff3565b6109316130af565b60085460405163dacb2d0160e01b815260009161010090046001600160a01b03169063dacb2d019061096590600401615cc6565b60206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b59190810190614708565b60085460405163dacb2d0160e01b81529192506000916101009091046001600160a01b03169063dacb2d01906109ed90600401615c3e565b60206040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d9190810190614708565b9050816001600160a01b0316816001600160a01b03161415610a7a5760405162461bcd60e51b8152600401610a7190615cb6565b60405180910390fd5b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610aac918791016156e5565b60206040518083038186803b158015610ac457600080fd5b505afa158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afc91908101906149e2565b90508015610b1157610b0f8383836130d9565b505b505050565b60085461010090046001600160a01b031681565b6000610b346132b5565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b8152600401610b5f91906156e5565b60206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf91908101906149e2565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b820191906000526020600020905b815481529060010190602001808311610c2057829003601f168201915b505050505081565b6000610c4f6132c9565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610c89918591899189910161580d565b600060405180830381600087803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b50505050610cc6818585613308565b60019150505b92915050565b6000808584610ce18282613388565b610ce96132c9565b610cf16133e9565b6001600160a01b0316634f8633d2600360009054906101000a90046001600160a01b0316600360009054906101000a90046001600160a01b03168b8b8b600360009054906101000a90046001600160a01b03166001600360009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610d81999897969594939291906157bd565b6040805180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd29190810190614b99565b93509350505094509492505050565b6000806000610dee6132b5565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610e1991906156e5565b60606040518083038186803b158015610e3157600080fd5b505afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e699190810190614bc9565b9250925092509193909250565b6000610e80613400565b6000610e8a613454565b6001600160a01b03161415610eb15760405162461bcd60e51b8152600401610a7190615bf1565b6000610ebb613475565b90506000610ec7613454565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0457600080fd5b505afa158015610f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3c91908101906149e2565b905060008111610f5e5760405162461bcd60e51b8152600401610a7190615c89565b610f6a60003083613491565b604051637e7961d760e01b81526000906001600160a01b03851690637e7961d790610f9990859060040161594c565b602060405180830381600087803b158015610fb357600080fd5b505af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610feb91908101906149e2565b90506000610fff838363ffffffff6134d416565b600480546040516370a0823160e01b81529293506001600160a01b03169163b46310f691879161109b91869186916370a082319161103f918791016156e5565b60206040518083038186803b15801561105757600080fd5b505afa15801561106b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061108f91908101906149e2565b9063ffffffff6134fc16565b6040518363ffffffff1660e01b81526004016110b89291906158c3565b600060405180830381600087803b1580156110d257600080fd5b505af11580156110e6573d6000803e3d6000fd5b505050506110f5308583613491565b604051630b32e9c760e31b81526001600160a01b038516906359974e389061112190849060040161594c565b602060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117391908101906149a6565b50600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69133916111b391879186916370a082319161103f918791016156f3565b6040518363ffffffff1660e01b81526004016111d0929190615701565b600060405180830381600087803b1580156111ea57600080fd5b505af11580156111fe573d6000803e3d6000fd5b5050505061120d303384613491565b600754611220908463ffffffff6134fc16565b6007555060019450505050505b90565b6112386130af565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906112839083906156e5565b60405180910390a150565b60006112986132b5565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b8152600401610b5f91906156e5565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b60008061130d6133e9565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec926113409291169087906004016158c3565b60206040518083038186803b15801561135857600080fd5b505afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061139091908101906149e2565b1192915050565b60006113a1613521565b6113a9613576565b6113b384836135b6565b506003546113cc906001600160a01b0316858585613887565b90505b9392505050565b6000806113e1613933565b6001600160a01b031663204b676a846040518263ffffffff1660e01b815260040161140c91906156e5565b60206040518083038186803b15801561142457600080fd5b505afa158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145c91908101906149e2565b905060006114686145b5565b60005b8381101561159e5761147b613933565b6001600160a01b031663ae58254987836040518363ffffffff1660e01b81526004016114a89291906158c3565b60206040518083038186803b1580156114c057600080fd5b505afa1580156114d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f891908101906149e2565b9250611502613933565b6001600160a01b03166345626bd687856040518363ffffffff1660e01b815260040161152f9291906158c3565b604080518083038186803b15801561154657600080fd5b505afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157e9190810190614b4b565b602081015190925015611596579350610bb292505050565b60010161146b565b5060405162461bcd60e51b8152600401610a7190615b64565b6115bf613400565b6115c76132c9565b6115cf6132b5565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c65926116029291169085906004016158c3565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b60006060611663612804565b905060005b815181101561176a57600082828151811061167f57fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906116d590859060040161594c565b60206040518083038186803b1580156116ed57600080fd5b505afa158015611701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117259190810190614708565b6001600160a01b031614158061175057506000818152600960205260409020546001600160a01b0316155b15611761576000935050505061122d565b50600101611668565b50600191505090565b61177b613400565b6117836132c9565b61178b6132b5565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa926116029286929091169060040161571c565b6117c761394f565b6002546040516001600160a01b039091169063907dff97906117f1908690869086906020016159f0565b604051602081830303815290604052600260405161180e9061566d565b6040519081900381206001600160e01b031960e086901b16825261183d9392918a906000908190600401615a6a565b600060405180830381600087803b15801561185757600080fd5b505af115801561186b573d6000803e3d6000fd5b5050505050505050565b601281565b61188261394f565b6002546040516001600160a01b039091169063907dff97906118b090889088908890889088906020016159a4565b60405160208183030381529060405260026040516118cd90615657565b60405180910390206118de8b613987565b6000806040518763ffffffff1660e01b815260040161190296959493929190615a6a565b600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b50505050505050505050565b6000858461194a8282613388565b6119526132c9565b61195a6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9084906000908f908f906004016157bd565b6040805180830381600087803b1580156119b557600080fd5b505af11580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ed9190810190614b99565b5098975050505050505050565b60085460ff1681565b611a0b613400565b611a136132c9565b611a1b6132b5565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf926116029286929091169060040161571c565b6000611a596132b5565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401611a84919061594c565b60206040518083038186803b158015611a9c57600080fd5b505afa158015611ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf9190810190614b0f565b6000611ade6132b5565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610b5f929190615968565b60008584611b1a8282613388565b611b226132c9565b611b2a6133e9565b60035460405162674ed160e71b81526001600160a01b03928316926333a7688092611b66929116908c908c908c9084908d908d906004016158d1565b602060405180830381600087803b158015611b8057600080fd5b505af1158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb891908101906149e2565b98975050505050505050565b6000611bce6132b5565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0657600080fd5b505afa158015611c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e91908101906149a6565b905090565b6000611c4d613576565b611c556132c9565b6003546001600160a01b0316611c69613993565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401611c9491906156e5565b600060405180830381600087803b158015611cae57600080fd5b505af1158015611cc2573d6000803e3d6000fd5b50505050600080611cd16132b5565b6001600160a01b03166372c658168460016040518363ffffffff1660e01b8152600401611cff9291906158a8565b606060405180830381600087803b158015611d1957600080fd5b505af1158015611d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d519190810190614bc9565b509150915060008111611d765760405162461bcd60e51b8152600401610a7190615c6c565b611d82838383866139b2565b6000611d9684611d90613993565b85613a2e565b905080611db55760405162461bcd60e51b8152600401610a7190615c11565b611dbd613993565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b8152600401611de8919061594c565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b5092965050505050505090565b6001546001600160a01b031681565b60008584611e408282613388565b611e486132c9565b611e506133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9032906000908f908f90600401615737565b6000611e9c613576565b611ea46132c9565b600354610baf9083906000906001600160a01b0316613a3b565b680a6f2dce8d0cae8d2f60bb1b81565b611ed6613e3d565b5050565b6000611ee46132b5565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611f1f918591016156e5565b60206040518083038186803b158015611f3757600080fd5b505afa158015611f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f6f91908101906149e2565b6040518363ffffffff1660e01b8152600401611f8c9291906158c3565b604080518083038186803b158015611fa357600080fd5b505afa158015611fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdb9190810190614b69565b5092915050565b611fea6130af565b6004546000906001600160a01b03166370a08231612006613e55565b6040518263ffffffff1660e01b815260040161202291906156e5565b60206040518083038186803b15801561203a57600080fd5b505afa15801561204e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061207291908101906149e2565b9050611ed661207f613e55565b612087613933565b836130d9565b61209561394f565b6002546040516001600160a01b039091169063907dff97906120c390889088908890889088906020016159a4565b60405160208183030381529060405260026040516118cd90615698565b6120e861394f565b6002546040516001600160a01b039091169063907dff97906121109085908590602001615976565b604051602081830303815290604052600260405161212d906156ae565b604051809103902061213e88613987565b6000806040518763ffffffff1660e01b815260040161216296959493929190615a6a565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b50505050505050565b60006121a3613576565b6121ab6132c9565b6003546113cf90849084906001600160a01b0316613a3b565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610b5f918691016156e5565b60606122006132b5565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561223857600080fd5b505afa15801561224c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c3e9190810190614971565b606061227e612804565b905060005b8151811015611ed657600082828151811061229a57fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016122dc91906156cf565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612308929190615984565b60206040518083038186803b15801561232057600080fd5b505afa158015612334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123589190810190614708565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906123b4908490849061595a565b60405180910390a15050600101612283565b6001546001600160a01b031633146123f05760405162461bcd60e51b8152600401610a7190615b27565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92612433926001600160a01b039182169291169061571c565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061246c6132b5565b6001600160a01b031663835e119c836040518263ffffffff1660e01b8152600401611a84919061594c565b60006124a16132b5565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610b5f929190615968565b6000806124da613576565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a721906125299075446562744d69677261746f724f6e457468657265756d60501b9060040161594c565b60206040518083038186803b15801561254157600080fd5b505afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125799190810190614708565b9050336001600160a01b038216148061263557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906125d0906b131959d858de53585c9ad95d60a21b9060040161594c565b60206040518083038186803b1580156125e857600080fd5b505afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126209190810190614708565b6001600160a01b0316336001600160a01b0316145b6126515760405162461bcd60e51b8152600401610a7190615c21565b600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191612680918891016156e5565b60206040518083038186803b15801561269857600080fd5b505afa1580156126ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126d091908101906149e2565b915081156127065760006126e5858385613a2e565b9050806127045760405162461bcd60e51b8152600401610a7190615bb1565b505b61270e613933565b6001600160a01b031663326a3cfb856040518263ffffffff1660e01b815260040161273991906156e5565b60206040518083038186803b15801561275157600080fd5b505afa158015612765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061278991908101906149e2565b925082156127fe57612799613933565b6001600160a01b031663de065f6785838660006040518563ffffffff1660e01b81526004016127cb9493929190615835565b600060405180830381600087803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b505050505b50915091565b60608061280f613e6f565b6040805160028082526060808301845293945090916020830190803883390190505090506b526577617264457363726f7760a01b8160008151811061285057fe5b6020026020010181815250506d537570706c795363686564756c6560901b8160018151811061287b57fe5b6020026020010181815250506128918282613fb8565b9250505090565b6128a0613400565b6128a86132c9565b6128b06132b5565b6003546040516285c0d160e31b81526001600160a01b039283169263042e0688926116029291169085906004016158c3565b6000546001600160a01b031681565b600085846128ff8282613388565b6129076132c9565b61290f6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612952928e92909116908d908d908d9085906000908f908f906004016157bd565b6040805180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129a39190810190614b99565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b612a1f6130af565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906112839083906156f3565b612a72613400565b612a7a6132c9565b612a826132b5565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a92612ab3929116906004016156e5565b600060405180830381600087803b158015612acd57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b565b6000806000612af06132c9565b612af86133e9565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c92612b2b9291169088906004016158c3565b606060405180830381600087803b158015612b4557600080fd5b505af1158015610e45573d6000803e3d6000fd5b612b6161406d565b600480546001600160a01b0319166001600160a01b038316179055611635816140db565b6000612b8f6132b5565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b8152600401610b5f91906156e5565b6000612bc46132b5565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b8152600401610b5f91906156e5565b6000612bf9613521565b612c01613576565b600354612c17906001600160a01b0316836135b6565b50600354612c2f906001600160a01b03168484613a2e565b5060019392505050565b612c4161394f565b6002546040516001600160a01b039091169063907dff9790612c699085908590602001615976565b604051602081830303815290604052600260405161212d90615662565b612c8e613400565b612c966132c9565b612c9e6132b5565b60035460405163644bb89960e11b81526001600160a01b039283169263c897713292612ab3929116906004016156e5565b612cd761414d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612d01613400565b612d096132c9565b612d116132b5565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b492612d4792879290911690869060040161580d565b600060405180830381600087803b158015612d6157600080fd5b505af1158015612d75573d6000803e3d6000fd5b505050505050565b60008382612d8b8282613388565b612d936132c9565b612d9b6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612dde928c92909116908b908b908b908590600090829082906004016157bd565b6040805180830381600087803b158015612df757600080fd5b505af1158015612e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e2f9190810190614b99565b50979650505050505050565b6000612e456132b5565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612e729291906158c3565b60206040518083038186803b158015612e8a57600080fd5b505afa158015612e9e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113cf91908101906149e2565b6003546001600160a01b031681565b611635613e3d565b6000612ee36132b5565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e91908101906149e2565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91612e7291879187910161571c565b612f8f613400565b612f976132c9565b612f9f6132b5565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b6292612d4792879290911690869060040161580d565b6004546001600160a01b031681565b6002546001600160a01b031681565b600083826130018282613388565b6130096132c9565b6130116133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d2926130539291169081908b908b908b908490600090829082906004016157bd565b6040805180830381600087803b15801561306c57600080fd5b505af1158015613080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130a49190810190614b99565b509695505050505050565b6000546001600160a01b03163314612ae15760405162461bcd60e51b8152600401610a7190615c01565b60006001600160a01b038316158015906130fc57506001600160a01b0383163014155b801561311657506002546001600160a01b03848116911614155b6131325760405162461bcd60e51b8152600401610a7190615b0a565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69187916131cd91879186916370a0823191613171918791016156e5565b60206040518083038186803b15801561318957600080fd5b505afa15801561319d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131c191908101906149e2565b9063ffffffff6134d416565b6040518363ffffffff1660e01b81526004016131ea9291906158c3565b600060405180830381600087803b15801561320457600080fd5b505af1158015613218573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f69250869161325b91879186916370a082319161103f918791016156e5565b6040518363ffffffff1660e01b81526004016132789291906158c3565b600060405180830381600087803b15801561329257600080fd5b505af11580156132a6573d6000803e3d6000fd5b50505050612c2f848484613491565b6000611c3e6524b9b9bab2b960d11b614177565b6002546001600160a01b031633148015906132ef57506003546001600160a01b03163314155b15612ae157600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff979061332e90849060200161594c565b604051602081830303815290604052600360405161334b906156a3565b604051809103902061335c88613987565b61336588613987565b60006040518763ffffffff1660e01b815260040161216296959493929190615aa4565b6133906141d4565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b81526004016133bd929190615976565b60006040518083038186803b1580156133d557600080fd5b505afa158015612d75573d6000803e3d6000fd5b6000611c3e6822bc31b430b733b2b960b91b614177565b6134086141d4565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561344057600080fd5b505afa158015610b0f573d6000803e3d6000fd5b6000611c3e722932bbb0b93239a234b9ba3934b13aba34b7b760691b614177565b6000611c3e6d537570706c795363686564756c6560901b614177565b6002546040516001600160a01b039091169063907dff97906134b790849060200161594c565b604051602081830303815290604052600360405161334b906156da565b6000828211156134f65760405162461bcd60e51b8152600401610a7190615ba1565b50900390565b6000828201838110156113cf5760405162461bcd60e51b8152600401610a7190615b74565b6002546001600160a01b031633141561353957612ae1565b613542336141ee565b1561355e57600380546001600160a01b03191633179055612ae1565b60405162461bcd60e51b8152600401610a7190615c99565b61357e6141d4565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561344057600080fd5b6008546040516321f8a72160e01b815260009182916101009091046001600160a01b0316906321f8a721906135fe906b131959d858de53585c9ad95d60a21b9060040161594c565b60206040518083038186803b15801561361657600080fd5b505afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061364e9190810190614708565b6003549091506001600160a01b03161580159061367857506003546001600160a01b038281169116145b806136945750806001600160a01b0316846001600160a01b0316145b156136a3576001915050610ccc565b60006136ad6132b5565b6001600160a01b031663d37c4d8b86631cd554d160e21b6040518363ffffffff1660e01b81526004016136e19291906158c3565b60206040518083038186803b1580156136f957600080fd5b505afa15801561370d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373191908101906149e2565b1115610cc6576000806137426132b5565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938b93909116916370a082319161377d918591016156e5565b60206040518083038186803b15801561379557600080fd5b505afa1580156137a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137cd91908101906149e2565b6040518363ffffffff1660e01b81526004016137ea9291906158c3565b604080518083038186803b15801561380157600080fd5b505afa158015613815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138399190810190614b69565b915091508185111561385d5760405162461bcd60e51b8152600401610a7190615bd1565b801561387b5760405162461bcd60e51b8152600401610a7190615be1565b50600195945050505050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c91879189916138cd918891879163dd62ed3e9161317191889188910161571c565b6040518463ffffffff1660e01b81526004016138eb9392919061580d565b600060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506139288484846130d9565b90505b949350505050565b6000611c3e6d2932bbb0b93222b9b1b937bbab1960911b614177565b6139576133e9565b6001600160a01b0316336001600160a01b031614612ae15760405162461bcd60e51b8152600401610a7190615b54565b6001600160a01b031690565b6000611c3e704c697175696461746f725265776172647360781b614177565b6002546040516001600160a01b039091169063907dff97906139dc90869086908690602001615cff565b60405160208183030381529060405260026040516139f9906156c4565b6040518091039020613a0a89613987565b6000806040518763ffffffff1660e01b815260040161183d96959493929190615a6a565b60006113cc8484846130d9565b6000613a45613993565b6001600160a01b031663c00007b0856040518263ffffffff1660e01b8152600401613a7091906156e5565b600060405180830381600087803b158015613a8a57600080fd5b505af1158015613a9e573d6000803e3d6000fd5b505050506000806000613aaf6132b5565b6001600160a01b03166372c658168860006040518363ffffffff1660e01b8152600401613add9291906158a8565b606060405180830381600087803b158015613af757600080fd5b505af1158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b2f9190810190614bc9565b919450925090508015613ba857613b44613933565b6001600160a01b031663de065f678889848a6040518563ffffffff1660e01b8152600401613b759493929190615873565b600060405180830381600087803b158015613b8f57600080fd5b505af1158015613ba3573d6000803e3d6000fd5b505050505b613bb4878484886139b2565b6000613bbe61459d565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b158015613bf657600080fd5b505afa158015613c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c2e91908101906149e2565b90506000613c3a61459d565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b158015613c7257600080fd5b505afa158015613c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613caa91908101906149e2565b90506000613cb661459d565b6001600160a01b0316635616c9578b6040518263ffffffff1660e01b8152600401613ce191906156e5565b60206040518083038186803b158015613cf957600080fd5b505afa158015613d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d319190810190614708565b90506000613d408b8386613a2e565b905080613d5f5760405162461bcd60e51b8152600401610a7190615b84565b6000613d6c8c8b86613a2e565b905080613d8b5760405162461bcd60e51b8152600401610a7190615c5c565b8715613e2b576000613da58d613d9f613993565b8b613a2e565b905080613dc45760405162461bcd60e51b8152600401610a7190615c11565b613dcc613993565b6001600160a01b0316633c6b16ab8a6040518263ffffffff1660e01b8152600401613df7919061594c565b600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b50505050505b5060019b9a5050505050505050505050565b60405162461bcd60e51b8152600401610a7190615bc1565b6000611c3e6b526577617264457363726f7760a01b614177565b60408051600780825261010082019092526060916020820160e0803883390190505090506b53797374656d53746174757360a01b81600081518110613eb057fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110613ed657fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110613ef957fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600381518110613f2957fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600481518110613f5757fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600581518110613f7e57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600681518110613fa957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613fe8578160200160208202803883390190505b50905060005b835181101561402a5783818151811061400357fe5b602002602001015182828151811061401757fe5b6020908102919091010152600101613fee565b5060005b8251811015611fdb5782818151811061404357fe5b602002602001015182828651018151811061405a57fe5b602090810291909101015260010161402e565b6002546001600160a01b0316331480159061409357506003546001600160a01b03163314155b156140ab57600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614612ae15760405162461bcd60e51b8152600401610a7190615b44565b6002546040516001600160a01b039091169063907dff97906141019084906020016156e5565b604051602081830303815290604052600160405161411e906156b9565b6040519081900381206001600160e01b031960e086901b16825261160293929160009081908190600401615a0b565b6002546001600160a01b03163314612ae15760405162461bcd60e51b8152600401610a7190615c99565b60008181526009602090815260408083205490516001600160a01b0390911691821515916141a791869101615678565b60405160208183030381529060405290611fdb5760405162461bcd60e51b8152600401610a719190615af9565b6000611c3e6b53797374656d53746174757360a01b614177565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a7219061422290600401615ca9565b60206040518083038186803b15801561423a57600080fd5b505afa15801561424e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142729190810190614708565b6001600160a01b0316826001600160a01b0316148061432357506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906142be90600401615c31565b60206040518083038186803b1580156142d657600080fd5b505afa1580156142ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061430e9190810190614708565b6001600160a01b0316826001600160a01b0316145b806143c057506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061435b90600401615b1a565b60206040518083038186803b15801561437357600080fd5b505afa158015614387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143ab9190810190614708565b6001600160a01b0316826001600160a01b0316145b8061445d57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906143f890600401615b94565b60206040518083038186803b15801561441057600080fd5b505afa158015614424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144489190810190614708565b6001600160a01b0316826001600160a01b0316145b806144fa57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061449590600401615b37565b60206040518083038186803b1580156144ad57600080fd5b505afa1580156144c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144e59190810190614708565b6001600160a01b0316826001600160a01b0316145b80610baf57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061453290600401615c7c565b60206040518083038186803b15801561454a57600080fd5b505afa15801561455e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145829190810190614708565b6001600160a01b0316826001600160a01b0316149050919050565b6000611c3e692634b8bab4b230ba37b960b11b614177565b604080518082019091526000808252602082015290565b8035610ccc81615e18565b8051610ccc81615e18565b600082601f8301126145f357600080fd5b815161460661460182615d5c565b615d35565b9150818183526020840193506020810190508385602084028201111561462b57600080fd5b60005b8381101561465757816146418882614677565b845250602092830192919091019060010161462e565b5050505092915050565b8051610ccc81615e2c565b8035610ccc81615e35565b8051610ccc81615e35565b8051610ccc81615e3e565b8035610ccc81615e3e565b6000604082840312156146aa57600080fd5b6146b46040615d35565b905060006146c284846146df565b82525060206146d384848301614677565b60208301525092915050565b8051610ccc81615e47565b6000602082840312156146fc57600080fd5b600061392b84846145cc565b60006020828403121561471a57600080fd5b600061392b84846145d7565b6000806040838503121561473957600080fd5b600061474585856145cc565b9250506020614756858286016145cc565b9150509250929050565b60008060006060848603121561477557600080fd5b600061478186866145cc565b9350506020614792868287016145cc565b92505060406147a38682870161466c565b9150509250925092565b600080604083850312156147c057600080fd5b60006147cc85856145cc565b92505060206147568582860161466c565b6000806000606084860312156147f257600080fd5b60006147fe86866145cc565b93505060206147928682870161466c565b6000806000806080858703121561482557600080fd5b600061483187876145cc565b94505060206148428782880161466c565b93505060406148538782880161466c565b92505060606148648782880161466c565b91505092959194509250565b60008060008060008060c0878903121561488957600080fd5b600061489589896145cc565b96505060206148a689828a0161466c565b95505060406148b789828a0161466c565b94505060606148c889828a0161466c565b93505060806148d989828a016145cc565b92505060a06148ea89828a0161466c565b9150509295509295509295565b60008060008060008060c0878903121561491057600080fd5b600061491c89896145cc565b965050602061492d89828a0161466c565b955050604061493e89828a0161466c565b945050606061494f89828a0161466c565b935050608061496089828a0161466c565b92505060a06148ea89828a016145cc565b60006020828403121561498357600080fd5b815167ffffffffffffffff81111561499a57600080fd5b61392b848285016145e2565b6000602082840312156149b857600080fd5b600061392b8484614661565b6000602082840312156149d657600080fd5b600061392b848461466c565b6000602082840312156149f457600080fd5b600061392b8484614677565b60008060008060808587031215614a1657600080fd5b6000614831878761466c565b600080600060608486031215614a3757600080fd5b60006147fe868661466c565b600080600080600060a08688031215614a5b57600080fd5b6000614a67888861466c565b9550506020614a788882890161466c565b9450506040614a898882890161466c565b9350506060614a9a888289016145cc565b9250506080614aab8882890161466c565b9150509295509295909350565b600080600080600060a08688031215614ad057600080fd5b6000614adc888861466c565b9550506020614aed8882890161466c565b9450506040614afe8882890161466c565b9350506060614a9a8882890161466c565b600060208284031215614b2157600080fd5b600061392b8484614682565b600060208284031215614b3f57600080fd5b600061392b848461468d565b600060408284031215614b5d57600080fd5b600061392b8484614698565b60008060408385031215614b7c57600080fd5b6000614b888585614677565b925050602061475685828601614661565b60008060408385031215614bac57600080fd5b6000614bb88585614677565b925050602061475685828601614682565b600080600060608486031215614bde57600080fd5b6000614bea8686614677565b9350506020614bfb86828701614677565b92505060406147a386828701614677565b6000614c188383614c9a565b505060200190565b614c2981615dbe565b82525050565b614c2981615d90565b6000614c4382615d83565b614c4d8185615d87565b9350614c5883615d7d565b8060005b83811015614c86578151614c708882614c0c565b9750614c7b83615d7d565b925050600101614c5c565b509495945050505050565b614c2981615d9b565b614c298161122d565b614c29614caf8261122d565b61122d565b6000614cbf82615d83565b614cc98185615d87565b9350614cd9818560208601615de2565b614ce281615e0e565b9093019392505050565b614c2981615da0565b614c2981615dc9565b614c2981615dd7565b6000614d14601f83615d87565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b75446562744d69677261746f724f6e4f7074696d69736d60501b9052565b6000614d6b603583615d87565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b6000614dd9601383615d87565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000614e08601e83615d87565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000614e41604483610bb2565b7f41746f6d696353796e746845786368616e676528616464726573732c6279746581527f7333322c75696e743235362c627974657333322c75696e743235362c616464726020820152636573732960e01b604082015260440192915050565b6000614ead601483615d87565b73616c6c20656e747269657320617265207a65726f60601b815260200192915050565b6000614edd601b83615d87565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614f16602483615d87565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b6000614f70601883615d87565b7f4e657720657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000614fa9602883610bb2565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000614ff3601e83615d87565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061502c601383615d87565b721cdb9e081d1c985b9cd9995c8819985a5b1959606a1b815260200192915050565b600061505b601b83615d87565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000615094603183610bb2565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b60006150e7601183610bb2565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615114603e83610bb2565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000615173602683615d87565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b60006151bb601e83615d87565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006151f4601b83615d87565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b600061522d602f83615d87565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061527e602483615d87565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b60006152c4602183610bb2565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000615307602783610bb2565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000615350602483615d87565b7f4f6e6c79204c3120446562744d69677261746f72206f72204c65676163794d618152631c9ad95d60e21b602082015260400192915050565b6000615396601a83610bb2565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006153cf603283610bb2565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b6000615439601983610bb2565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615472602983615d87565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b60006154bd601583615d87565b7463616e6e6f742073656c66206c697175696461746560581b815260200192915050565b6411195c1bdd60da1b9052565b60006154fb601583615d87565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b600061552c601883615d87565b7f4f6c6420657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000615565602183610bb2565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006155a8601783615d87565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b6000615606601e83615d87565b7f63616e6e6f74206d69677261746520746f2073616d6520616464726573730000815260200192915050565b732932bbb0b93222b9b1b937bbab19233937bd32b760611b9052565b614c2981615db8565b6000610ccc82614e34565b6000610ccc82614f9c565b6000610ccc82615087565b6000615683826150da565b915061568f8284614ca3565b50602001919050565b6000610ccc82615107565b6000610ccc826152b7565b6000610ccc826152fa565b6000610ccc82615389565b6000610ccc826153c2565b60006156838261542c565b6000610ccc82615558565b60208101610ccc8284614c2f565b60208101610ccc8284614c20565b6040810161570f8285614c20565b6113cf6020830184614c9a565b6040810161572a8285614c2f565b6113cf6020830184614c2f565b6101208101615746828c614c2f565b615753602083018b614c2f565b615760604083018a614c9a565b61576d6060830189614c9a565b61577a6080830188614c9a565b61578760a0830187614c20565b61579460c0830186614c91565b6157a160e0830185614c2f565b6157af610100830184614c9a565b9a9950505050505050505050565b61012081016157cc828c614c2f565b6157d9602083018b614c2f565b6157e6604083018a614c9a565b6157f36060830189614c9a565b6158006080830188614c9a565b61578760a0830187614c2f565b6060810161581b8286614c2f565b6158286020830185614c2f565b61392b6040830184614c9a565b608081016158438287614c2f565b6158506020830186614c2f565b61585d6040830185614c9a565b61586a6060830184614cfe565b95945050505050565b608081016158818287614c2f565b61588e6020830186614c2f565b61589b6040830185614c9a565b61586a6060830184614c9a565b604081016158b68285614c2f565b6113cf6020830184614c91565b6040810161570f8285614c2f565b60e081016158df828a614c2f565b6158ec6020830189614c9a565b6158f96040830188614c9a565b6159066060830187614c9a565b6159136080830186614c2f565b61592060a0830185614c9a565b611bb860c0830184614c9a565b602080825281016113cf8184614c38565b60208101610ccc8284614c91565b60208101610ccc8284614c9a565b6040810161572a8285614c9a565b604081016158b68285614c9a565b6040810161570f8285614c9a565b604081016159928285614c9a565b81810360208301526113cc8184614cb4565b60a081016159b28288614c9a565b6159bf6020830187614c9a565b6159cc6040830186614c9a565b6159d96060830185614c9a565b6159e66080830184614c2f565b9695505050505050565b606081016159fe8286614c9a565b6158286020830185614c9a565b60c08082528101615a1c8189614cb4565b9050615a2b6020830188614cfe565b615a386040830187614c9a565b615a456060830186614cf5565b615a526080830185614cf5565b615a5f60a0830184614cf5565b979650505050505050565b60c08082528101615a7b8189614cb4565b9050615a8a6020830188614cfe565b615a976040830187614c9a565b615a456060830186614c9a565b60c08082528101615ab58189614cb4565b9050615ac46020830188614cfe565b615ad16040830187614c9a565b615ade6060830186614c9a565b615a526080830185614c9a565b60208101610ccc8284614cec565b602080825281016113cf8184614cb4565b60208082528101610baf81614d07565b60208101610bb282614d40565b60208082528101610baf81614d5e565b60208101610bb282614db5565b60208082528101610baf81614dcc565b60208082528101610baf81614dfb565b60208082528101610baf81614ea0565b60208082528101610baf81614ed0565b60208082528101610baf81614f09565b60208101610bb282614f4f565b60208082528101610baf81614fe6565b60208082528101610baf8161501f565b60208082528101610baf8161504e565b60208082528101610baf81615166565b60208082528101610baf816151ae565b60208082528101610baf816151e7565b60208082528101610baf81615220565b60208082528101610baf81615271565b60208082528101610baf81615343565b60208101610bb282615416565b60408101615c4b82615416565b8181036020830152610baf81614f63565b60208082528101610baf81615465565b60208082528101610baf816154b0565b60208101610bb2826154e1565b60208082528101610baf816154ee565b60208082528101610baf8161559b565b60208101610bb2826155d4565b60208082528101610baf816155f9565b60408101615cd382615632565b8181036020830152610baf8161551f565b60408101615cf28285614c9a565b6113cf6020830184614cec565b60608101615d0d8286614c9a565b615d1a6020830185614c9a565b61392b6040830184614c2f565b60208101610ccc828461564e565b60405181810167ffffffffffffffff81118282101715615d5457600080fd5b604052919050565b600067ffffffffffffffff821115615d7357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610baf82613987565b151590565b6000610baf82615d90565b67ffffffffffffffff1690565b60ff1690565b6000610baf82615da0565b6000610baf614caf8361122d565b6000610baf8261122d565b60005b83811015615dfd578181015183820152602001615de5565b83811115610b0f5750506000910152565b601f01601f191690565b615e2181615d90565b811461163557600080fd5b615e2181615d9b565b615e218161122d565b615e2181615da0565b615e2181615dab56fea365627a7a72315820de774aef1b9cb3fbc2804065764ab3d4ebe42c618fd3fd30dbbde73d16ea30146c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "snxRedeemed", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + } + ], + "name": "AccountLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "fromCurrencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "toAddress", + "type": "address" + } + ], + "name": "AtomicSynthExchange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ExchangeRebate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ExchangeReclaim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "ExchangeTracking", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "proxyAddress", + "type": "address" + } + ], + "name": "ProxyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "fromCurrencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "toAddress", + "type": "address" + } + ], + "name": "SynthExchange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newTokenState", + "type": "address" + } + ], + "name": "TokenStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DECIMALS", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "TOKEN_NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "TOKEN_SYMBOL", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "anySynthOrSNXRateIsInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "anyRateInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "availableCurrencyKeys", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "availableSynthCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "availableSynths", + "outputs": [ + { + "internalType": "contract ISynth", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "burnSecondary", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "burnForAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "burnSynthsToTarget", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "burnForAddress", + "type": "address" + } + ], + "name": "burnSynthsToTargetOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "collateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + } + ], + "name": "collateralisationRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "debtBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "fromCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "fromAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "toAddress", + "type": "address" + } + ], + "name": "emitAtomicSynthExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "emitExchangeRebate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "emitExchangeReclaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "emitExchangeTracking", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "fromCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "fromAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "toCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "toAddress", + "type": "address" + } + ], + "name": "emitSynthExchange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "exchange", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "minAmount", + "type": "uint256" + } + ], + "name": "exchangeAtomically", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "exchangeForAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "exchangeOnBehalf", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "exchangeForAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "rewardAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchangeOnBehalfWithTracking", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "rewardAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchangeWithTracking", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "rewardAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchangeWithTrackingForInitiator", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchangeWithVirtual", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "contract IVirtualSynth", + "name": "vSynth", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getFirstNonZeroEscrowIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "isWaitingPeriod", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "issueMaxSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "issueForAddress", + "type": "address" + } + ], + "name": "issueMaxSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issueSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "issueForAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issueSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "liquidateDelinquentAccount", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "escrowStartIndex", + "type": "uint256" + } + ], + "name": "liquidateDelinquentAccountEscrowIndex", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "liquidateSelf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "maxIssuableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "maxIssuable", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "migrateAccountBalances", + "outputs": [ + { + "internalType": "uint256", + "name": "totalEscrowRevoked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalLiquidBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "migrateEscrowBalanceToRewardEscrowV2", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "migrateEscrowContractBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "mintSecondary", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "mintSecondaryRewards", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proxy", + "outputs": [ + { + "internalType": "contract Proxy", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "remainingIssuableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "maxIssuable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "alreadyIssued", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSystemDebt", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "sUSD", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "setMessageSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + } + ], + "name": "setProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + } + ], + "name": "setTokenState", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "settle", + "outputs": [ + { + "internalType": "uint256", + "name": "reclaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "refunded", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "numEntriesSettled", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "contract ISynth", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "synthAddress", + "type": "address" + } + ], + "name": "synthsByAddress", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tokenState", + "outputs": [ + { + "internalType": "contract TokenState", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "totalIssuedSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "totalIssuedSynthsExcludeOtherCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "transferableSynthetix", + "outputs": [ + { + "internalType": "uint256", + "name": "transferable", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x211e634e869dad4b819b35fe75a3e7d6e2930ffba0004794012e00df31cfae1b", + "urls": [ + "bzz-raw://689771a8616f3b1987fe5cb35484784deeb603eb260a278df7f6301b5cb7db5d", + "dweb:/ipfs/QmPVHv194SxhmczBjh9U2Jhan1mhBZNddKrVbaeruvRakq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Synthetix.sol": "Synthetix" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Synthetix.sol": { + "keccak256": "0x211e634e869dad4b819b35fe75a3e7d6e2930ffba0004794012e00df31cfae1b", + "urls": [ + "bzz-raw://689771a8616f3b1987fe5cb35484784deeb603eb260a278df7f6301b5cb7db5d", + "dweb:/ipfs/QmPVHv194SxhmczBjh9U2Jhan1mhBZNddKrVbaeruvRakq" + ] + } + }, + "version": 1 + } + }, + "RewardEscrow": { + "bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e31461045d578063da7bd3e914610465578063ee1d036c14610491578063fec9f9da146104bd57610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b806370a082311461039157806371e780f3146103b7578063759b5225146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f1461031557806353a47bb7146103475780636b3905c41461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b6101ec6004803603602081101561038157600080fd5b50356001600160a01b0316610927565b6101ec600480360360208110156103a757600080fd5b50356001600160a01b0316610940565b6101ec61095b565b61034f610961565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b6101ec610ad0565b6102706004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610ad6565b6101ec600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610b45565b61019e600480360360208110156104d357600080fd5b50356001600160a01b0316610b58565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610ad6565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610ad6565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610b45565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6001546001600160a01b031681565b60006109328261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6002546001600160a01b031681565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610935565b6000610a598383610ad6565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b61010481565b610ade610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b0257fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b25575050505050905092915050565b6000610b518383610ad6565b6001610a5c565b610b60610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820eb2cae1a42ebf7b797c66e0653951365b2931f6d7d5d9d585deda6b977211b8164736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ISynthetix", + "name": "_synthetix", + "type": "address" + }, + { + "internalType": "contract IFeePool", + "name": "_feePool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newFeePool", + "type": "address" + } + ], + "name": "FeePoolUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newSynthetix", + "type": "address" + } + ], + "name": "SynthetixUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Vested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "VestingEntryCreated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_VESTING_ENTRIES", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "appendVestingEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "checkAccountSchedule", + "outputs": [ + { + "internalType": "uint256[520]", + "name": "", + "type": "uint256[520]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feePool", + "outputs": [ + { + "internalType": "contract IFeePool", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingEntry", + "outputs": [ + { + "internalType": "uint256[2]", + "name": "", + "type": "uint256[2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingScheduleEntry", + "outputs": [ + { + "internalType": "uint256[2]", + "name": "", + "type": "uint256[2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numVestingEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IFeePool", + "name": "_feePool", + "type": "address" + } + ], + "name": "setFeePool", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ISynthetix", + "name": "_synthetix", + "type": "address" + } + ], + "name": "setSynthetix", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthetix", + "outputs": [ + { + "internalType": "contract ISynthetix", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalEscrowedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalEscrowedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalVestedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "vest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vestingSchedules", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xe1a8c5405a7a4a61428b4cd11e2fc27091134f945e25d808137a053eb6a8f5db", + "urls": [ + "bzz-raw://cf47f909649acdae48c47f438b5b17c752cbe58d8f6ef62b0acd9592b23fa65e", + "dweb:/ipfs/Qmer62K4KZF6uAvqKXMSk2SCf5MLfNWNhCRdxZQp5EEMmu" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "RewardEscrow.sol": "RewardEscrow" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "RewardEscrow.sol": { + "keccak256": "0xe1a8c5405a7a4a61428b4cd11e2fc27091134f945e25d808137a053eb6a8f5db", + "urls": [ + "bzz-raw://cf47f909649acdae48c47f438b5b17c752cbe58d8f6ef62b0acd9592b23fa65e", + "dweb:/ipfs/Qmer62K4KZF6uAvqKXMSk2SCf5MLfNWNhCRdxZQp5EEMmu" + ] + } + }, + "version": 1 + } + }, + "RewardEscrowV2Frozen": { + "bytecode": "60806040526303bfc400600c556224ea00600d5562093a80600e55683635c9adc5dea000006011553480156200003457600080fd5b5060405162003df438038062003df483398101604081905262000057916200012f565b8181806249d400836001600160a01b038116620000915760405162461bcd60e51b81526004016200008890620001eb565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000de918490620001c5565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620002469050565b805162000129816200022c565b92915050565b600080604083850312156200014357600080fd5b60006200015185856200011c565b925050602062000164858286016200011c565b9150509250929050565b620001798162000218565b82525050565b620001798162000206565b600062000199601983620001fd565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001d582856200016e565b620001e460208301846200017f565b9392505050565b6020808252810162000129816200018a565b90815260200190565b60006001600160a01b03821662000129565b600062000129826000620001298262000206565b620002378162000206565b81146200024357600080fd5b50565b613b9e80620002566000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c1f565b6105a2565b005b6102a16105ea565b6040516102ae91906137f0565b60405180910390f35b6102bf6105f9565b6040516102ae91906137a6565b6102d461061a565b6040516102ae91906137b4565b6102976102ef366004612923565b610620565b610297610673565b61029761030a366004612a55565b6106d0565b6102d461031d366004612923565b610721565b6102d4610330366004612923565b61073c565b6102bf61074e565b6102d461034b3660046129b4565b610865565b6102d461035e366004612923565b6108c4565b610297610371366004612bc0565b6108d6565b6102d461098c565b61029761038c366004612c1f565b610992565b6103a461039f3660046129b4565b6109cf565b6040516102ae929190613a45565b6102d46109ff565b6103c2610a05565b6040516102ae9190613659565b6102976103dd366004612c1f565b610a14565b6102d4610a51565b6103a46103f83660046129b4565b610a57565b6102d461040b36600461295f565b610a91565b6102d461041e366004612923565b610b3e565b6102d4610b59565b6103c2610439366004612923565b610b5f565b610297610b7a565b610459610454366004612a55565b610cd0565b6040516102ae919061374d565b610297610474366004612923565b610e70565b610297610487366004612c1f565b61116e565b6102976111cd565b6102976104a2366004612923565b611269565b6104ba6104b536600461295f565b6113b9565b6040516102ae92919061399f565b6104d0611642565b6040516102ae919061373c565b6103c261170c565b6102d461171b565b6102d4611721565b610297610503366004612a55565b611727565b6102d46105163660046129b4565b6117f2565b6102d4610529366004612923565b611820565b61029761053c366004612b04565b611832565b61029761054f3660046129ee565b611a1d565b610297610562366004612aa2565b611a2b565b6102d4611bec565b61058261057d366004612a55565b611bf2565b6040516102ae9190613795565b61029761059d36600461295f565b611cde565b6105aa61201a565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137b4565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204690919063ffffffff16565b1190505b90565b600f5481565b61062861201a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613659565b61067b61201a565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204616565b6040516106c69291906139bf565b60405180910390a1565b6106d861206b565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061395f565b60405180910390fd5b61071c838383612085565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137b4565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108179190810190612941565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f612794565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba8161229d565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e9061229d565b9050801561095e57600060018301555b61096e848263ffffffff61204616565b9350505b506001016108da565b50801561071c5761071c33826122ce565b600d5481565b61099a61201a565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137b4565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201a565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137b4565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa5612794565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b178261229d565b9050610b29848263ffffffff61204616565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061364e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137d0565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e9190810190612941565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137c2565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127ab565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127ab565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd9612794565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123e9565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b81526004016107089061388f565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061397f565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612403565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612461565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613659565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c3d565b905060015b81811161071c576110566127d5565b61105e612461565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d929190613721565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612ba2565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612403565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247b16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201a565b600d548111156111985760405162461bcd60e51b81526004016107089061394f565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137b4565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061380f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b03918216929116906136f8565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138ef565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138bf565b6112be6124a3565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e99190613697565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c3d565b156113565760405162461bcd60e51b81526004016107089061398f565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613659565b60405180910390a250565b600060606113c56124b7565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b8152600401610708906138df565b826114125760405162461bcd60e51b8152600401610708906138ff565b60408051848152602080860282010190915283801561144b57816020015b611438612794565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204690919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124de565b61156b61253d565b6001600160a01b031663a9059cbb6115816124b7565b846040518363ffffffff1660e01b815260040161159f929190613721565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c01565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061375e565b60405180910390a2935093915050565b60608061164d612554565b60408051600380825260808201909252919250606091906020820183803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061169d57fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116c657fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116ef57fe5b60200260200101818152505061170582826125e6565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b03831661174d5760405162461bcd60e51b81526004016107089061384f565b61175561253d565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178493929190613667565b602060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d69190810190612c01565b6107115760405162461bcd60e51b8152600401610708906138cf565b6006602052816000526040600020818154811061180b57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118535760405162461bcd60e51b81526004016107089061393f565b61185b61201a565b84831461187a5760405162461bcd60e51b81526004016107089061396f565b8481146118995760405162461bcd60e51b81526004016107089061387f565b60005b85811015611a145760008787838181106118b257fe5b90506020020160206118c79190810190612923565b905060008686848181106118d757fe5b90506020020135905060008585858181106118ee57fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119315760405162461bcd60e51b81526004016107089061381f565b600b54611944908363ffffffff61204616565b600b556001600160a01b038316600090815260086020526040902054611970908363ffffffff61204616565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a5908263ffffffff61204616565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a01908590859042906139cd565b60405180910390a250505060010161189c565b50505050505050565b611a256126a2565b50505050565b6002544210611a4c5760405162461bcd60e51b81526004016107089061393f565b611a5461201a565b828114611a735760405162461bcd60e51b81526004016107089061392f565b60005b83811015611be5576000858583818110611a8c57fe5b9050602002016020611aa19190810190612923565b90506000848484818110611ab157fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611aff5760405162461bcd60e51b81526004016107089061397f565b6001600160a01b038216600090815260106020526040902054611b345760405162461bcd60e51b81526004016107089061388f565b611b5b826040518060400160405280426001600160401b0316815260200184815250612403565b6001600160a01b038216600090815260106020526040902054611b84908263ffffffff61247b16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd390429085906139bf565b60405180910390a25050600101611a76565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3457506001600160a01b0384166000908152600660205260409020545b838111611c51576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c80578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb457fe5b9060005260206000200154828281518110611ccb57fe5b6020908102919091010152600101611c86565b611ce66105f9565b611d025760405162461bcd60e51b8152600401610708906138bf565b611d0a6124a3565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d359190613713565b60206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d859190810190612c3d565b15611da25760405162461bcd60e51b81526004016107089061398f565b6001600160a01b038381166000908152600a6020526040902054163314611ddb5760405162461bcd60e51b81526004016107089061391f565b6000805b82811015611f5a57611def612794565b6001600160a01b038616600090815260056020526040812090868685818110611e1457fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f51573360009081526005602052604081208291878786818110611e7357fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec5908490612046565b336000908152600660205260409020909350858584818110611ee357fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2257fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611ddf565b506001600160a01b038416600090815260086020526040902054611f84908263ffffffff61247b16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fb6908263ffffffff61204616565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c9161200c919085908890889042906136b1565b60405180910390a250505050565b6000546001600160a01b031633146120445760405162461bcd60e51b81526004016107089061390f565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061382f565b600061208066119959541bdbdb60ca1b6126ba565b905090565b816120a25760405162461bcd60e51b81526004016107089061389f565b6000811180156120b45750600c548111155b6120d05760405162461bcd60e51b81526004016107089061383f565b600b546120e3908363ffffffff61204616565b600b556120ee61253d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121199190613659565b60206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121699190810190612c3d565b600b54111561218a5760405162461bcd60e51b8152600401610708906138af565b6001600160a01b038316600090815260086020526040902054428201906121b7908463ffffffff61204616565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224a91612046565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc09061228e9042908890889087906139e8565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c5576000610e69565b50506020015190565b6122d882826124de565b6001600160a01b038216600090815260096020526040902054612301908263ffffffff61204616565b6001600160a01b03831660009081526009602052604090205561232261253d565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161234f929190613721565b602060405180830381600087803b15801561236957600080fd5b505af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a19190810190612c01565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123dd9291906139bf565b60405180910390a25050565b60006120806b53797374656d53746174757360a01b6126ba565b600061240f8383612717565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612454928692613a1d565b60405180910390a2505050565b60006120806b526577617264457363726f7760a01b6126ba565b60008282111561249d5760405162461bcd60e51b81526004016107089061385f565b50900390565b60006120806524b9b9bab2b960d11b6126ba565b60006120807853796e746865746978427269646765546f4f7074696d69736d60381b6126ba565b600b546124f1908263ffffffff61247b16565b600b556001600160a01b03821660009081526008602052604090205461251d908263ffffffff61247b16565b6001600160a01b0390921660009081526008602052604090209190915550565b6000612080680a6f2dce8d0cae8d2f60bb1b6126ba565b60408051600380825260808201909252606091602082018380388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061259057fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125b457fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612616578160200160208202803883390190505b50905060005b83518110156126585783818151811061263157fe5b602002602001015182828151811061264557fe5b602090810291909101015260010161261c565b5060005b825181101561269b5782818151811061267157fe5b602002602001015182828651018151811061268857fe5b602090810291909101015260010161265c565b5092915050565b60405162461bcd60e51b81526004016107089061386f565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126ea9186910161362e565b6040516020818303038152906040529061269b5760405162461bcd60e51b815260040161070891906137fe565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b03909116178155878301516001918201559383526006825282208054808501825590835290822001839055925461278a91612046565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b35565b80516108be81613b35565b60008083601f84011261281b57600080fd5b5081356001600160401b0381111561283257600080fd5b60208301915083602082028301111561284a57600080fd5b9250929050565b60008083601f84011261286357600080fd5b5081356001600160401b0381111561287a57600080fd5b60208301915083604082028301111561284a57600080fd5b600082601f8301126128a357600080fd5b60026128b66128b182613a79565b613a53565b915081838560208402820111156128cc57600080fd5b60005b838110156128f857816128e28882612918565b84525060209283019291909101906001016128cf565b5050505092915050565b80516108be81613b49565b80356108be81613b52565b80516108be81613b52565b60006020828403121561293557600080fd5b60006108ba84846127f3565b60006020828403121561295357600080fd5b60006108ba84846127fe565b60008060006040848603121561297457600080fd5b600061298086866127f3565b93505060208401356001600160401b0381111561299c57600080fd5b6129a886828701612809565b92509250509250925092565b600080604083850312156129c757600080fd5b60006129d385856127f3565b92505060206129e48582860161290d565b9150509250929050565b60008060008060608587031215612a0457600080fd5b6000612a1087876127f3565b9450506020612a218782880161290d565b93505060408501356001600160401b03811115612a3d57600080fd5b612a4987828801612851565b95989497509550505050565b600080600060608486031215612a6a57600080fd5b6000612a7686866127f3565b9350506020612a878682870161290d565b9250506040612a988682870161290d565b9150509250925092565b60008060008060408587031215612ab857600080fd5b84356001600160401b03811115612ace57600080fd5b612ada87828801612809565b945094505060208501356001600160401b03811115612af857600080fd5b612a4987828801612809565b60008060008060008060608789031215612b1d57600080fd5b86356001600160401b03811115612b3357600080fd5b612b3f89828a01612809565b965096505060208701356001600160401b03811115612b5d57600080fd5b612b6989828a01612809565b945094505060408701356001600160401b03811115612b8757600080fd5b612b9389828a01612809565b92509250509295509295509295565b600060408284031215612bb457600080fd5b60006108ba8484612892565b60008060208385031215612bd357600080fd5b82356001600160401b03811115612be957600080fd5b612bf585828601612809565b92509250509250929050565b600060208284031215612c1357600080fd5b60006108ba8484612902565b600060208284031215612c3157600080fd5b60006108ba848461290d565b600060208284031215612c4f57600080fd5b60006108ba8484612918565b6000612c678383612e34565b505060200190565b6000612c7b83836135c1565b505060600190565b6000612c8f83836135f8565b505060400190565b612ca081613ad6565b82525050565b612ca081613aae565b6000612cba82613a9c565b612cc48185613aa0565b9350612ccf83613a96565b8060005b83811015612cfd578151612ce78882612c5b565b9750612cf283613a96565b925050600101612cd3565b509495945050505050565b6000612d1382613a9c565b612d1d8185613aa0565b9350612d2883613a96565b8060005b83811015612cfd578151612d408882612c6f565b9750612d4b83613a96565b925050600101612d2c565b6000612d6182613a9c565b612d6b8185613aa0565b9350612d7683613a96565b8060005b83811015612cfd578151612d8e8882612c83565b9750612d9983613a96565b925050600101612d7a565b6000612db08385613aa0565b93506001600160fb1b03831115612dc657600080fd5b602083029250612dd7838584613af3565b50500190565b6000612de882613a9c565b612df28185613aa0565b9350612dfd83613a96565b8060005b83811015612cfd578151612e158882612c5b565b9750612e2083613a96565b925050600101612e01565b612ca081613ab9565b612ca081610617565b612ca0612e4982610617565b610617565b612ca081613add565b6000612e6282613a9c565b612e6c8185613aa0565b9350612e7c818560208601613aff565b612e8581613b2b565b9093019392505050565b6000612e9c603583613aa0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ef3602483613aa0565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612f39601b83613aa0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612f72603383613aa0565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612fc7602483613aa0565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b600061300d601e83613aa0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613046601b83613aa0565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061307f603183613aa0565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b60006130d2601b83613aa0565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b600061310b601183613aa9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613138601783613aa0565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000613171604783613aa0565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b60006131e0601983613aa0565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613219601583613aa0565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b600061324a603983613aa0565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b60006132a9602483613aa0565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132ef601283613aa0565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b600061331d602f83613aa0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061337a602183613aa0565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aa0565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aa0565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b6000613453601c83613aa0565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b600061348c601983613aa9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134c5602883613aa0565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061350f602b83613aa0565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b600061355c601b83613aa0565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b6000613595601f83613aa0565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135d28482613625565b5060208201516135e56020850182612e34565b506040820151611a256040850182612e34565b805160408301906136098482613625565b506020820151611a256020850182612e34565b612ca081613ae8565b612ca081613aca565b6000613639826130fe565b91506136458284612e3d565b50602001919050565b60006136398261347f565b602081016108be8284612ca6565b606081016136758286612c97565b6136826020830185612ca6565b61368f6040830184612e34565b949350505050565b604081016136a58284612c97565b6108be60208301613361565b608081016136bf8288612c97565b6136cc6020830187612e34565b81810360408301526136df818587612da4565b90506136ee6060830184612e34565b9695505050505050565b604081016137068285612ca6565b610e696020830184612ca6565b604081016136a58284612ca6565b6040810161372f8285612ca6565b610e696020830184612e34565b60208082528101610e698184612caf565b60208082528101610e698184612d08565b60608082528101613770818688612da4565b905061377f6020830185612e34565b61378c6040830184612e34565b95945050505050565b60208082528101610e698184612ddd565b602081016108be8284612e2b565b602081016108be8284612e34565b604081016137068285612e34565b604081016137de8285612e34565b818103602083015261368f8184612e57565b602081016108be8284612e4e565b60208082528101610e698184612e57565b602080825281016108be81612e8f565b602080825281016108be81612ee6565b602080825281016108be81612f2c565b602080825281016108be81612f65565b602080825281016108be81612fba565b602080825281016108be81613000565b602080825281016108be81613039565b602080825281016108be81613072565b602080825281016108be816130c5565b602080825281016108be8161312b565b602080825281016108be81613164565b602080825281016108be816131d3565b602080825281016108be8161320c565b602080825281016108be8161323d565b602080825281016108be8161329c565b602080825281016108be816132e2565b602080825281016108be81613310565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613446565b602080825281016108be816134b8565b602080825281016108be81613502565b602080825281016108be8161354f565b602080825281016108be81613588565b604081016139ad8285612e34565b818103602083015261368f8184612d56565b6040810161372f8285612e34565b606081016139db8286612e34565b6136826020830185612e34565b608081016139f68287612e34565b613a036020830186612e34565b613a106040830185612e34565b61378c6060830184612e34565b60608101613a2b8286612e34565b613a386020830185612e34565b61368f604083018461361c565b6040810161372f8285613625565b6040518181016001600160401b0381118282101715613a7157600080fd5b604052919050565b60006001600160401b03821115613a8f57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613abe565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aae565b60006108be82613aca565b82818337506000910152565b60005b83811015613b1a578181015183820152602001613b02565b83811115611a255750506000910152565b601f01601f191690565b613b3e81613aae565b811461116b57600080fd5b613b3e81613ab9565b613b3e8161061756fea365627a7a723158205b1e8291ec729d4a489c6fb1894678afe255a72962f441090281011ab358408f6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accountToMerge", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "destinationAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowAmountMerged", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "AccountMerged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "AccountMergingDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + } + ], + "name": "AccountMergingStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowedAmountMigrated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "BurnedForMigrationToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + } + ], + "name": "ImportedVestingEntry", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "name": "ImportedVestingSchedule", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "MaxAccountMergingDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "MaxEscrowDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newAmount", + "type": "uint256" + } + ], + "name": "MigrateEntriesThresholdAmountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vestedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "MigratedAccountEscrow", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "NominateAccountToMerge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Vested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "VestingEntryCreated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingIsOpen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingStartTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "accountVestingEntryIDs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "appendVestingEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "burnForMigration", + "outputs": [ + { + "internalType": "uint256", + "name": "escrowedAccountBalance", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry[]", + "name": "vestingEntries", + "type": "tuple[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "createEscrowEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + } + ], + "name": "getAccountVestingEntryIDs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "getVestingEntry", + "outputs": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "getVestingEntryClaimable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "getVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + } + ], + "name": "getVestingSchedules", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntryWithID[]", + "name": "", + "type": "tuple[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry[]", + "name": "", + "type": "tuple[]" + } + ], + "name": "importVestingEntries", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "escrowAmounts", + "type": "uint256[]" + } + ], + "name": "importVestingSchedule", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxAccountMergingDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "max_duration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "accountToMerge", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "mergeAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "escrowBalances", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "vestedBalances", + "type": "uint256[]" + } + ], + "name": "migrateAccountEscrowBalances", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "migrateEntriesThresholdAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "addressToMigrate", + "type": "address" + } + ], + "name": "migrateVestingSchedule", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nextEntryId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "nominateAccountToMerge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nominatedReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numVestingEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setAccountMergingDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setMaxAccountMergingWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setMaxEscrowDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setMigrateEntriesThresholdAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "setupExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "startMergingWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalBalancePendingMigration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalEscrowedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalEscrowedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalVestedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "vest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vestingSchedules", + "outputs": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xe6396d77a95dab5c7607a564844de3b32382f0f45992efac6445b24d6150e166", + "urls": [ + "bzz-raw://d4f427b1f8bcb8042960a8e49a6f1aedbf189b1fe7adb90643d507c9c9ba0df8", + "dweb:/ipfs/QmRkTKk7Qp8UUYVCLstTF8kpLJz1MqHZjSTpkub6KWEnh1" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "RewardEscrowV2Frozen/RewardEscrowV2Frozen.sol": "RewardEscrowV2Frozen" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "RewardEscrowV2Frozen/RewardEscrowV2Frozen.sol": { + "keccak256": "0xe6396d77a95dab5c7607a564844de3b32382f0f45992efac6445b24d6150e166", + "urls": [ + "bzz-raw://d4f427b1f8bcb8042960a8e49a6f1aedbf189b1fe7adb90643d507c9c9ba0df8", + "dweb:/ipfs/QmRkTKk7Qp8UUYVCLstTF8kpLJz1MqHZjSTpkub6KWEnh1" + ] + } + }, + "version": 1 + } + }, + "RewardEscrowV2Storage": { + "bytecode": "60806040523480156200001157600080fd5b5060405162001db138038062001db183398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b611adf80620002d26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806353401559116100c3578063ae5825491161007c578063ae58254914610294578063aefc4ccb146102a7578063c8949d11146102af578063cec7bdb1146102c4578063d5e6a906146102d7578063e6b2cf6c146102ea5761014d565b8063534015591461024c57806353a47bb71461025f578063614d08f81461027457806371e780f31461027c57806379ba5097146102845780638da5cb5b1461028c5761014d565b80633d1d26bd116101155780633d1d26bd146101d85780633e21e59a146101eb57806343ba57df146101fe57806345626bd61461021157806352580bb71461023157806352f445ca146102395761014d565b80631627540c14610152578063204b676a14610167578063227d517a1461019057806327f071d2146101a3578063326a3cfb146101c5575b600080fd5b6101656101603660046112fa565b6102f2565b005b61017a6101753660046112fa565b610350565b60405161018791906118c9565b60405180910390f35b61017a61019e3660046112fa565b6103af565b6101b66101b136600461138a565b610489565b604051610187939291906119e3565b61017a6101d33660046112fa565b610608565b6101656101e63660046113f5565b610681565b6101656101f9366004611320565b610716565b61017a61020c36600461135a565b6107c4565b61022461021f366004611320565b610903565b60405161018791906119d5565b61017a610a4f565b6101656102473660046112fa565b610a55565b61016561025a366004611320565b610aa8565b610267610bca565b6040516101879190611885565b61017a610bd9565b61017a610bf5565b610165610c27565b610267610cc3565b61017a6102a2366004611320565b610cd2565b610267610dd5565b6102b7610de4565b60405161018791906118d7565b6101656102d2366004611320565b610df3565b6101656102e53660046113d7565b610ea7565b61017a61100f565b6102fa611015565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610345908390611885565b60405180910390a150565b600b546000906001600160a01b03166103845760405162461bcd60e51b815260040161037b906119b5565b60405180910390fd5b6001600160a01b0382166000908152600460205260409020546103a683611041565b0190505b919050565b600b546000906001600160a01b03166103da5760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600760205260409020548061048057600b5460405163113ea8bd60e11b81526001600160a01b039091169063227d517a90610428908690600401611885565b60206040518083038186803b15801561044057600080fd5b505afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104789190810190611431565b9150506103aa565b6104788161108f565b600b54600090819081906001600160a01b03166104b85760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146104e25760405162461bcd60e51b815260040161037b90611965565b600084116105025760405162461bcd60e51b815260040161037b90611985565b61050b866110a8565b600061051687610350565b9050600081116105385760405162461bcd60e51b815260040161037b90611975565b8086106105575760405162461bcd60e51b815260040161037b90611955565b600080610562611242565b8891505b838210156105d9576105788a83610cd2565b92506105848a84610903565b6020810151909150156105ce5760208101516105a790889063ffffffff61116f16565b96506105c28a84836000015167ffffffffffffffff1661119b565b8787106105ce576105d9565b600190910190610566565b8382146105e657816105eb565b600182035b905190955067ffffffffffffffff16935050505093509350939050565b600b546000906001600160a01b03166106335760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600660205260409020548061048057600b5460405163326a3cfb60e01b81526001600160a01b039091169063326a3cfb90610428908690600401611885565b600b546001600160a01b03166106a95760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040161037b90611965565b60006106ed826106e1610bf5565b9063ffffffff6111e516565b905060008112156107105760405162461bcd60e51b815260040161037b906118e5565b60085550565b600b546001600160a01b031661073e5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146107685760405162461bcd60e51b815260040161037b90611965565b6000610777826106e1856103af565b9050600081121561079a5760405162461bcd60e51b815260040161037b906119a5565b6107a38161122b565b6001600160a01b039093166000908152600760205260409020929092555050565b600b546000906001600160a01b03166107ef5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146108195760405162461bcd60e51b815260040161037b90611965565b610826602083018361144f565b67ffffffffffffffff1661084c5760405162461bcd60e51b815260040161037b90611905565b6009546040805180820190915280610867602086018661144f565b63ffffffff90811682526001600160e01b036020878101358216938101939093526001600160a01b0388166000818152600385526040808220888352865280822087518154988801519095166401000000000294861663ffffffff199098169790971790941692909217909455928352600482528220805460018181018355918452919092200182905560098054909101905590505b92915050565b61090b611242565b600b546001600160a01b03166109335760405162461bcd60e51b815260040161037b906119b5565b61093b611242565b50506001600160a01b038216600090815260036020908152604080832084845282529182902082518084018452905463ffffffff80821683526001600160e01b036401000000009092048216838501908152855180870190965283519091168552511691830191909152600a54831080156109bf5750815167ffffffffffffffff16155b15610a4857600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd6906109f690879087906004016118ae565b604080518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a459190810190611413565b91505b5092915050565b600a5481565b610a5d611015565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610345908390611885565b600b546001600160a01b0316610ad05760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610afa5760405162461bcd60e51b815260040161037b90611965565b6001600160a01b03821660009081526003602090815260408083208484529091529020805463ffffffff1680610bb957600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd690610b5c90879087906004016118ae565b604080518083038186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bab9190810190611413565b5167ffffffffffffffff1690505b610bc484848361119b565b50505050565b6001546001600160a01b031681565b74526577617264457363726f77563253746f7261676560581b81565b600b546000906001600160a01b0316610c205760405162461bcd60e51b815260040161037b906119b5565b5060085490565b6001546001600160a01b03163314610c515760405162461bcd60e51b815260040161037b906118f5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610c94926001600160a01b0391821692911690611893565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600b546000906001600160a01b0316610cfd5760405162461bcd60e51b815260040161037b906119b5565b6000610d0884611041565b905080831015610d9c57600b5460405163ae58254960e01b81526001600160a01b039091169063ae58254990610d4490879087906004016118ae565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d949190810190611431565b9150506108fd565b6001600160a01b03841660009081526004602052604090208054828503908110610dc257fe5b90600052602060002001549150506108fd565b6002546001600160a01b031681565b600b546001600160a01b031681565b600b546001600160a01b0316610e1b5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610e455760405162461bcd60e51b815260040161037b90611965565b6000610e54826106e185610608565b90506000811215610e775760405162461bcd60e51b815260040161037b90611935565b610e808161122b565b6001600160a01b038416600090815260066020526040902055610ea282610681565b505050565b610eaf611015565b600b546001600160a01b031615610ed85760405162461bcd60e51b815260040161037b906119c5565b6001600160a01b038116610efe5760405162461bcd60e51b815260040161037b90611995565b600b80546001600160a01b0319166001600160a01b038316908117909155604080516339acb3db60e21b8152905163e6b2cf6c91600480820192602092909190829003018186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8a9190810190611431565b6009819055600a55600b54604080516371e780f360e01b815290516001600160a01b03909216916371e780f391600480820192602092909190829003018186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107109190810190611431565b60095481565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260040161037b90611945565b565b6001600160a01b0381166000908152600560205260408120548061048057600b54604051631025b3b560e11b81526001600160a01b039091169063204b676a90610428908690600401611885565b600060001982146110a057816108fd565b600092915050565b6001600160a01b03811660009081526005602052604090205461116c57600b54604051631025b3b560e11b81526000916001600160a01b03169063204b676a906110f6908590600401611885565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111469190810190611431565b90506111518161122b565b6001600160a01b038316600090815260056020526040902055505b50565b6000828201838110156111945760405162461bcd60e51b815260040161037b90611915565b9392505050565b6001600160a01b03831660009081526003602090815260408083208584529091529020816111c957426111cb565b815b815463ffffffff191663ffffffff91821617169055505050565b60008282018183128015906111fa5750838112155b8061120f575060008312801561120f57508381125b6111945760405162461bcd60e51b815260040161037b90611925565b6000811561123957816108fd565b50600019919050565b604080518082019091526000808252602082015290565b80356108fd81611a6d565b80356108fd81611a81565b80356108fd81611a8a565b60006040828403121561128c57600080fd5b50919050565b6000604082840312156112a457600080fd5b6112ae6040611a0b565b905060006112bc84846112ef565b82525060206112cd848483016112d9565b60208301525092915050565b80516108fd81611a8a565b80356108fd81611a93565b80516108fd81611a93565b60006020828403121561130c57600080fd5b60006113188484611259565b949350505050565b6000806040838503121561133357600080fd5b600061133f8585611259565b92505060206113508582860161126f565b9150509250929050565b6000806060838503121561136d57600080fd5b60006113798585611259565b92505060206113508582860161127a565b60008060006060848603121561139f57600080fd5b60006113ab8686611259565b93505060206113bc8682870161126f565b92505060406113cd8682870161126f565b9150509250925092565b6000602082840312156113e957600080fd5b60006113188484611264565b60006020828403121561140757600080fd5b6000611318848461126f565b60006040828403121561142557600080fd5b60006113188484611292565b60006020828403121561144357600080fd5b600061131884846112d9565b60006020828403121561146157600080fd5b600061131884846112e4565b61147681611a3b565b82525050565b61147681611a46565b61147681611a49565b600061149b603483611a32565b7f757064617465546f74616c457363726f77656442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b60006114f1603583611a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611548601883611a32565b7f76657374696e67207461726765742074696d65207a65726f0000000000000000815260200192915050565b6000611581601b83611a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006115ba602183611a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006115fd603483611a32565b7f757064617465457363726f774163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611653602f83611a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006116a4601383611a32565b720e6e8c2e4e892dcc8caf040e8dede40d0d2ced606b1b815260200192915050565b60006116d3603483611a32565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b6000611729601583611a32565b746e6f20656e747269657320746f206974657261746560581b815260200192915050565b600061175a601483611a32565b73746172676574416d6f756e74206973207a65726f60601b815260200192915050565b600061178a601683611a32565b7563616e6e6f74206265207a65726f206164647265737360501b815260200192915050565b60006117bc603483611a32565b7f7570646174655665737465644163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611812601083611a32565b6f19985b1b189858dac81b9bdd081cd95d60821b815260200192915050565b600061183e600b83611a32565b6a185b1c9958591e481cd95d60aa1b815260200192915050565b80516040830190611869848261187c565b506020820151610bc4602085018261147c565b61147681611a60565b602081016108fd828461146d565b604081016118a1828561146d565b611194602083018461146d565b604081016118bc828561146d565b611194602083018461147c565b602081016108fd828461147c565b602081016108fd8284611485565b602080825281016108fd8161148e565b602080825281016108fd816114e4565b602080825281016108fd8161153b565b602080825281016108fd81611574565b602080825281016108fd816115ad565b602080825281016108fd816115f0565b602080825281016108fd81611646565b602080825281016108fd81611697565b602080825281016108fd816116c6565b602080825281016108fd8161171c565b602080825281016108fd8161174d565b602080825281016108fd8161177d565b602080825281016108fd816117af565b602080825281016108fd81611805565b602080825281016108fd81611831565b604081016108fd8284611858565b606081016119f1828661147c565b6119fe602083018561147c565b611318604083018461147c565b60405181810167ffffffffffffffff81118282101715611a2a57600080fd5b604052919050565b90815260200190565b60006108fd82611a54565b90565b60006108fd82611a3b565b6001600160a01b031690565b67ffffffffffffffff1690565b611a7681611a3b565b811461116c57600080fd5b611a7681611a49565b611a7681611a46565b611a7681611a6056fea365627a7a723158203df976601b45ae71231d22f35e353eb3f7a50276d206aefe9df91a5f7938db826c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "accountVestingEntryIDs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry", + "name": "entry", + "type": "tuple" + } + ], + "name": "addVestingEntry", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fallbackRewardEscrow", + "outputs": [ + { + "internalType": "contract IRewardEscrowV2Frozen", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "firstNonFallbackId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nextEntryId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numVestingEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IRewardEscrowV2Frozen", + "name": "_fallbackRewardEscrow", + "type": "address" + } + ], + "name": "setFallbackRewardEscrow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryId", + "type": "uint256" + } + ], + "name": "setZeroAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + } + ], + "name": "setZeroAmountUntilTarget", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastEntryTime", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalEscrowedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalEscrowedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalVestedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "int256", + "name": "delta", + "type": "int256" + } + ], + "name": "updateEscrowAccountBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "int256", + "name": "delta", + "type": "int256" + } + ], + "name": "updateTotalEscrowedBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "int256", + "name": "delta", + "type": "int256" + } + ], + "name": "updateVestedAccountBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryId", + "type": "uint256" + } + ], + "name": "vestingSchedules", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry", + "name": "entry", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x4d370d01e7b6e8e332136b79a25e335672857603431ed00559f78a591292a831", + "urls": [ + "bzz-raw://662adbe16f16668f5c269561343e0a28c0bb29a8e2962006d5c7749853b73492", + "dweb:/ipfs/QmS6niBU7jWfdhc8ciM2nwqocJGeCLT4vLxnLvYPGkQzJB" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "RewardEscrowV2Storage.sol": "RewardEscrowV2Storage" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "RewardEscrowV2Storage.sol": { + "keccak256": "0x4d370d01e7b6e8e332136b79a25e335672857603431ed00559f78a591292a831", + "urls": [ + "bzz-raw://662adbe16f16668f5c269561343e0a28c0bb29a8e2962006d5c7749853b73492", + "dweb:/ipfs/QmS6niBU7jWfdhc8ciM2nwqocJGeCLT4vLxnLvYPGkQzJB" + ] + } + }, + "version": 1 + } + }, + "RewardEscrowV2": { + "bytecode": "60806040526303bfc4006007556224ea0060085562093a806009553480156200002757600080fd5b5060405162003adb38038062003adb8339810160408190526200004a916200011d565b8181806249d400836001600160a01b038116620000845760405162461bcd60e51b81526004016200007b90620001d9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d1918490620001b3565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506200023492505050565b805162000117816200021a565b92915050565b600080604083850312156200013157600080fd5b60006200013f85856200010a565b925050602062000152858286016200010a565b9150509250929050565b620001678162000206565b82525050565b6200016781620001f4565b600062000187601983620001eb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001c382856200015c565b620001d260208301846200016d565b9392505050565b60208082528101620001178162000178565b90815260200190565b60006001600160a01b03821662000117565b6000620001178260006200011782620001f4565b6200022581620001f4565b81146200023157600080fd5b50565b61389780620002446000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a08231116101515780638da5cb5b116100c3578063cd7b43dd11610087578063cd7b43dd14610528578063d3be14651461053b578063de065f671461054e578063e6b2cf6c14610561578063eac6248914610569578063f0b882ba1461058957610274565b80638da5cb5b146104df578063910a326d146104e7578063a0416ed3146104ef578063ae58254914610502578063b95375bd1461051557610274565b80637839b92f116101155780637839b92f146104685780637993e6991461047b57806379ba50971461048e5780637cc1d7561461049657806380d46f58146104a9578063899ffef4146104ca57610274565b806370a082311461041257806371e780f31461042557806373307e401461042d5780637418536014610440578063773ab39f1461044857610274565b806330104c5f116101ea57806345626bd6116101ae57806345626bd61461039957806346ba2d90146103b957806353a47bb7146103c15780635eb8cf25146103d65780636154c343146103de5780636dc05bd3146103ff57610274565b806330104c5f14610345578063326a3cfb1461035857806334c7fec91461036b57806337088ffc1461037e5780634525aabc1461038657610274565b80631627540c1161023c5780631627540c146102e9578063178c5655146102fc5780631bb47b4414610304578063204b676a14610317578063227d517a1461032a5780632af64bd31461033d57610274565b8063018c6c551461027957806304f3bcec1461028e57806305662986146102ac5780630961f7e9146102c15780630fcdefb7146102d4575b600080fd5b61028c610287366004612990565b61059c565b005b6102966105e4565b6040516102a3919061353f565b60405180910390f35b6102b46105f3565b6040516102a391906134f5565b6102b46102cf36600461265d565b610614565b6102dc610629565b6040516102a39190613503565b61028c6102f736600461265d565b61062f565b61028c610682565b61028c610312366004612828565b6106df565b6102dc61032536600461265d565b610730565b6102dc61033836600461265d565b6107bb565b6102b46107f0565b6102dc610353366004612791565b610907565b6102dc61036636600461265d565b610922565b61028c610379366004612913565b610957565b6102dc610b0b565b61028c610394366004612990565b610b11565b6103ac6103a7366004612791565b610b4e565b6040516102a391906136de565b6102dc610bda565b6103c9610be0565b6040516102a3919061337a565b6102dc610bef565b6103f16103ec366004612791565b610bf5565b6040516102a392919061375d565b6102dc61040d366004612702565b610c20565b6102dc61042036600461265d565b610c85565b6102dc610c90565b6103c961043b36600461265d565b610d0f565b61028c610d2a565b61045b610456366004612828565b610e80565b6040516102a3919061349c565b61028c61047636600461265d565b610fab565b61028c610489366004612990565b610fb6565b61028c611015565b61028c6104a436600461265d565b6110b1565b6104bc6104b7366004612702565b611201565b6040516102a39291906136ec565b6104d26114d2565b6040516102a3919061348b565b6103c961154a565b6102dc611559565b61028c6104fd366004612828565b61155f565b6102dc610510366004612791565b611659565b61028c610523366004612875565b6116e0565b61028c6105363660046127c1565b6116e8565b61028c610549366004612757565b6116f6565b61028c61055c3660046126a1565b611729565b6102dc6119f5565b61057c610577366004612828565b611a37565b6040516102a391906134e4565b61028c610597366004612702565b611ae8565b6105a4611e5e565b60088190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105d9908390613503565b60405180910390a150565b6003546001600160a01b031681565b60004261060d600954600a54611e8a90919063ffffffff16565b1190505b90565b60066020526000908152604090205460ff1681565b600a5481565b610637611e5e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105d990839061337a565b61068a611e5e565b42600a8190556009547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106c790829063ffffffff611e8a16565b6040516106d592919061370c565b60405180910390a1565b6106e7611eaf565b6001600160a01b0316336001600160a01b0316146107205760405162461bcd60e51b81526004016107179061369e565b60405180910390fd5b61072b838383611ec4565b505050565b600061073a612120565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610765919061337a565b60206040518083038186803b15801561077d57600080fd5b505afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b591908101906129ae565b92915050565b60006107c5612120565b6001600160a01b031663227d517a836040518263ffffffff1660e01b8152600401610765919061337a565b600060606107fc6114d2565b905060005b81518110156108fe57600082828151811061081857fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161086991869101613503565b60206040518083038186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b99190810190612683565b6001600160a01b03161415806108e457506000818152600460205260409020546001600160a01b0316155b156108f55760009350505050610611565b50600101610801565b50600191505090565b600061091b6109168484610b4e565b612143565b9392505050565b600061092c612120565b6001600160a01b031663326a3cfb836040518263ffffffff1660e01b8152600401610765919061337a565b336000610962612506565b6000805b85811015610a3e5761098a8588888481811061097e57fe5b90506020020135610b4e565b92508260200151600014610a36576109a183612143565b91508115610a23576109b1612120565b6001600160a01b03166353401559868989858181106109cc57fe5b905060200201356040518363ffffffff1660e01b81526004016109f09291906133e5565b600060405180830381600087803b158015610a0a57600080fd5b505af1158015610a1e573d6000803e3d6000fd5b505050505b610a33848363ffffffff611e8a16565b93505b600101610966565b508215610b0357610a50848585612174565b610a58612120565b6001600160a01b0316633e21e59a85610a708661226d565b6040518363ffffffff1660e01b8152600401610a8d9291906133e5565b600060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b50505050836001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc64285604051610afa92919061370c565b60405180910390a25b505050505050565b60085481565b610b19611e5e565b60078190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105d9908390613503565b610b56612506565b610b5e612120565b6001600160a01b03166345626bd684846040518363ffffffff1660e01b8152600401610b8b9291906133e5565b604080518083038186803b158015610ba257600080fd5b505afa158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b9190810190612972565b60025481565b6001546001600160a01b031681565b60075481565b600080610c00612506565b610c0a8585610b4e565b80516020909101519093509150505b9250929050565b6000610c2a612506565b60005b83811015610c7c57610c458686868481811061097e57fe5b91508160200151600014610c74576000610c5e83612143565b9050610c70848263ffffffff611e8a16565b9350505b600101610c2d565b50509392505050565b60006107b582610922565b6000610c9a612120565b6001600160a01b03166371e780f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b505afa158015610ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d0a91908101906129ae565b905090565b6005602052600090815260409020546001600160a01b031681565b6060610d346114d2565b905060005b8151811015610e7c576000828281518110610d5057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d92919061336f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dbe92919061351f565b60206040518083038186803b158015610dd657600080fd5b505afa158015610dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0e9190810190612683565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e6a9084908490613511565b60405180910390a15050600101610d39565b5050565b6060828201838111610ec6576040805160008082526020820190925290610ebd565b610eaa61251d565b815260200190600190039081610ea25790505b5091505061091b565b610ecf85610730565b811115610ee257610edf85610730565b90505b8381036000610eef612506565b606083604051908082528060200260200182016040528015610f2b57816020015b610f1861251d565b815260200190600190039081610f105790505b50905060005b84811015610f9e57610f458a8a8301611659565b9350610f518a85610b4e565b9250604051806060016040528084600001516001600160401b031681526020018460200151815260200185815250828281518110610f8b57fe5b6020908102919091010152600101610f31565b5098975050505050505050565b610fb3612296565b50565b610fbe611e5e565b600854811115610fe05760405162461bcd60e51b81526004016107179061368e565b60098190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105d9908390613503565b6001546001600160a01b0316331461103f5760405162461bcd60e51b81526004016107179061356e565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611082926001600160a01b03918216929116906133ca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156110da5760405162461bcd60e51b81526004016107179061363e565b6110e26105f3565b6110fe5760405162461bcd60e51b81526004016107179061360e565b6111066122ae565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b815260040161113191906133b0565b60206040518083038186803b15801561114957600080fd5b505afa15801561115d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061118191908101906129ae565b1561119e5760405162461bcd60e51b8152600401610717906136ce565b336000818152600560205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906111f690849061337a565b60405180910390a250565b6000606061120d6122c2565b6001600160a01b0316336001600160a01b03161461123d5760405162461bcd60e51b81526004016107179061362e565b8261125a5760405162461bcd60e51b81526004016107179061364e565b60408051848152602080860282010190915283801561129357816020015b611280612506565b8152602001906001900390816112785790505b50905060005b8381101561137a576112a9612506565b6112b98787878581811061097e57fe5b60208101519091501561137157808383815181106112d357fe5b60200260200101819052506112f5816020015185611e8a90919063ffffffff16565b93506112ff612120565b6001600160a01b031663534015598888888681811061131a57fe5b905060200201356040518363ffffffff1660e01b815260040161133e9291906133e5565b600060405180830381600087803b15801561135857600080fd5b505af115801561136c573d6000803e3d6000fd5b505050505b50600101611299565b50811561148357611389612120565b6001600160a01b031663cec7bdb1866113a18561226d565b6000036040518363ffffffff1660e01b81526004016113c19291906133e5565b600060405180830381600087803b1580156113db57600080fd5b505af11580156113ef573d6000803e3d6000fd5b505050506113fb6122e9565b6001600160a01b031663a9059cbb6114116122c2565b846040518363ffffffff1660e01b815260040161142f9291906133e5565b602060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114819190810190612954565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c858585426040516114c294939291906134ad565b60405180910390a2935093915050565b6060806114dd612300565b60408051600180825281830190925291925060609190602080830190803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061152d57fe5b60200260200101818152505061154382826123c5565b9250505090565b6000546001600160a01b031681565b60095481565b6001600160a01b0383166115855760405162461bcd60e51b81526004016107179061359e565b3360009081526006602052604090205460ff166115b45760405162461bcd60e51b8152600401610717906135ce565b6115bc6122e9565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b81526004016115eb93929190613388565b602060405180830381600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163d9190810190612954565b6107205760405162461bcd60e51b81526004016107179061361e565b6000611663612120565b6001600160a01b031663ae58254984846040518363ffffffff1660e01b81526004016116909291906133e5565b60206040518083038186803b1580156116a857600080fd5b505afa1580156116bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b91908101906129ae565b610b03612296565b6116f0612296565b50505050565b6116fe611e5e565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6117316122e9565b6001600160a01b0316336001600160a01b0316146117615760405162461bcd60e51b8152600401610717906135be565b6001600160a01b0384166117875760405162461bcd60e51b8152600401610717906136ae565b6001600160a01b0383166117ad5760405162461bcd60e51b81526004016107179061367e565b60008060006117ba612120565b6001600160a01b03166327f071d28886886040518463ffffffff1660e01b81526004016117e993929190613470565b606060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183b91908101906129cc565b925092509250848310156118615760405162461bcd60e51b81526004016107179061355e565b8483111561199257600061187b848763ffffffff61248116565b90506000611887612120565b6001600160a01b03166343ba57df8a6040518060400160405280876001600160401b03168152602001868152506040518363ffffffff1660e01b81526004016118d192919061340e565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192391908101906129ae565b90506000428411611935576000611945565b611945844263ffffffff61248116565b9050896001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428584866040516119869493929190613728565b60405180910390a25050505b61199d878787612174565b856001600160a01b0316876001600160a01b03167f18db3cc7a567ad50ae1cf6998aff0c3c2cff4e7c1338a1909def5a5a12ae23a18787866040516119e49392919061371a565b60405180910390a350505050505050565b60006119ff612120565b6001600160a01b031663e6b2cf6c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b60608282016000611a4786610730565b905080821115611a55578091505b848211611a74575050604080516000815260208101909152905061091b565b604080518684038082526020808202830101909252606090828015611aa3578160200160208202803883390190505b50905060005b82811015611adc57611abd89898301611659565b828281518110611ac957fe5b6020908102919091010152600101611aa9565b50979650505050505050565b611af06105f3565b611b0c5760405162461bcd60e51b81526004016107179061360e565b611b146122ae565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611b3f9190613400565b60206040518083038186803b158015611b5757600080fd5b505afa158015611b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b8f91908101906129ae565b15611bac5760405162461bcd60e51b8152600401610717906136ce565b6001600160a01b03838116600090815260056020526040902054163314611be55760405162461bcd60e51b81526004016107179061366e565b336000611bf0612506565b60005b84811015611d3b57611c0b8787878481811061097e57fe5b91508160200151600014611d3357611c21612120565b6001600160a01b0316635340155988888885818110611c3c57fe5b905060200201356040518363ffffffff1660e01b8152600401611c609291906133e5565b600060405180830381600087803b158015611c7a57600080fd5b505af1158015611c8e573d6000803e3d6000fd5b50505050611c9a612120565b6001600160a01b03166343ba57df85846040518363ffffffff1660e01b8152600401611cc792919061340e565b602060405180830381600087803b158015611ce157600080fd5b505af1158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d1991908101906129ae565b506020820151611d3090849063ffffffff611e8a16565b92505b600101611bf3565b50611d44612120565b6001600160a01b031663cec7bdb187611d5c8561226d565b6000036040518363ffffffff1660e01b8152600401611d7c9291906133e5565b600060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b50505050611db6612120565b6001600160a01b031663cec7bdb184611dce8561226d565b6040518363ffffffff1660e01b8152600401611deb9291906133e5565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050856001600160a01b03167f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c8484888842604051610afa959493929190613429565b6000546001600160a01b03163314611e885760405162461bcd60e51b81526004016107179061365e565b565b60008282018381101561091b5760405162461bcd60e51b81526004016107179061357e565b6000610d0a66119959541bdbdb60ca1b6124a9565b81611ee15760405162461bcd60e51b8152600401610717906135ee565b600081118015611ef357506007548111155b611f0f5760405162461bcd60e51b81526004016107179061358e565b611f17612120565b6001600160a01b031663cec7bdb184611f2f8561226d565b6040518363ffffffff1660e01b8152600401611f4c9291906133e5565b600060405180830381600087803b158015611f6657600080fd5b505af1158015611f7a573d6000803e3d6000fd5b50505050611f866122e9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611fb1919061337a565b60206040518083038186803b158015611fc957600080fd5b505afa158015611fdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200191908101906129ae565b612009610c90565b11156120275760405162461bcd60e51b8152600401610717906135fe565b4281016000612034612120565b6001600160a01b03166343ba57df866040518060400160405280866001600160401b03168152602001888152506040518363ffffffff1660e01b815260040161207e92919061340e565b602060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120d091908101906129ae565b9050846001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428686856040516121119493929190613728565b60405180910390a25050505050565b6000610d0a74526577617264457363726f77563253746f7261676560581b6124a9565b60008082602001516000146107b55782516001600160401b031642101561216b57600061091b565b50506020015190565b61217c612120565b6001600160a01b031663cec7bdb1846121948461226d565b6000036040518363ffffffff1660e01b81526004016121b49291906133e5565b600060405180830381600087803b1580156121ce57600080fd5b505af11580156121e2573d6000803e3d6000fd5b505050506121ee6122e9565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161221b9291906133e5565b602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f09190810190612954565b6000600160ff1b82106122925760405162461bcd60e51b8152600401610717906136be565b5090565b60405162461bcd60e51b8152600401610717906135de565b6000610d0a6524b9b9bab2b960d11b6124a9565b6000610d0a7853796e746865746978427269646765546f4f7074696d69736d60381b6124a9565b6000610d0a680a6f2dce8d0cae8d2f60bb1b6124a9565b60408051600480825260a0820190925260609160208201608080388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061233d57fe5b60200260200101818152505066119959541bdbdb60ca1b8160018151811061236157fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061238457fe5b60200260200101818152505074526577617264457363726f77563253746f7261676560581b816003815181106123b657fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156123f5578160200160208202803883390190505b50905060005b83518110156124375783818151811061241057fe5b602002602001015182828151811061242457fe5b60209081029190910101526001016123fb565b5060005b825181101561247a5782818151811061245057fe5b602002602001015182828651018151811061246757fe5b602090810291909101015260010161243b565b5092915050565b6000828211156124a35760405162461bcd60e51b8152600401610717906135ae565b50900390565b60008181526004602090815260408083205490516001600160a01b0390911691821515916124d99186910161334f565b6040516020818303038152906040529061247a5760405162461bcd60e51b8152600401610717919061354d565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b80356107b581613825565b80516107b581613825565b60008083601f84011261256f57600080fd5b5081356001600160401b0381111561258657600080fd5b602083019150836020820283011115610c1957600080fd5b60008083601f8401126125b057600080fd5b5081356001600160401b038111156125c757600080fd5b602083019150836040820283011115610c1957600080fd5b80356107b581613839565b80516107b581613839565b60006040828403121561260757600080fd5b612611604061376b565b9050600061261f8484612652565b825250602061263084848301612647565b60208301525092915050565b80356107b581613842565b80516107b581613842565b80516107b58161384b565b60006020828403121561266f57600080fd5b600061267b8484612547565b949350505050565b60006020828403121561269557600080fd5b600061267b8484612552565b600080600080608085870312156126b757600080fd5b60006126c38787612547565b94505060206126d487828801612547565b93505060406126e58782880161263c565b92505060606126f68782880161263c565b91505092959194509250565b60008060006040848603121561271757600080fd5b60006127238686612547565b93505060208401356001600160401b0381111561273f57600080fd5b61274b8682870161255d565b92509250509250925092565b6000806040838503121561276a57600080fd5b60006127768585612547565b9250506020612787858286016125df565b9150509250929050565b600080604083850312156127a457600080fd5b60006127b08585612547565b92505060206127878582860161263c565b600080600080606085870312156127d757600080fd5b60006127e38787612547565b94505060206127f48782880161263c565b93505060408501356001600160401b0381111561281057600080fd5b61281c8782880161259e565b95989497509550505050565b60008060006060848603121561283d57600080fd5b60006128498686612547565b935050602061285a8682870161263c565b925050604061286b8682870161263c565b9150509250925092565b6000806000806000806060878903121561288e57600080fd5b86356001600160401b038111156128a457600080fd5b6128b089828a0161255d565b965096505060208701356001600160401b038111156128ce57600080fd5b6128da89828a0161255d565b945094505060408701356001600160401b038111156128f857600080fd5b61290489828a0161255d565b92509250509295509295509295565b6000806020838503121561292657600080fd5b82356001600160401b0381111561293c57600080fd5b6129488582860161255d565b92509250509250929050565b60006020828403121561296657600080fd5b600061267b84846125ea565b60006040828403121561298457600080fd5b600061267b84846125f5565b6000602082840312156129a257600080fd5b600061267b848461263c565b6000602082840312156129c057600080fd5b600061267b8484612647565b6000806000606084860312156129e157600080fd5b60006129ed8686612647565b93505060206129fe86828701612647565b925050604061286b86828701612647565b6000612a1b8383612be8565b505060200190565b6000612a2f83836132eb565b505060600190565b6000612a438383613322565b505060400190565b612a54816137d1565b82525050565b612a54816137a9565b6000612a6e82613797565b612a78818561379b565b9350612a8383613791565b8060005b83811015612ab1578151612a9b8882612a0f565b9750612aa683613791565b925050600101612a87565b509495945050505050565b6000612ac782613797565b612ad1818561379b565b9350612adc83613791565b8060005b83811015612ab1578151612af48882612a23565b9750612aff83613791565b925050600101612ae0565b6000612b1582613797565b612b1f818561379b565b9350612b2a83613791565b8060005b83811015612ab1578151612b428882612a37565b9750612b4d83613791565b925050600101612b2e565b6000612b64838561379b565b93506001600160fb1b03831115612b7a57600080fd5b602083029250612b8b8385846137e3565b50500190565b6000612b9c82613797565b612ba6818561379b565b9350612bb183613791565b8060005b83811015612ab1578151612bc98882612a0f565b9750612bd483613791565b925050600101612bb5565b612a54816137b4565b612a5481610611565b612a54612bfd82610611565b610611565b612a54816137d8565b6000612c1682613797565b612c20818561379b565b9350612c308185602086016137ef565b612c398161381b565b9093019392505050565b6000612c50601c8361379b565b7f656e74726965732073756d206c657373207468616e2074617267657400000000815260200192915050565b6000612c8960358361379b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ce0601b8361379b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612d1960338361379b565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612d6e60248361379b565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000612db4601e8361379b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612ded600e8361379b565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000612e1760388361379b565b7f4f6e6c79207065726d697474656420657363726f772063726561746f7273206381527f616e2063726561746520657363726f7720656e74726965730000000000000000602082015260400192915050565b6000612e76601b8361379b565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000612eaf6011836137a4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612edc60178361379b565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612f1560478361379b565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000612f8460198361379b565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000612fbd60158361379b565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b6000612fee60398361379b565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b600061304d60248361379b565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b600061309360128361379b565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b60006130c1602f8361379b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061311e60218361379b565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b600061316160118361379b565b701c9958da5c1a595b9d081b9bdd081cd95d607a1b815260200192915050565b600061318e601c8361379b565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b60006131c76019836137a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061320060288361379b565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061324a600f8361379b565b6e1858d8dbdd5b9d081b9bdd081cd95d608a1b815260200192915050565b600061327560288361379b565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b60006132bf601f8361379b565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906132fc8482613346565b50602082015161330f6020850182612be8565b5060408201516116f06040850182612be8565b805160408301906133338482613346565b5060208201516116f06020850182612be8565b612a54816137c5565b600061335a82612ea2565b91506133668284612bf1565b50602001919050565b600061335a826131ba565b602081016107b58284612a5a565b606081016133968286612a4b565b6133a36020830185612a5a565b61267b6040830184612be8565b604081016133be8284612a4b565b6107b560208301613105565b604081016133d88285612a5a565b61091b6020830184612a5a565b604081016133f38285612a5a565b61091b6020830184612be8565b604081016133be8284612a5a565b6060810161341c8285612a5a565b61091b6020830184613322565b608081016134378288612a5a565b6134446020830187612be8565b8181036040830152613457818587612b58565b90506134666060830184612be8565b9695505050505050565b6060810161347e8286612a5a565b6133a36020830185612be8565b6020808252810161091b8184612a63565b6020808252810161091b8184612abc565b606080825281016134bf818688612b58565b90506134ce6020830185612be8565b6134db6040830184612be8565b95945050505050565b6020808252810161091b8184612b91565b602081016107b58284612bdf565b602081016107b58284612be8565b604081016133d88285612be8565b6040810161352d8285612be8565b818103602083015261267b8184612c0b565b602081016107b58284612c02565b6020808252810161091b8184612c0b565b602080825281016107b581612c43565b602080825281016107b581612c7c565b602080825281016107b581612cd3565b602080825281016107b581612d0c565b602080825281016107b581612d61565b602080825281016107b581612da7565b602080825281016107b581612de0565b602080825281016107b581612e0a565b602080825281016107b581612e69565b602080825281016107b581612ecf565b602080825281016107b581612f08565b602080825281016107b581612f77565b602080825281016107b581612fb0565b602080825281016107b581612fe1565b602080825281016107b581613040565b602080825281016107b581613086565b602080825281016107b5816130b4565b602080825281016107b581613111565b602080825281016107b581613154565b602080825281016107b581613181565b602080825281016107b5816131f3565b602080825281016107b58161323d565b602080825281016107b581613268565b602080825281016107b5816132b2565b604081016107b58284613322565b604081016136fa8285612be8565b818103602083015261267b8184612b0a565b604081016133f38285612be8565b6060810161347e8286612be8565b608081016137368287612be8565b6137436020830186612be8565b6137506040830185612be8565b6134db6060830184612be8565b604081016133f38285613346565b6040518181016001600160401b038111828210171561378957600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b60006107b5826137b9565b151590565b6001600160a01b031690565b6001600160401b031690565b60006107b5825b60006107b5826137a9565b82818337506000910152565b60005b8381101561380a5781810151838201526020016137f2565b838111156116f05750506000910152565b601f01601f191690565b61382e816137a9565b8114610fb357600080fd5b61382e816137b4565b61382e81610611565b61382e816137c556fea365627a7a7231582083b5ebc16b93b8e229b7b3d0385de8a5f25d2be8e44c79e3de7af1ea4dd2beb46c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accountToMerge", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "destinationAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowAmountMerged", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "AccountMerged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "AccountMergingDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + } + ], + "name": "AccountMergingStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowedAmountMigrated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "BurnedForMigrationToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "MaxAccountMergingDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "MaxEscrowDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "NominateAccountToMerge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endIndex", + "type": "uint256" + } + ], + "name": "Revoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Vested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "VestingEntryCreated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingIsOpen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accountMergingStartTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "accountVestingEntryIDs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "appendVestingEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "burnForMigration", + "outputs": [ + { + "internalType": "uint256", + "name": "escrowedAccountBalance", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry[]", + "name": "vestingEntries", + "type": "tuple[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "createEscrowEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + } + ], + "name": "getAccountVestingEntryIDs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "getVestingEntry", + "outputs": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "name": "getVestingEntryClaimable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "getVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + } + ], + "name": "getVestingSchedules", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "entryID", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntryWithID[]", + "name": "", + "type": "tuple[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry[]", + "name": "", + "type": "tuple[]" + } + ], + "name": "importVestingEntries", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxAccountMergingDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "max_duration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "mergeAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "name": "migrateAccountEscrowBalances", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "migrateVestingSchedule", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nextEntryId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "nominateAccountToMerge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nominatedReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numVestingEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "permittedEscrowCreators", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "targetAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startIndex", + "type": "uint256" + } + ], + "name": "revokeFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setAccountMergingDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setMaxAccountMergingWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "setMaxEscrowDuration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "bool", + "name": "permitted", + "type": "bool" + } + ], + "name": "setPermittedEscrowCreator", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "setupExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "startMergingWindow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalEscrowedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalEscrowedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalVestedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256[]", + "name": "entryIDs", + "type": "uint256[]" + } + ], + "name": "vest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "entryId", + "type": "uint256" + } + ], + "name": "vestingSchedules", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "internalType": "struct VestingEntries.VestingEntry", + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x28760db05f19e556c19376ccadd7952e3e4b3488df5c1cc406ac25579784e233", + "urls": [ + "bzz-raw://6307cbccfa1f2d7ca353c846a893e9d6547de62776fde8bd674dada178855d70", + "dweb:/ipfs/QmNX7xWE5yJTQEmMWGdLfRejbe3LXUBPduzTVWTzXxioSe" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "RewardEscrowV2.sol": "RewardEscrowV2" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "RewardEscrowV2.sol": { + "keccak256": "0x28760db05f19e556c19376ccadd7952e3e4b3488df5c1cc406ac25579784e233", + "urls": [ + "bzz-raw://6307cbccfa1f2d7ca353c846a893e9d6547de62776fde8bd674dada178855d70", + "dweb:/ipfs/QmNX7xWE5yJTQEmMWGdLfRejbe3LXUBPduzTVWTzXxioSe" + ] + } + }, + "version": 1 + } + }, + "SynthetixEscrow": { + "bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fe578063da7bd3e914610506578063ee1d036c14610532578063fec9f9da1461055e5761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b806370a082311461038c578063759b5225146103b257806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d901461033257806353a47bb71461033a57806363667eb71461035e5780636b3905c4146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610207610c9a565b6102076004803603602081101561037c57600080fd5b50356001600160a01b0316610c9f565b610207600480360360208110156103a257600080fd5b50356001600160a01b0316610cb8565b610342610cd3565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b610207610e6f565b6102bd6004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610e74565b6102076004803603604081101561054857600080fd5b506001600160a01b038135169060200135610ee3565b6101b96004803603602081101561057457600080fd5b50356001600160a01b0316610ef6565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610e74565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610ee3565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6001546001600160a01b031681565b600081565b6000610caa82610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031681565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cad565b6000610dd08383610e74565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b601481565b610e7c6110b6565b6001600160a01b0383166000908152600460205260409020805483908110610ea057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610ec3575050505050905092915050565b6000610eef8383610e74565b6001610dd3565b610efe610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820bc5b6fbdd8be8275942e328218389a026e3813568531275a446f9d0ed63b969a64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ISynthetix", + "name": "_synthetix", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newSynthetix", + "type": "address" + } + ], + "name": "SynthetixUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Vested", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_VESTING_ENTRIES", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "QUANTITY_INDEX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "TIME_INDEX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "times", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "quantities", + "type": "uint256[]" + } + ], + "name": "addVestingSchedule", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "appendVestingEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingEntry", + "outputs": [ + { + "internalType": "uint256[2]", + "name": "", + "type": "uint256[2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getNextVestingTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingQuantity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingScheduleEntry", + "outputs": [ + { + "internalType": "uint256[2]", + "name": "", + "type": "uint256[2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVestingTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "numVestingEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "purgeAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ISynthetix", + "name": "_synthetix", + "type": "address" + } + ], + "name": "setSynthetix", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "setupExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthetix", + "outputs": [ + { + "internalType": "contract ISynthetix", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "totalVestedAccountBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalVestedBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "vest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "vestingSchedules", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x6d789f17464ba2e49182b50e3706a4f69f290821d8a3e023152e43ba4ea4c6c3", + "urls": [ + "bzz-raw://ff741574ab7787b76fc75f8dbf4a2471250241a4aed1305f265df3ac2051bc72", + "dweb:/ipfs/Qmcy6PUVY57TDN6ZxcdZ6LBgLq2mtwH8UZDsxsnm6KpGbD" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthetixEscrow.sol": "SynthetixEscrow" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthetixEscrow.sol": { + "keccak256": "0x6d789f17464ba2e49182b50e3706a4f69f290821d8a3e023152e43ba4ea4c6c3", + "urls": [ + "bzz-raw://ff741574ab7787b76fc75f8dbf4a2471250241a4aed1305f265df3ac2051bc72", + "dweb:/ipfs/Qmcy6PUVY57TDN6ZxcdZ6LBgLq2mtwH8UZDsxsnm6KpGbD" + ] + } + }, + "version": 1 + } + }, + "SynthetixDebtShare": { + "bytecode": "6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820d4d8e7fbfa05b5c4526d15f74ba88211e753328ebd272879e1c60b275a61c2b764736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authorizedBroker", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "authorized", + "type": "bool" + } + ], + "name": "ChangeAuthorizedBroker", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authorizedToSnapshot", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "authorized", + "type": "bool" + } + ], + "name": "ChangeAuthorizedToSnapshot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "addAuthorizedBroker", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "addAuthorizedToSnapshot", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "authorizedBrokers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "authorizedToSnapshot", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "periodId", + "type": "uint256" + } + ], + "name": "balanceOfOnPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "balances", + "outputs": [ + { + "internalType": "uint128", + "name": "amount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "periodId", + "type": "uint128" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnShare", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentPeriodId", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finishSetup", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "name": "importAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mintShare", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "removeAuthorizedBroker", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "removeAuthorizedToSnapshot", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "sharePercent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "periodId", + "type": "uint256" + } + ], + "name": "sharePercentOnPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + } + ], + "name": "takeSnapshot", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "totalSupplyOnPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b", + "urls": [ + "bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151", + "dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthetixDebtShare.sol": "SynthetixDebtShare" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthetixDebtShare.sol": { + "keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b", + "urls": [ + "bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151", + "dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC" + ] + } + }, + "version": 1 + } + }, + "Proxy": { + "bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204a40a62232a93602005a0df8eafa1dff3b1633a17b706a6710abcbd12d9507c764736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract Proxyable", + "name": "newTarget", + "type": "address" + } + ], + "name": "TargetUpdated", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "numTopics", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "topic1", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic2", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic3", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "topic4", + "type": "bytes32" + } + ], + "name": "_emit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract Proxyable", + "name": "_target", + "type": "address" + } + ], + "name": "setTarget", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "target", + "outputs": [ + { + "internalType": "contract Proxyable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa", + "urls": [ + "bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e", + "dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Proxy.sol": "Proxy" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Proxy.sol": { + "keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa", + "urls": [ + "bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e", + "dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM" + ] + } + }, + "version": 1 + } + }, + "EternalStorage": { + "bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158200dfed0d87ea0c2d908f0f117e82ff45f96d8f1f6da6e289850136fd5ef11d9cd64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBooleanValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBytesValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteStringValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getAddressValue", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBooleanValue", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBytes32Value", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBytesValue", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getIntValue", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getStringValue", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getUIntValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "value", + "type": "address" + } + ], + "name": "setAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "setBooleanValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "value", + "type": "bytes32" + } + ], + "name": "setBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + } + ], + "name": "setBytesValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "setIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "setStringValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45", + "urls": [ + "bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf", + "dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "EternalStorage.sol": "EternalStorage" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "EternalStorage.sol": { + "keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45", + "urls": [ + "bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf", + "dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6" + ] + } + }, + "version": 1 + } + }, + "DelegateApprovals": { + "bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820769492428c425b94186683000badc269a3479a27b2ccff7795165b9300fb31c064736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract EternalStorage", + "name": "_eternalStorage", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "action", + "type": "bytes32" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newEternalStorage", + "type": "address" + } + ], + "name": "EternalStorageUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "action", + "type": "bytes32" + } + ], + "name": "WithdrawApproval", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "APPROVE_ALL", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "BURN_FOR_ADDRESS", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CLAIM_FOR_ADDRESS", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "EXCHANGE_FOR_ADDRESS", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ISSUE_FOR_ADDRESS", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approveAllDelegatePowers", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approveBurnOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approveClaimOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approveExchangeOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approveIssueOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "approvedAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "canBurnFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "canClaimFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "canExchangeFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "authoriser", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "canIssueFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "eternalStorage", + "outputs": [ + { + "internalType": "contract EternalStorage", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "removeAllDelegatePowers", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "removeBurnOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "removeClaimOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "removeExchangeOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "removeIssueOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract EternalStorage", + "name": "_eternalStorage", + "type": "address" + } + ], + "name": "setEternalStorage", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40", + "urls": [ + "bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e", + "dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "DelegateApprovals.sol": "DelegateApprovals" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "DelegateApprovals.sol": { + "keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40", + "urls": [ + "bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e", + "dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA" + ] + } + }, + "version": 1 + } + }, + "Liquidator": { + "bytecode": "60806040523480156200001157600080fd5b5060405162002bb138038062002bb18339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61298e80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806374e889c911610104578063952225f3116100a2578063b410a03411610071578063b410a03414610350578063c855a8e114610358578063d45c0d7e14610360578063f557f73c14610373576101cf565b8063952225f31461030f578063974e9e7f14610322578063a0cf745114610335578063ad2bc2d51461033d576101cf565b8063828afc4b116100de578063828afc4b146102d7578063899ffef4146102ea5780638d1bd1be146102ff5780638da5cb5b14610307576101cf565b806374e889c9146102bf57806379ba5097146102c75780638074b372146102cf576101cf565b806339a9df1b116101715780635e887fe91161014b5780635e887fe914610284578063614d08f8146102a75780636a058966146102af57806374185360146102b7576101cf565b806339a9df1b1461024957806353a47bb71461025c5780635616c95714610271576101cf565b80631775765f116101ad5780631775765f1461021c57806323f5589a146102245780632af64bd31461022c57806331e4e03014610241576101cf565b806304f3bcec146101d45780631627540c146101f25780631710940c14610207575b600080fd5b6101dc610386565b6040516101e99190612749565b60405180910390f35b610205610200366004611f1e565b610395565b005b61020f6103f3565b6040516101e991906126a2565b61020f610403565b61020f61040d565b610234610417565b6040516101e99190612694565b61020f61052e565b610234610257366004611f1e565b610538565b610264610561565b6040516101e99190612625565b61026461027f366004611f1e565b610570565b610297610292366004611f62565b61058e565b6040516101e99493929190612858565b61020f610744565b61020f610755565b61020561076d565b61020f6108c3565b6102056108dd565b61020f610982565b61020f6102e5366004611f1e565b61098c565b6102f26109a7565b6040516101e99190612683565b61020f610a86565b610264610b1b565b61023461031d366004611f62565b610b2a565b610205610330366004611f1e565b610ce1565b61020f610d3d565b61020561034b366004611f1e565b610d47565b61020f610f1c565b61020f610f26565b61020561036e366004611f1e565b610f30565b61020f610381366004611fd8565b6112aa565b6002546001600160a01b031681565b61039d6113ab565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103e8908390612625565b60405180910390a150565b60006103fd6113d7565b90505b90565b60006103fd611488565b60006103fd6114e3565b600060606104236109a7565b905060005b815181101561052557600082828151811061043f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104909085906004016126a2565b60206040518083038186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e09190810190611f44565b6001600160a01b031614158061050b57506000818152600360205260409020546001600160a01b0316155b1561051c5760009350505050610400565b50600101610428565b50600191505090565b60006103fd611543565b6000610542611ec5565b61054b8361159d565b905061055a816000015161171a565b9392505050565b6001546001600160a01b031681565b600061057a611ec5565b6105838361159d565b602001519392505050565b600080600080306001600160a01b031663952225f387876040518363ffffffff1660e01b81526004016105c292919061264e565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106129190810190611f9c565b6106ad57600080600061062361172c565b6001600160a01b031663d37c4d8b8a6040518263ffffffff1660e01b815260040161064e9190612669565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190611fba565b9296509094509250905061073b565b6106b561172c565b6001600160a01b0316635e887fe987876040518363ffffffff1660e01b81526004016106e292919061264e565b60806040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107329190810190612025565b93509350935093505b92959194509250565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107776109a7565b905060005b81518110156108bf57600082828151811061079357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016107d5919061261a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610801929190612729565b60206040518083038186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108519190810190611f44565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ad90849084906126b0565b60405180910390a1505060010161077c565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146109105760405162461bcd60e51b815260040161090790612778565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610953926001600160a01b0391821692911690612633565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006103fd611740565b6000610996611ec5565b61099f8361159d565b519392505050565b6060806109b2611795565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106109f657fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610a1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610a3f57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600381518110610a6957fe5b602002602001018181525050610a7f82826117e6565b9250505090565b60006103fd610a93611488565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad757600080fd5b505af4158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b0f9190810190611fba565b9063ffffffff6118a216565b6000546001600160a01b031681565b600080610b356118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610b609190612625565b60206040518083038186803b158015610b7857600080fd5b505afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb09190810190611fba565b9050610bba6118ce565b8111610bca576000915050610cdb565b82610c1a57610bd7611ec5565b610be08561159d565b9050610bef816000015161171a565b8015610bff5750610bff85611926565b15610c0f57600192505050610cdb565b600092505050610cdb565b600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6057600080fd5b505af4158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c989190810190611fba565b9050610cc2610cb5610ca86114e3565b839063ffffffff6119d516565b829063ffffffff6119fa16565b821115610cd457600092505050610cdb565b5060019150505b92915050565b610ce961172c565b6001600160a01b0316336001600160a01b031614610d195760405162461bcd60e51b815260040161090790612798565b610d21611ec5565b610d2a8261159d565b8051909150156108bf576108bf82611a24565b60006103fd611afb565b620a69cb60eb1b610d56611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610d8191906126a2565b60206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd19190810190611f9c565b15610dee5760405162461bcd60e51b815260040161090790612808565b610df6611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2e57600080fd5b505afa158015610e42573d6000803e3d6000fd5b50505050610e4e611ec5565b610e578361159d565b8051909150610e785760405162461bcd60e51b815260040161090790612848565b6000610e826118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610ead9190612625565b60206040518083038186803b158015610ec557600080fd5b505afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efd9190810190611fba565b9050610f076118ce565b8111610f1657610f1684611a24565b50505050565b60006103fd6118ce565b60006103fd611b8b565b620a69cb60eb1b610f3f611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f6a91906126a2565b60206040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fba9190810190611f9c565b15610fd75760405162461bcd60e51b815260040161090790612808565b610fdf611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561101757600080fd5b505afa15801561102b573d6000803e3d6000fd5b50506002546040516321f8a72160e01b8152600093506001600160a01b0390911691506321f8a72190611071906b131959d858de53585c9ad95d60a21b906004016126a2565b60206040518083038186803b15801561108957600080fd5b505afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c19190810190611f44565b6001600160a01b0316146110e75760405162461bcd60e51b815260040161090790612818565b60006110f1611488565b1161110e5760405162461bcd60e51b8152600401610907906127d8565b6000611118611afb565b116111355760405162461bcd60e51b8152600401610907906127e8565b61113d611ec5565b6111468361159d565b8051909150156111685760405162461bcd60e51b815260040161090790612838565b60006111726118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040161119d9190612625565b60206040518083038186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ed9190810190611fba565b90506111f7611488565b8110156112165760405162461bcd60e51b8152600401610907906127b8565b61121f84611926565b61123b5760405162461bcd60e51b815260040161090790612768565b6000611255611248611afb565b429063ffffffff6119d516565b9050611262858233611bf3565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405161129b91906126a2565b60405180910390a25050505050565b6000806112b56118ce565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fd57600080fd5b505af4158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113359190810190611fba565b9050600061135961134c878563ffffffff611d2016565b889063ffffffff611d4a16565b9050600061138d61138085611374868a63ffffffff6119d516565b9063ffffffff611d2016565b849063ffffffff611d4a16565b905061139f828263ffffffff6119fa16565b98975050505050505050565b6000546001600160a01b031633146113d55760405162461bcd60e51b8152600401610907906127f8565b565b60006113e1611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016114389291906126be565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103fd9190810190611fba565b6000611492611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006114ed611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016114389291906126be565b600061154d611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b81526004016114389291906126be565b6115a5611ec5565b6115ad611d72565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115e9724c69717569646174696f6e446561646c696e6560681b86611d8f565b6040518363ffffffff1660e01b81526004016116069291906126be565b60206040518083038186803b15801561161e57600080fd5b505afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116569190810190611fba565b8152611660611d72565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61169a702634b8bab4b230ba34b7b721b0b63632b960791b86611d8f565b6040518363ffffffff1660e01b81526004016116b79291906126be565b60206040518083038186803b1580156116cf57600080fd5b505afa1580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117079190810190611f44565b6001600160a01b03166020820152919050565b60008082118015610cdb575050421190565b60006103fd6524b9b9bab2b960d11b611dc2565b600061174a611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b81526004016114389291906126be565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611816578160200160208202803883390190505b50905060005b83518110156118585783818151811061183157fe5b602002602001015182828151811061184557fe5b602090810291909101015260010161181c565b5060005b825181101561189b5782818151811061187157fe5b602002602001015182828651018151811061188857fe5b602090810291909101015260010161185c565b5092915050565b600061055a8383670de0b6b3a7640000611e1f565b60006103fd680a6f2dce8d0cae8d2f60bb1b611dc2565b60006118d8611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016114389291906126be565b60008061193161172c565b6001600160a01b031663a5fdc5de846040518263ffffffff1660e01b815260040161195c9190612625565b60206040518083038186803b15801561197457600080fd5b505afa158015611988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ac9190810190611fba565b90506119cd6119b9611740565b6119c1611543565b9063ffffffff6119d516565b111592915050565b60008282018381101561055a5760405162461bcd60e51b815260040161090790612788565b600061055a82611a1885670de0b6b3a764000063ffffffff611e5616565b9063ffffffff611e9016565b611a2c611d72565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a68724c69717569646174696f6e446561646c696e6560681b85611d8f565b6040518363ffffffff1660e01b8152600401611a859291906126be565b600060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8742604051611af091906126a2565b60405180910390a250565b6000611b05611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006103fd6c45786368616e6765526174657360981b611dc2565b60006103fd6b53797374656d53746174757360a01b611dc2565b6000611b95611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b81526004016114389291906126be565b611bfb611d72565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c37724c69717569646174696f6e446561646c696e6560681b87611d8f565b856040518463ffffffff1660e01b8152600401611c5693929190612701565b600060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b50505050611c90611d72565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611cca702634b8bab4b230ba34b7b721b0b63632b960791b87611d8f565b846040518463ffffffff1660e01b8152600401611ce9939291906126d9565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d3b848463ffffffff611e5616565b81611d4257fe5b049392505050565b600082821115611d6c5760405162461bcd60e51b8152600401610907906127a8565b50900390565b60006103fd6e466c657869626c6553746f7261676560881b611dc2565b60008282604051602001611da49291906125d4565b60405160208183030381529060405280519060200120905092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591611df2918691016125fa565b6040516020818303038152906040529061189b5760405162461bcd60e51b81526004016109079190612757565b600080611e3984611a1887600a870263ffffffff611e5616565b90506005600a820610611e4a57600a015b600a9004949350505050565b600082611e6557506000610cdb565b82820282848281611e7257fe5b041461055a5760405162461bcd60e51b815260040161090790612828565b6000808211611eb15760405162461bcd60e51b8152600401610907906127c8565b6000828481611ebc57fe5b04949350505050565b604080518082019091526000808252602082015290565b8035610cdb81612922565b8051610cdb81612922565b8035610cdb81612939565b8051610cdb81612939565b8035610cdb81612942565b8051610cdb81612942565b600060208284031215611f3057600080fd5b6000611f3c8484611edc565b949350505050565b600060208284031215611f5657600080fd5b6000611f3c8484611ee7565b60008060408385031215611f7557600080fd5b6000611f818585611edc565b9250506020611f9285828601611ef2565b9150509250929050565b600060208284031215611fae57600080fd5b6000611f3c8484611efd565b600060208284031215611fcc57600080fd5b6000611f3c8484611f13565b600080600060608486031215611fed57600080fd5b6000611ff98686611f08565b935050602061200a86828701611f08565b925050604061201b86828701611f08565b9150509250925092565b6000806000806080858703121561203b57600080fd5b60006120478787611f13565b945050602061205887828801611f13565b935050604061206987828801611f13565b925050606061207a87828801611f13565b91505092959194509250565b6000612092838361211c565b505060200190565b6120a3816128ae565b82525050565b6120a36120b5826128ae565b612901565b60006120c58261289c565b6120cf81856128a0565b93506120da83612896565b8060005b838110156121085781516120f28882612086565b97506120fd83612896565b9250506001016120de565b509495945050505050565b6120a3816128b9565b6120a381610400565b6120a361213182610400565b610400565b6120a3816128ca565b600061214a8261289c565b61215481856128a0565b93506121648185602086016128d5565b61216d81612912565b9093019392505050565b6000612184601a836128a0565b7f6e6f7420656e6f75676820534e5820666f722072657761726473000000000000815260200192915050565b60006121bd6035836128a0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612214601b836128a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061224d603c836128a0565b7f4c697175696461746f723a204f6e6c79207468652049737375657220636f6e7481527f726163742063616e20706572666f726d207468697320616374696f6e00000000602082015260400192915050565b60006122ac601e836128a0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122e56035836128a0565b7f4163636f756e742069737375616e636520726174696f206973206c657373207481527468616e206c69717569646174696f6e20726174696f60581b602082015260400192915050565b600061233c601a836128a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006123756011836128a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006123a26019836128a0565b7f4c69717569646174696f6e20726174696f206e6f742073657400000000000000815260200192915050565b60006123db6019836128a0565b7f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000815260200192915050565b6000612414602f836128a0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612471601b836128a0565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b60006124aa6017836128a0565b7f4d757374206c6971756964617465207573696e67205633000000000000000000815260200192915050565b60006124e36021836128a0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006125266027836128a0565b7f4163636f756e7420616c726561647920666c616767656420666f72206c69717581526634b230ba34b7b760c91b602082015260400192915050565b600061256f601e836128a0565b7f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000815260200192915050565b60006125a86019836128a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006125e08285612125565b6020820191506125f082846120a9565b5060140192915050565b600061260582612368565b91506126118284612125565b50602001919050565b60006126058261259b565b60208101610cdb828461209a565b60408101612641828561209a565b61055a602083018461209a565b6040810161265c828561209a565b61055a6020830184612113565b60408101612677828461209a565b610cdb60208301612458565b6020808252810161055a81846120ba565b60208101610cdb8284612113565b60208101610cdb828461211c565b60408101612641828561211c565b604081016126cc828561211c565b61055a602083018461211c565b606081016126e7828661211c565b6126f4602083018561211c565b611f3c604083018461209a565b6060810161270f828661211c565b61271c602083018561211c565b611f3c604083018461211c565b60408101612737828561211c565b8181036020830152611f3c818461213f565b60208101610cdb8284612136565b6020808252810161055a818461213f565b60208082528101610cdb81612177565b60208082528101610cdb816121b0565b60208082528101610cdb81612207565b60208082528101610cdb81612240565b60208082528101610cdb8161229f565b60208082528101610cdb816122d8565b60208082528101610cdb8161232f565b60208082528101610cdb81612395565b60208082528101610cdb816123ce565b60208082528101610cdb81612407565b60208082528101610cdb81612464565b60208082528101610cdb8161249d565b60208082528101610cdb816124d6565b60208082528101610cdb81612519565b60208082528101610cdb81612562565b60808101612866828761211c565b612873602083018661211c565b612880604083018561211c565b61288d606083018461211c565b95945050505050565b60200190565b5190565b90815260200190565b919050565b6000610cdb826128be565b151590565b6001600160a01b031690565b6000610cdb826128ae565b60005b838110156128f05781810151838201526020016128d8565b83811115610f165750506000910152565b6000610cdb826000610cdb8261291c565b601f01601f191690565b60601b90565b61292b816128ae565b811461293657600080fd5b50565b61292b816128b9565b61292b8161040056fea365627a7a72315820467176332e51265f34381876e268e83aaedb3afabc40c22a88780ec418cc56556c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "AccountFlaggedForLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "AccountRemovedFromLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "LIQUIDATION_CALLER", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "LIQUIDATION_DEADLINE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "debtBalance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "calculateAmountToFixCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "checkAndRemoveAccountInLiquidation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "flagAccountForLiquidation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "flagReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getLiquidationCallerForAccount", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getLiquidationDeadlineForAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isLiquidationDeadlinePassed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bool", + "name": "isSelfLiquidation", + "type": "bool" + } + ], + "name": "isLiquidationOpen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidateReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bool", + "name": "isSelfLiquidation", + "type": "bool" + } + ], + "name": "liquidationAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "totalRedeemed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debtToRemove", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escrowToLiquidate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "initialDebtBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationEscrowDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "liquidationRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeAccountInLiquidation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "selfLiquidationPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x8ce771fe8e8ccb178383188bdaf40380f6caa7c50711939bc716d58365dbe492", + "urls": [ + "bzz-raw://38cba6a4ec89ceff43e189f61f19bef085a632b4e1eeb939f8804cb791dc3f52", + "dweb:/ipfs/QmcxL6HJsrCqjmbxNHooXjWckCAH5FxBrcypjsxf1MARE6" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Liquidator.sol": "Liquidator" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Liquidator.sol": { + "keccak256": "0x8ce771fe8e8ccb178383188bdaf40380f6caa7c50711939bc716d58365dbe492", + "urls": [ + "bzz-raw://38cba6a4ec89ceff43e189f61f19bef085a632b4e1eeb939f8804cb791dc3f52", + "dweb:/ipfs/QmcxL6HJsrCqjmbxNHooXjWckCAH5FxBrcypjsxf1MARE6" + ] + } + }, + "version": 1 + } + }, + "LiquidatorRewards": { + "bytecode": "60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a7231582020f689107e91cc6ce331e01eab6138500d393d1eb72102e1984472b41ef3758a6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "RewardPaid", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "accumulatedRewardsPerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "earned", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "entries", + "outputs": [ + { + "internalType": "uint128", + "name": "claimable", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "entryAccumulatedRewards", + "type": "uint128" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "initiated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "notifyRewardAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "updateEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195", + "urls": [ + "bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6", + "dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "LiquidatorRewards.sol": "LiquidatorRewards" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "LiquidatorRewards.sol": { + "keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195", + "urls": [ + "bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6", + "dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P" + ] + } + }, + "version": 1 + } + }, + "FeePoolEternalStorage": { + "bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158207648b05ca0935f6d5ede33ff860003dae37bb7b0e41ce2521cdf1c480e0ec4fd64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_feePool", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBooleanValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteBytesValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteStringValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "deleteUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getAddressValue", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBooleanValue", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBytes32Value", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getBytesValue", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getIntValue", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getStringValue", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + } + ], + "name": "getUIntValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "feePeriodIDs", + "type": "uint256[]" + } + ], + "name": "importFeeWithdrawalData", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "value", + "type": "address" + } + ], + "name": "setAddressValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "value", + "type": "bool" + } + ], + "name": "setBooleanValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "value", + "type": "bytes32" + } + ], + "name": "setBytes32Value", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + } + ], + "name": "setBytesValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "int256", + "name": "value", + "type": "int256" + } + ], + "name": "setIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "setStringValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "record", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setUIntValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "setupExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e", + "urls": [ + "bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a", + "dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "FeePoolEternalStorage.sol": "FeePoolEternalStorage" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "FeePoolEternalStorage.sol": { + "keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e", + "urls": [ + "bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a", + "dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n" + ] + } + }, + "version": 1 + } + }, + "FeePool": { + "bytecode": "6080604052631cd554d160e21b6007553480156200001c57600080fd5b506040516200456d3803806200456d8339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b6141ba80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636de813f11161017b578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610516578063f43d41611461051e578063fd1f498d14610531576102c8565b8063e0e6393d14610506578063eb1edd611461050e576102c8565b8063cff2ddad116100bd578063cff2ddad146104e1578063d294f093146104f6578063d67bdd25146104fe576102c8565b8063b410a034146104c6578063bc67f832146104ce576102c8565b8063899ffef41161012f57806397107d6d1161011457806397107d6d14610498578063a419b69a146104ab578063ac834193146104be576102c8565b8063899ffef41461047b5780638da5cb5b14610490576102c8565b806373941b961161016057806373941b9614610458578063741853601461046b57806379ba509714610473576102c8565b80636de813f11461044857806372ccd69e14610450576102c8565b80633ebc457a11610229578063569249d0116101dd578063614d08f8116101c2578063614d08f81461041a578063642fbd8b146104225780636466f45e14610435576102c8565b8063569249d0146103ff57806359a2f19f14610407576102c8565b806341c178c31161020e57806341c178c3146103da57806346ba2d90146103e257806353a47bb7146103ea576102c8565b80633ebc457a146103ac5780633fcd2240146103b4576102c8565b806322425fa4116102805780632af64bd3116102655780632af64bd31461036f5780632e227eeb14610384578063331400161461038c576102c8565b806322425fa41461035457806322bf55ef1461035c576102c8565b80630813071c116102b15780630813071c1461030b5780630de586151461031e5780631627540c1461033f576102c8565b806304f3bcec146102cd57806307ea50cd146102eb575b600080fd5b6102d5610544565b6040516102e29190613e6a565b60405180910390f35b6102fe6102f936600461319a565b610553565b6040516102e29190613d87565b6102fe6103193660046131de565b610628565b61033161032c36600461319a565b61073a565b6040516102e2929190613dbe565b61035261034d36600461319a565b6107bc565b005b6102fe61081a565b61035261036a366004613254565b61082a565b610377610887565b6040516102e29190613d79565b61033161099e565b61039f61039a36600461319a565b610b25565b6040516102e29190613d5a565b610352610d1c565b6103c76103c2366004613254565b610f24565b6040516102e29796959493929190613fe7565b610331610fd2565b6102fe611080565b6103f2611086565b6040516102e29190613ce0565b6102fe611095565b61037761041536600461319a565b6110f0565b6102fe611102565b6102fe61043036600461319a565b611126565b61037761044336600461319a565b6111c7565b6102fe6112f3565b6102fe611348565b6103526104663660046132a2565b61135d565b610352611445565b610352611597565b610483611633565b6040516102e29190613d68565b6103f261198d565b6103526104a636600461319a565b61199c565b6102fe6104b936600461319a565b6119ef565b6102fe611a0e565b6102fe611aba565b6103526104dc36600461319a565b611ac4565b6104e9611aee565b6040516102e2919061404f565b610377611af3565b6103f2611b6a565b6102fe611b79565b6103f2611b83565b6102d5611b9b565b61035261052c3660046132c1565b611baa565b61035261053f366004613254565b611d5a565b6005546001600160a01b031681565b600061055d611dc6565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161059e929190613c79565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105d09190613d87565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106209190810190613236565b90505b919050565b6000811580610638575060028210155b1561064557506000610734565b61065160018303611df1565b5468010000000000000000900467ffffffffffffffff1661067457506000610734565b61067c611e1b565b6001600160a01b0316638ced14df846008856002811061069857fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106e1929167ffffffffffffffff1690600401613d17565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107319190810190613236565b90505b92915050565b6000806107456130b4565b61074e84610b25565b905060008060015b60028110156107af5761077b84826002811061076e57fe5b6020020151518490611e46565b92506107a584826002811061078c57fe5b602002015160016020020151839063ffffffff611e4616565b9150600101610756565b509093509150505b915091565b6107c4611e6b565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061080f908390613ce0565b60405180910390a150565b6000610824611e97565b90505b90565b61083333611f5e565b6108585760405162461bcd60e51b815260040161084f90613e89565b60405180910390fd5b610876816108666000611df1565b600301549063ffffffff611e4616565b6108806000611df1565b6003015550565b60006060610893611633565b905060005b81518110156109955760008282815181106108af57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610900908590600401613d87565b60206040518083038186803b15801561091857600080fd5b505afa15801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095091908101906131c0565b6001600160a01b031614158061097b57506000818152600660205260409020546001600160a01b0316155b1561098c5760009350505050610827565b50600101610898565b50600191505090565b6000806000806109cd7f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d919081019061335d565b50935050925050600080610a707f6578743a41676772656761746f7244656274526174696f000000000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae0919081019061335d565b50919450909250859150508215610b0657610b01818463ffffffff61215f16565b610b09565b60005b9650818410610b185781610b1a565b835b955050505050509091565b610b2d6130b4565b600080610b38611e1b565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b80908790600401613ce0565b60206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd09190810190613236565b9150600080610be0600085612178565b8651829052865160200181905290925090506000610bfd87610553565b905060015b8015610d11576000610c1382611df1565b5467ffffffffffffffff16905080831015610d07576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610c79908c9067ffffffffffffffff861690600401613d17565b60206040518083038186803b158015610c9157600080fd5b505afa158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cc99190810190613236565b9650610cd58288612178565b909550935084888360028110610ce757fe5b60200201515283888360028110610cfa57fe5b6020020151600160200201525b5060001901610c02565b505050505050919050565b610d246121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506000610d7e611e97565b11610d9b5760405162461bcd60e51b815260040161084f90613fc9565b610da3611e97565b4203610daf6000611df1565b5468010000000000000000900467ffffffffffffffff161115610de45760405162461bcd60e51b815260040161084f90613ea9565b6000610dee610fd2565b5090506000610dfb61099e565b509050610e088282612207565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610e71907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613dec565b60206040518083038186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ec191908101906131c0565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610eee929190613dbe565b600060405180830381600087803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b505050505050565b6000806000806000806000610f376130e1565b610f4089611df1565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b6000806000806110017f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611071919081019061335d565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b60028110156110ea576110c16110b082611df1565b60030154839063ffffffff611e4616565b91506110e06110cf82611df1565b60040154839063ffffffff6125cd16565b915060010161109b565b50905090565b60006110fb826125f5565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b600080611131611e1b565b90506000816001600160a01b031663e6d24bbd856040518263ffffffff1660e01b81526004016111619190613ce0565b60206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b19190810190613236565b90506111be600082612178565b50949350505050565b60006111d16121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506112296126e9565b611231612728565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261127e92879290911690600401613cfc565b60206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ce9190810190613218565b6112ea5760405162461bcd60e51b815260040161084f90613f39565b61062082612753565b60008060015b60028110156110ea5761131f61130e82611df1565b60050154839063ffffffff611e4616565b915061133e61132d82611df1565b60060154839063ffffffff6125cd16565b91506001016112f9565b60006113546001611df1565b60040154905090565b3330148061141b57506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a721906113b6907f53796e746865746978427269646765546f42617365000000000000000000000090600401613d87565b60206040518083038186803b1580156113ce57600080fd5b505afa1580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061140691908101906131c0565b6001600160a01b0316336001600160a01b0316145b6114375760405162461bcd60e51b815260040161084f90613f79565b6114418282612207565b5050565b606061144f611633565b905060005b815181101561144157600082828151811061146b57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016114ad9190613cca565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016114d9929190613dcc565b60206040518083038186803b1580156114f157600080fd5b505afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152991908101906131c0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906115859084908490613d95565b60405180910390a15050600101611454565b6001546001600160a01b031633146115c15760405162461bcd60e51b815260040161084f90613e99565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611604926001600160a01b0391821692911690613cfc565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60608061163e612833565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061169557fe5b6020026020010181815250507f53796e7468657469784465627453686172650000000000000000000000000000816001815181106116cf57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160028151811061170957fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061174357fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061176657fe5b6020026020010181815250507f526577617264457363726f775632000000000000000000000000000000000000816005815181106117a057fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106117da57fe5b6020026020010181815250507f52657761726473446973747269627574696f6e000000000000000000000000008160078151811061181457fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061184e57fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061188857fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a815181106118c257fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106118fc57fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061193657fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061197057fe5b6020026020010181815250506119868282612892565b9250505090565b6000546001600160a01b031681565b6119a4611e6b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061080f908390613cee565b60006119f96130b4565b611a0283610b25565b60200151519392505050565b6000610824611aa6611a1e612947565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6257600080fd5b505af4158015611a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9a9190810190613236565b9063ffffffff611e4616565b611aae6129be565b9063ffffffff612a3516565b60006108246129be565b611acc612a5f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611afd6121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b3557600080fd5b505afa158015611b49573d6000803e3d6000fd5b50505050611b556126e9565b600354610824906001600160a01b0316612753565b6003546001600160a01b031681565b6000610824612947565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611bb2612a89565b6004544210611bd35760405162461bcd60e51b815260040161084f90613f89565b60028710611bf35760405162461bcd60e51b815260040161084f90613fa9565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611c5057fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611d5157611cf3612af7565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611d1e9190613fd9565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050505b50505050505050565b611d626126e9565b611d6a612b0b565b6003546001600160a01b03908116911614611d975760405162461bcd60e51b815260040161084f90613f09565b611db581611da56000611df1565b600501549063ffffffff611e4616565b611dbf6000611df1565b6005015550565b60006108247f466565506f6f6c457465726e616c53746f726167650000000000000000000000612102565b60006008600260ff16836016540181611e0657fe5b0660028110611e1157fe5b6007020192915050565b60006108247f53796e7468657469784465627453686172650000000000000000000000000000612102565b6000828201838110156107315760405162461bcd60e51b815260040161084f90613ec9565b6000546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613f49565b565b6000611ea1612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60206040518083038186803b158015611f2657600080fd5b505afa158015611f3a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108249190810190613236565b6000611f68612b61565b6001600160a01b0316826001600160a01b0316148061200a57506000611f8c612af7565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611fb79190613ce0565b60206040518083038186803b158015611fcf57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120079190810190613236565b14155b806120935750612018612b8c565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016120439190613ce0565b60206040518083038186803b15801561205b57600080fd5b505afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120939190810190613218565b806120b657506120a1612bb7565b6001600160a01b0316826001600160a01b0316145b806120d957506120c4612be2565b6001600160a01b0316826001600160a01b0316145b8061062057506120e7612c0d565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b03909116918215159161213291869101613caa565b604051602081830303815290604052906110fb5760405162461bcd60e51b815260040161084f9190613e78565b600061073183836b033b2e3c9fd0803ce8000000612c38565b6000808261218b575060009050806121d5565b600061219685611df1565b905060006121b1858360030154612a3590919063ffffffff16565b905060006121cc868460050154612a3590919063ffffffff16565b91945090925050505b9250929050565b60006108247f53797374656d5374617475730000000000000000000000000000000000000000612102565b61220f612c0d565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050612269612be2565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122a357600080fd5b505af11580156122b7573d6000803e3d6000fd5b50505050806122c66000611df1565b60020155816122d56000611df1565b6001015560006122e481611df1565b905060006122f26001611df1565b90506123178260030154611a9a836004015484600301546125cd90919063ffffffff16565b6123216000611df1565b6003015560058083015460068301549183015461234892611a9a919063ffffffff6125cd16565b6123526000611df1565b60050155600061236181611df1565b60030154111561243557612373612af7565b6001600160a01b031663c81ff8fa60075473feefeefeefeefeefeefeefeefeefeefeefeefeef6123a36000611df1565b600301546040518463ffffffff1660e01b81526004016123c593929190613da3565b602060405180830381600087803b1580156123df57600080fd5b505af11580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124179190810190613218565b506124226000611df1565b600301546124306000611df1565b600401555b60165461246e9060029061246290600190612456908463ffffffff611e4616565b9063ffffffff6125cd16565b9063ffffffff612c7d16565b60168190556008906002811061248057fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906124e490611df1565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790554261250f6000611df1565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905561254c612af7565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016125779190613fd9565b600060405180830381600087803b15801561259157600080fd5b505af11580156125a5573d6000803e3d6000fd5b505050506125c66125b66001611df1565b5467ffffffffffffffff16612cad565b5050505050565b6000828211156125ef5760405162461bcd60e51b815260040161084f90613ed9565b50900390565b600080600080612603612af7565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b815260040161262e9190613ce0565b604080518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267d9190810190613272565b91509150600061268b6129be565b9050808310156126a357506001935091506107b79050565b60006126c06126b3611a1e612947565b839063ffffffff612a3516565b9050808411156126da5760008395509550505050506107b7565b50600194509092505050915091565b6002546001600160a01b0316331480159061270f57506003546001600160a01b03163314155b15611e9557600380546001600160a01b03191633179055565b60006108247f44656c6567617465417070726f76616c73000000000000000000000000000000612102565b6000808080808080612764886125f5565b91509150816127855760405162461bcd60e51b815260040161084f90613f59565b80156127a35760405162461bcd60e51b815260040161084f90613f19565b6127ac8861073a565b9094509250831515806127bf5750600083115b6127db5760405162461bcd60e51b815260040161084f90613ef9565b6127f9886127e96001611df1565b5467ffffffffffffffff16612d65565b839450600083111561281a5761280e83612de2565b955061281a8887612eac565b612825888688612f5e565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061288357fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128c2578160200160208202803883390190505b50905060005b8351811015612904578381815181106128dd57fe5b60200260200101518282815181106128f157fe5b60209081029190910101526001016128c8565b5060005b82518110156110fb5782818151811061291d57fe5b602002602001015182828651018151811061293457fe5b6020908102919091010152600101612908565b6000612951612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60006129c8612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b6000670de0b6b3a7640000612a50848463ffffffff61301a16565b81612a5757fe5b049392505050565b6002546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613fb9565b6002546001600160a01b03163314801590612aaf57506003546001600160a01b03163314155b15612ac757600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611e955760405162461bcd60e51b815260040161084f90613eb9565b60006108246524b9b9bab2b960d11b612102565b60006108247f52657761726473446973747269627574696f6e00000000000000000000000000612102565b60006108247f466c657869626c6553746f726167650000000000000000000000000000000000612102565b60006108247f45786368616e6765720000000000000000000000000000000000000000000000612102565b60006108247f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612102565b60006108247f467574757265734d61726b65744d616e61676572000000000000000000000000612102565b60006108247f57726170706572466163746f7279000000000000000000000000000000000000612102565b60006108247f4574686572577261707065720000000000000000000000000000000000000000612102565b600080612c5e84612c5287600a870263ffffffff61301a16565b9063ffffffff61305416565b90506005600a820610612c6f57600a015b600a900490505b9392505050565b600081612c9c5760405162461bcd60e51b815260040161084f90613f29565b818381612ca557fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612cd3908490602001613d87565b6040516020818303038152906040526001604051612cf090613cd5565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612d3793929160009081908190600401613e0b565b600060405180830381600087803b158015612d5157600080fd5b505af11580156125c6573d6000803e3d6000fd5b612d6d611dc6565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612dae929190613c79565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610eee929190613dbe565b6000818160015b6002811015612ea4576000612e1d612e0083611df1565b60060154612e0d84611df1565b600501549063ffffffff6125cd16565b90508015612e9a576000848210612e345784612e36565b815b9050612e5581612e4585611df1565b600601549063ffffffff611e4616565b612e5e84611df1565b60060155612e72858263ffffffff6125cd16565b9450612e84848263ffffffff611e4616565b935084612e98578395505050505050610623565b505b5060001901612de9565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612eea5760405162461bcd60e51b815260040161084f90613f99565b6301dfe200612ef7613089565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612f2693929190613d32565b600060405180830381600087803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b5050505050505050565b6002546040516001600160a01b039091169063907dff9790612f8890869086908690602001613d32565b6040516020818303038152906040526001604051612fa590613c9f565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612fec93929160009081908190600401613e0b565b600060405180830381600087803b15801561300657600080fd5b505af1158015611d51573d6000803e3d6000fd5b60008261302957506000610734565b8282028284828161303657fe5b04146107315760405162461bcd60e51b815260040161084f90613f69565b60008082116130755760405162461bcd60e51b815260040161084f90613ee9565b600082848161308057fe5b04949350505050565b60006108247f526577617264457363726f775632000000000000000000000000000000000000612102565b60405180604001604052806002905b6130cb61313a565b8152602001906001900390816130c35790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b803561073481614145565b805161073481614145565b80516107348161415c565b805161073481614165565b803561073481614165565b80516107348161416e565b6000602082840312156131ac57600080fd5b60006131b88484613158565b949350505050565b6000602082840312156131d257600080fd5b60006131b88484613163565b600080604083850312156131f157600080fd5b60006131fd8585613158565b925050602061320e85828601613184565b9150509250929050565b60006020828403121561322a57600080fd5b60006131b8848461316e565b60006020828403121561324857600080fd5b60006131b88484613179565b60006020828403121561326657600080fd5b60006131b88484613184565b6000806040838503121561328557600080fd5b60006132918585613179565b925050602061320e8582860161316e565b600080604083850312156132b557600080fd5b60006131fd8585613184565b600080600080600080600060e0888a0312156132dc57600080fd5b60006132e88a8a613184565b97505060206132f98a828b01613184565b965050604061330a8a828b01613184565b955050606061331b8a828b01613184565b945050608061332c8a828b01613184565b93505060a061333d8a828b01613184565b92505060c061334e8a828b01613184565b91505092959891949750929550565b600080600080600060a0868803121561337557600080fd5b6000613381888861318f565b955050602061339288828901613179565b94505060406133a388828901613179565b93505060606133b488828901613179565b92505060806133c58882890161318f565b9150509295509295909350565b60006133de83836134c8565b505060400190565b60006133f2838361351d565b505060200190565b613403816140c9565b82525050565b61340381614076565b61340361341e82614076565b614124565b61342c81614063565b6134368184610623565b925061344182610827565b8060005b83811015610f1c57815161345987826133d2565b96506134648361405d565b925050600101613445565b600061347a82614069565b613484818561406d565b935061348f8361405d565b8060005b838110156134bd5781516134a788826133e6565b97506134b28361405d565b925050600101613493565b509495945050505050565b6134d181614063565b6134db8184610623565b92506134e682610827565b8060005b83811015610f1c5781516134fe87826133e6565b96506135098361405d565b9250506001016134ea565b61340381614081565b61340381610827565b61340361353282610827565b610827565b600061354282614069565b61354c818561406d565b935061355c8185602086016140f4565b61356581614135565b9093019392505050565b613403816140d0565b613403816140db565b613403816140e9565b600061359760178361406d565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006135d060358361406d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061362f601d8361406d565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061366860138361406d565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006136a1602483610623565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613700601b8361406d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613739601e8361406d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613772601a8361406d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006137ab60408361406d565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061380a602b8361406d565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b6000613869601183610623565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006138a260188361406d565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b60006138db601e8361406d565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061391460188361406d565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b600061394d601f8361406d565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613986602f8361406d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006139e5601f8361406d565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a1e60218361406d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613a7d601b8361406d565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613ab660298361406d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b15601983610623565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4e60178361406d565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613b8760188361406d565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613bc0601883610623565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613bf960178361406d565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c32601b8361406d565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b61340381614086565b613403816140a7565b613403816140b4565b6000613c858285613526565b602082019150613c958284613412565b5060140192915050565b600061073482613694565b6000613cb58261385c565b9150613cc18284613526565b50602001919050565b6000613cb582613b08565b600061073482613bb3565b602081016107348284613409565b6020810161073482846133fa565b60408101613d0a8285613409565b612c766020830184613409565b60408101613d258285613409565b612c76602083018461351d565b60608101613d408286613409565b613d4d602083018561351d565b6131b8604083018461351d565b608081016107348284613423565b60208082528101610731818461346f565b602081016107348284613514565b60208101610734828461351d565b60408101613d0a828561351d565b60608101613db1828661351d565b613d4d6020830185613409565b60408101613d25828561351d565b60408101613dda828561351d565b81810360208301526131b88184613537565b60408101613dfa828461351d565b8181036020830152610731816137fd565b60c08082528101613e1c8189613537565b9050613e2b6020830188613581565b613e38604083018761351d565b613e456060830186613578565b613e526080830185613578565b613e5f60a0830184613578565b979650505050505050565b60208101610734828461356f565b602080825281016107318184613537565b602080825281016106208161358a565b60208082528101610620816135c3565b6020808252810161062081613622565b602080825281016106208161365b565b60208082528101610620816136f3565b602080825281016106208161372c565b6020808252810161062081613765565b602080825281016106208161379e565b6020808252810161062081613895565b60208082528101610620816138ce565b6020808252810161062081613907565b6020808252810161062081613940565b6020808252810161062081613979565b60208082528101610620816139d8565b6020808252810161062081613a11565b6020808252810161062081613a70565b6020808252810161062081613aa9565b6020808252810161062081613b41565b6020808252810161062081613b7a565b6020808252810161062081613bec565b6020808252810161062081613c25565b602081016107348284613c5e565b60e08101613ff5828a613c67565b6140026020830189613c67565b61400f6040830188613c67565b61401c606083018761351d565b614029608083018661351d565b61403660a083018561351d565b61404360c083018461351d565b98975050505050505050565b602081016107348284613c70565b60200190565b50600290565b5190565b90815260200190565b60006106208261409b565b151590565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b6000610620825b600061062082614076565b600061062061353283610827565b600061062082610827565b60005b8381101561410f5781810151838201526020016140f7565b8381111561411e576000848401525b50505050565b60006106208260006106208261413f565b601f01601f191690565b60601b90565b61414e81614076565b811461415957600080fd5b50565b61414e81614081565b61414e81610827565b61414e816140ba56fea365627a7a7231582015dfbdba66b9d941e18a76c78c2e9af845616ef9bfedbc6cfb25f7f67e3228aa6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feePeriodId", + "type": "uint256" + } + ], + "name": "FeePeriodClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sUSDAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "snxRewards", + "type": "uint256" + } + ], + "name": "FeesClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "proxyAddress", + "type": "address" + } + ], + "name": "ProxyUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FEE_ADDRESS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FEE_PERIOD_LENGTH", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allNetworksDebtSharesSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "sharesSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allNetworksSnxBackedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimFees", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "claimingForAddress", + "type": "address" + } + ], + "name": "claimOnBehalf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "closeCurrentFeePeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "allNetworksSnxBackedDebt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "allNetworksDebtSharesSupply", + "type": "uint256" + } + ], + "name": "closeSecondary", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "period", + "type": "uint256" + } + ], + "name": "effectiveDebtRatioForPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feePeriodDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "feesAvailable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "feesBurned", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "feesByPeriod", + "outputs": [ + { + "internalType": "uint256[2][2]", + "name": "results", + "type": "uint256[2][2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "feesToBurn", + "outputs": [ + { + "internalType": "uint256", + "name": "feesFromPeriod", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_claimingAddress", + "type": "address" + } + ], + "name": "getLastFeeWithdrawal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getPenaltyThresholdRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "feePeriodIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePeriodId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feesToDistribute", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feesClaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardsToDistribute", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardsClaimed", + "type": "uint256" + } + ], + "name": "importFeePeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeesClaimable", + "outputs": [ + { + "internalType": "bool", + "name": "feesClaimable", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proxy", + "outputs": [ + { + "internalType": "contract Proxy", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "recentFeePeriods", + "outputs": [ + { + "internalType": "uint64", + "name": "feePeriodId", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "unused", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "startTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "feesToDistribute", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feesClaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardsToDistribute", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardsClaimed", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "recordFeePaid", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "setMessageSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + } + ], + "name": "setProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setRewardsToDistribute", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "setupExpiryTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "targetThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalFeesAvailable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalFeesBurned", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalRewardsAvailable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xb197ac69f3b6e89713b5aeb686d7ae141fca9da76c59e0e7ff11279d747e85b4", + "urls": [ + "bzz-raw://0c76333ab757a0c316670ca8c485497132dcb51c154483d50f887fd6e3f0d094", + "dweb:/ipfs/QmQQ9x36bKfyhDAC9bdqptsL3zPUvPn6piLLQ6Y9JyQKds" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "FeePool.sol": "FeePool" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 1500 + }, + "remappings": [] + }, + "sources": { + "FeePool.sol": { + "keccak256": "0xb197ac69f3b6e89713b5aeb686d7ae141fca9da76c59e0e7ff11279d747e85b4", + "urls": [ + "bzz-raw://0c76333ab757a0c316670ca8c485497132dcb51c154483d50f887fd6e3f0d094", + "dweb:/ipfs/QmQQ9x36bKfyhDAC9bdqptsL3zPUvPn6piLLQ6Y9JyQKds" + ] + } + }, + "version": 1 + } + }, + "RewardsDistribution": { + "bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c5578063bf7e214f146102cd578063c9e9cc4d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f57806395896b7614610297578063a430be6c146102bd57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b61015b600480360360208110156102ad57600080fd5b50356001600160a01b0316610ddc565b6101a5610e06565b6101a5610e15565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b610de4610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158206e57faabe931d25cb0ddc6aa29ee8dd4867e8647441bc9e7fdb219bb4b3e702d64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_authority", + "type": "address" + }, + { + "internalType": "address", + "name": "_synthetixProxy", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardEscrow", + "type": "address" + }, + { + "internalType": "address", + "name": "_feePoolProxy", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardDistributionAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardsDistributed", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "addRewardDistribution", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "authority", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "distributeRewards", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "distributions", + "outputs": [ + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "distributionsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "editRewardDistribution", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feePoolProxy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "removeRewardDistribution", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardEscrow", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_authority", + "type": "address" + } + ], + "name": "setAuthority", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_feePoolProxy", + "type": "address" + } + ], + "name": "setFeePoolProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardEscrow", + "type": "address" + } + ], + "name": "setRewardEscrow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_synthetixProxy", + "type": "address" + } + ], + "name": "setSynthetixProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthetixProxy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x80fc180997a3ed77cfbc846425c5aba81e95892bbef54d953b0f15f5df6b0832", + "urls": [ + "bzz-raw://ebda4ec4d4871a0c50964cddf6e95707ae7514ae1da5db188bdca189c69d7173", + "dweb:/ipfs/QmNkC7QVka8UrbX3qJaryoMhUQZDow4Boybcb9kWnvCbJ4" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "RewardsDistribution.sol": "RewardsDistribution" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "RewardsDistribution.sol": { + "keccak256": "0x80fc180997a3ed77cfbc846425c5aba81e95892bbef54d953b0f15f5df6b0832", + "urls": [ + "bzz-raw://ebda4ec4d4871a0c50964cddf6e95707ae7514ae1da5db188bdca189c69d7173", + "dweb:/ipfs/QmNkC7QVka8UrbX3qJaryoMhUQZDow4Boybcb9kWnvCbJ4" + ] + } + }, + "version": 1 + } + }, + "DebtCache": { + "bytecode": "60806040526008805461ff001960ff199091166001171690553480156200002557600080fd5b50604051620034f7380380620034f7833981016040819052620000489162000114565b81818080836001600160a01b0381166200007f5760405162461bcd60e51b81526004016200007690620001d0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000cc918490620001aa565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055506200022b9350505050565b80516200010e8162000211565b92915050565b600080604083850312156200012857600080fd5b600062000136858562000101565b9250506020620001498582860162000101565b9150509250929050565b6200015e81620001fd565b82525050565b6200015e81620001eb565b60006200017e601983620001e2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ba828562000153565b620001c9602083018462000164565b9392505050565b602080825281016200010e816200016f565b90815260200190565b60006001600160a01b0382166200010e565b60006200010e8260006200010e82620001eb565b6200021c81620001eb565b81146200022857600080fd5b50565b6132bc806200023b6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd146103cd578063d685743a146103d5578063e3476cd4146103e8578063fc524773146103f0576101e5565b8063af5355d81461038c578063b13cd78514610394578063b7224ec7146103a7578063cda218c7146103ba576101e5565b80638da5cb5b116100de5780638da5cb5b146103565780638dd5bfbc1461035e5780639e3b92ca14610371578063a5f27edb14610384576101e5565b80637418536014610329578063759076e51461033157806379ba509714610339578063899ffef414610341576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b819146102d657806353a47bb7146102e9578063614d08f8146102fe5780636bf7c43514610306576101e5565b80632992dba21461028b5780632af64bd3146102a1578063392e53cd146102b65780633a900a2e146102be576101e5565b806307619a5f116101c357806307619a5f146102325780630fb38465146102525780631627540c1461026557806317b38db414610278576101e5565b806304bd11e5146101ea57806304f3bcec146101ff578063053932621461021d575b600080fd5b6101fd6101f83660046128a3565b6103f8565b005b61020761040c565b6040516102149190613014565b60405180910390f35b61022561041b565b6040516102149190612fbd565b610245610240366004612701565b610422565b6040516102149190612f5b565b6102256102603660046128df565b610469565b6101fd6102733660046126bd565b61047b565b6101fd610286366004612743565b6104d9565b610293610554565b604051610214929190613113565b6102a961067c565b6040516102149190612faf565b6102a9610793565b6102c66107a1565b604051610214949392919061312e565b6101fd6102e43660046128df565b6107d2565b6102f16108ff565b6040516102149190612f01565b61022561090e565b610319610314366004612701565b61091e565b6040516102149493929190612f6c565b6101fd610971565b610293610ac7565b6101fd610ada565b610349610b7f565b6040516102149190612f4a565b6102f1610d13565b6101fd61036c3660046128df565b610d22565b6101fd61037f3660046128fd565b610de6565b6102a9610e35565b610225610e3e565b6102456103a2366004612701565b610e4d565b6101fd6103b536600461292d565b610e8b565b6101fd6103c8366004612701565b6110a0565b610225611179565b6101fd6103e33660046128fd565b61117f565b6101fd61120c565b6102a961143b565b610400611448565b61040981611482565b50565b6002546001600160a01b031681565b6004545b90565b60606104608383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506114cf92505050565b90505b92915050565b60009081526005602052604090205490565b61048361155f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104ce908390612f01565b60405180910390a150565b6104e1611589565b61054e84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092506115e4915050565b50505050565b6000806060610561611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059957600080fd5b505afa1580156105ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d591908101906127b3565b9050606060006105e361173d565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b815260040161060e9190612f4a565b60006040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106629190810190612852565b91509150610671838383611758565b945094505050509091565b60006060610688610b7f565b905060005b815181101561078a5760008282815181106106a457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106f5908590600401612fbd565b60206040518083038186803b15801561070d57600080fd5b505afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074591908101906126e3565b6001600160a01b031614158061077057506000818152600360205260409020546001600160a01b0316155b15610781576000935050505061041f565b5060010161068d565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff166107c382611985565b94509450945094505090919293565b6107da611448565b60006107e58261199e565b9050600082131561085b57631cd554d160e21b600052600560205260008051602061325a83398151915254610820908263ffffffff6119a916565b631cd554d160e21b600052600560205260008051602061325a83398151915255600454610853908263ffffffff6119a916565b6004556108c2565b631cd554d160e21b600052600560205260008051602061325a8339815191525461088b908263ffffffff6119ce16565b631cd554d160e21b600052600560205260008051602061325a833981519152556004546108be908263ffffffff6119ce16565b6004555b7f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5996004546040516108f39190612fbd565b60405180910390a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b606060008060006109618686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119f692505050565b9299919850965090945092505050565b606061097b610b7f565b905060005b8151811015610ac357600082828151811061099757fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109d99190612ef6565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a05929190612ff4565b60206040518083038186803b158015610a1d57600080fd5b505afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5591908101906126e3565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ab19084908490612fcb565b60405180910390a15050600101610980565b5050565b600080610ad2611b54565b915091509091565b6001546001600160a01b03163314610b0d5760405162461bcd60e51b8152600401610b0490613043565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b50926001600160a01b0391821692911690612f1d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b8a611d9c565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b81600081518110610bca57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bf057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610c1a57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c4357fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600481518110610c7157fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610c9c57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600681518110610cc557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600781518110610cf657fe5b602002602001018181525050610d0c8282611ded565b9250505090565b6000546001600160a01b031681565b610d2a61155f565b6000610d34611729565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610d5f9190612fbd565b60206040518083038186803b158015610d7757600080fd5b505afa158015610d8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610daf919081019061295d565b6001600160a01b031614610dd55760405162461bcd60e51b8152600401610b04906130f3565b600090815260056020526040812055565b610dee611ea9565b600082815260066020526040812054820190811215610e1f5760405162461bcd60e51b8152600401610b0490613033565b6000928352600660205260409092209190915550565b60085460ff1690565b6000610e48611f64565b905090565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061201492505050565b610e9361155f565b600854610100900460ff1615610ebb5760405162461bcd60e51b8152600401610b0490613083565b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4a91908101906127b3565b90506000815111610f6d5760405162461bcd60e51b8152600401610b0490613103565b6040516307619a5f60e01b81526060906001600160a01b038516906307619a5f90610f9c908590600401612f4a565b60006040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff0919081019061281d565b905060005b825181101561109957600082828151811061100c57fe5b602002602001015111156110915761106682828151811061102957fe5b60200260200101516006600086858151811061104157fe5b60200260200101518152602001908152602001600020546119a990919063ffffffff16565b6006600085848151811061107657fe5b60200260200101518152602001908152602001600020819055505b600101610ff5565b5050505050565b6110a861209c565b606060006110b461173d565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b81526004016110e1929190612f38565b60006040518083038186803b1580156110f957600080fd5b505afa15801561110d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111359190810190612852565b9150915061054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692508591506115e49050565b60075490565b611187611448565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106111b757fe5b602090810291909101015260408051600180825281830190925260609181602001602082028038833901905050905082816000815181106111f457fe5b60200260200101818152505061054e828260006115e4565b61121461209c565b606061121e611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561125657600080fd5b505afa15801561126a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261129291908101906127b3565b9050606060008060006112a4856119f6565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b8181101561135d57600087828151811061130957fe5b6020026020010151905061132681856119a990919063ffffffff16565b935080600560008b858151811061133957fe5b602090810291909101810151825281019190915260400160002055506001016112f3565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc78590556113ad838663ffffffff61210216565b6004819055426007556040519091507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599906113e9908390612fbd565b60405180910390a17fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f426040516114209190612fbd565b60405180910390a161143184611482565b5050505050505050565b6000610e48600754611985565b611450611729565b6001600160a01b0316336001600160a01b0316146114805760405162461bcd60e51b8152600401610b04906130e3565b565b60085460ff16151581151514610409576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611503578160200160208202803883390190505b50905060005b82811015611557576006600086838151811061152157fe5b602002602001015181526020019081526020016000205482828151811061154457fe5b6020908102919091010152600101611509565b509392505050565b6000546001600160a01b031633146114805760405162461bcd60e51b8152600401610b04906130c3565b611591611729565b6001600160a01b0316336001600160a01b031614806115c857506115b361211d565b6001600160a01b0316336001600160a01b0316145b6114805760405162461bcd60e51b8152600401610b0490613053565b8251825181146116065760405162461bcd60e51b8152600401610b04906130b3565b60008060606116158787612134565b905060005b848110156116a457600088828151811061163057fe5b60200260200101519050600083838151811061164857fe5b602002602001015190506116786005600084815260200190815260200160002054876119a990919063ffffffff16565b955061168a858263ffffffff6119a916565b60009283526005602052604090922055925060010161161a565b50818314611711576004546116cf846116c3838663ffffffff6119a916565b9063ffffffff6119ce16565b9050806004819055507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599816040516117079190612fbd565b60405180910390a1505b84156117205761172085611482565b50505050505050565b6000610e486524b9b9bab2b960d11b61230f565b6000610e486c45786368616e6765526174657360981b61230f565b60008060008061176661236c565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561179d57600080fd5b505afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d59190810190612999565b915091506000806117e461236c565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561181b57600080fd5b505afa15801561182f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118539190810190612999565b9150915086806118605750825b806118685750805b945061187a848363ffffffff6119a916565b955061190461188761238b565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118bf57600080fd5b505afa1580156118d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f7919081019061297b565b879063ffffffff6119a916565b955060005b89518110156119785761196e6119618a838151811061192457fe5b6020026020010151600660008e868151811061193c57fe5b60200260200101518152602001908152602001600020546123a590919063ffffffff16565b889063ffffffff6119a916565b9650600101611909565b5050505050935093915050565b6000814203611992611f64565b10806104635750501590565b6000610463826123ba565b6000828201838110156104605760405162461bcd60e51b8152600401610b0490613063565b6000828211156119f05760405162461bcd60e51b8152600401610b0490613073565b50900390565b6060600080600060606000611a0961173d565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b8152600401611a349190612f4a565b60006040518083038186803b158015611a4c57600080fd5b505afa158015611a60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a889190810190612852565b915091506060611a988884612134565b9050600080611aa88a8686611758565b91509150600080611ab76123d0565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611aee57600080fd5b505afa158015611b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b269190810190612999565b915091508482858880611b365750835b80611b3e5750855b9a509a509a509a50505050505050509193509193565b6000806060611b61611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bd591908101906127b3565b905060606000611be361173d565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b8152600401611c0e9190612f4a565b60006040518083038186803b158015611c2657600080fd5b505afa158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c629190810190612852565b915091506060611c728484612134565b9050600080611c82868686611758565b845191935091506000805b82811015611cc557611cbb868281518110611ca457fe5b6020026020010151836119a990919063ffffffff16565b9150600101611c8d565b50600080611cd16123d0565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611d0857600080fd5b505afa158015611d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d409190810190612999565b9092509050611d55838363ffffffff6119a916565b9250858310611d7357611d6e838763ffffffff6119ce16565b611d76565b60005b9250828880611d825750815b80611d8a5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611dde57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611e1d578160200160208202803883390190505b50905060005b8351811015611e5f57838181518110611e3857fe5b6020026020010151828281518110611e4c57fe5b6020908102919091010152600101611e23565b5060005b8251811015611ea257828181518110611e7857fe5b6020026020010151828286510181518110611e8f57fe5b6020908102919091010152600101611e63565b5092915050565b6000611eb36123f2565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b8152600401611ede9190612f0f565b60206040518083038186803b158015611ef657600080fd5b505afa158015611f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f2e91908101906128c1565b6000549091506001600160a01b031633148080611f485750815b610ac35760405162461bcd60e51b8152600401610b04906130a3565b6000611f6e61240e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401611fc4929190612fd9565b60206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e48919081019061297b565b6060600082519050606081604051908082528060200260200182016040528015612048578160200160208202803883390190505b50905060005b82811015611557576005600086838151811061206657fe5b602002602001015181526020019081526020016000205482828151811061208957fe5b602090810291909101015260010161204e565b6000546001600160a01b03163314611480576120b661242b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156120ee57600080fd5b505afa15801561054e573d6000803e3d6000fd5b60008282101561211457818303610460565b50600092915050565b6000610e486822bc31b430b733b2b960b91b61230f565b606060008351905080604051908082528060200260200182016040528015612166578160200160208202803883390190505b5091506060612173611729565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b815260040161219e9190612f4a565b60006040518083038186803b1580156121b657600080fd5b505afa1580156121ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121f291908101906127e8565b905060005b8281101561230657600082828151811061220d57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316141561224a5760405162461bcd60e51b8152600401610b0490613093565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561228557600080fd5b505afa158015612299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122bd919081019061297b565b90506122e58784815181106122ce57fe5b6020026020010151826123a590919063ffffffff16565b8684815181106122f157fe5b602090810291909101015250506001016121f7565b50505092915050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161233f91869101612ed6565b60405160208183030381529060405290611ea25760405162461bcd60e51b8152600401610b049190613022565b6000610e487021b7b63630ba32b930b626b0b730b3b2b960791b61230f565b6000610e486b22ba3432b92bb930b83832b960a11b61230f565b60006104608383670de0b6b3a7640000612445565b60008082126123c95781610463565b5060000390565b6000610e4873233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b61230f565b6000610e486d57726170706572466163746f727960901b61230f565b6000610e486e466c657869626c6553746f7261676560881b61230f565b6000610e486b53797374656d53746174757360a01b61230f565b600080600a830461245c868663ffffffff61248316565b8161246357fe5b0490506005600a82061061247557600a015b600a900490505b9392505050565b60008261249257506000610463565b8282028284828161249f57fe5b04146104605760405162461bcd60e51b8152600401610b04906130d3565b80356104638161322a565b80516104638161322a565b60008083601f8401126124e557600080fd5b50813567ffffffffffffffff8111156124fd57600080fd5b60208301915083602082028301111561251557600080fd5b9250929050565b600082601f83011261252d57600080fd5b815161254061253b8261317d565b613156565b9150818183526020840193506020810190508385602084028201111561256557600080fd5b60005b83811015612591578161257b888261269c565b8452506020928301929190910190600101612568565b5050505092915050565b600082601f8301126125ac57600080fd5b81516125ba61253b8261317d565b915081818352602084019350602081019050838560208402820111156125df57600080fd5b60005b8381101561259157816125f588826126b2565b84525060209283019291909101906001016125e2565b600082601f83011261261c57600080fd5b815161262a61253b8261317d565b9150818183526020840193506020810190508385602084028201111561264f57600080fd5b60005b838110156125915781612665888261269c565b8452506020928301929190910190600101612652565b80356104638161323e565b80516104638161323e565b803561046381613247565b805161046381613247565b803561046381613250565b805161046381613250565b6000602082840312156126cf57600080fd5b60006126db84846124bd565b949350505050565b6000602082840312156126f557600080fd5b60006126db84846124c8565b6000806020838503121561271457600080fd5b823567ffffffffffffffff81111561272b57600080fd5b612737858286016124d3565b92509250509250929050565b6000806000806040858703121561275957600080fd5b843567ffffffffffffffff81111561277057600080fd5b61277c878288016124d3565b9450945050602085013567ffffffffffffffff81111561279b57600080fd5b6127a7878288016124d3565b95989497509550505050565b6000602082840312156127c557600080fd5b815167ffffffffffffffff8111156127dc57600080fd5b6126db8482850161251c565b6000602082840312156127fa57600080fd5b815167ffffffffffffffff81111561281157600080fd5b6126db8482850161259b565b60006020828403121561282f57600080fd5b815167ffffffffffffffff81111561284657600080fd5b6126db8482850161260b565b6000806040838503121561286557600080fd5b825167ffffffffffffffff81111561287c57600080fd5b6128888582860161260b565b925050602061289985828601612686565b9150509250929050565b6000602082840312156128b557600080fd5b60006126db848461267b565b6000602082840312156128d357600080fd5b60006126db8484612686565b6000602082840312156128f157600080fd5b60006126db8484612691565b6000806040838503121561291057600080fd5b600061291c8585612691565b925050602061289985828601612691565b6000806040838503121561294057600080fd5b600061294c85856126a7565b9250506020612899858286016126a7565b60006020828403121561296f57600080fd5b60006126db84846126b2565b60006020828403121561298d57600080fd5b60006126db848461269c565b600080604083850312156129ac57600080fd5b6000612888858561269c565b60006129c48383612acd565b505060200190565b6129d5816131dd565b82525050565b6129d5816131b6565b60006129f083856131a8565b93506001600160fb1b03831115612a0657600080fd5b602083029250612a178385846131e8565b50500190565b6000612a28826131a4565b612a3281856131a8565b9350612a3d8361319e565b8060005b83811015612a6b578151612a5588826129b8565b9750612a608361319e565b925050600101612a41565b509495945050505050565b6000612a81826131a4565b612a8b81856131a8565b9350612a968361319e565b8060005b83811015612a6b578151612aae88826129b8565b9750612ab98361319e565b925050600101612a9a565b6129d5816131c1565b6129d58161041f565b6129d5612ae28261041f565b61041f565b6129d5816131c6565b6000612afb826131a4565b612b0581856131a8565b9350612b158185602086016131f4565b612b1e81613220565b9093019392505050565b6000612b356024836131a8565b7f4578636c7564656420646562742063616e6e6f74206265636f6d65206e6567618152637469766560e01b602082015260400192915050565b6000612b7b6035836131a8565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612bd26021836131a8565b7f53656e646572206973206e6f7420497373756572206f722045786368616e67658152603960f91b602082015260400192915050565b6000612c15601b836131a8565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612c4e601e836131a8565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612c876011836131b1565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612cb46013836131a8565b72185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b815260200192915050565b6000612ce36014836131a8565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000612d13601f836131a8565b7f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300815260200192915050565b6000612d4c601a836131a8565b7f496e707574206172726179206c656e6774687320646966666572000000000000815260200192915050565b6000612d85602f836131a8565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612dd66021836131a8565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612e196014836131a8565b7329b2b73232b91034b9903737ba1024b9b9bab2b960611b815260200192915050565b6000612e496019836131b1565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612e82600c836131a8565b6b53796e74682065786973747360a01b815260200192915050565b6000612eaa601d836131a8565b7f70726576696f75732049737375657220686173206e6f2073796e746873000000815260200192915050565b6000612ee182612c7a565b9150612eed8284612ad6565b50602001919050565b6000612ee182612e3c565b6020810161046382846129db565b6020810161046382846129cc565b60408101612f2b82856129db565b61247c60208301846129db565b602080825281016126db8184866129e4565b602080825281016104608184612a1d565b602080825281016104608184612a76565b60808082528101612f7d8187612a76565b9050612f8c6020830186612acd565b612f996040830185612acd565b612fa66060830184612ac4565b95945050505050565b602081016104638284612ac4565b602081016104638284612acd565b60408101612f2b8285612acd565b60408101612fe78285612acd565b61247c6020830184612acd565b604081016130028285612acd565b81810360208301526126db8184612af0565b602081016104638284612ae7565b602080825281016104608184612af0565b6020808252810161046381612b28565b6020808252810161046381612b6e565b6020808252810161046381612bc5565b6020808252810161046381612c08565b6020808252810161046381612c41565b6020808252810161046381612ca7565b6020808252810161046381612cd6565b6020808252810161046381612d06565b6020808252810161046381612d3f565b6020808252810161046381612d78565b6020808252810161046381612dc9565b6020808252810161046381612e0c565b6020808252810161046381612e75565b6020808252810161046381612e9d565b604081016131218285612acd565b61247c6020830184612ac4565b6080810161313c8287612acd565b6131496020830186612acd565b612f996040830185612ac4565b60405181810167ffffffffffffffff8111828210171561317557600080fd5b604052919050565b600067ffffffffffffffff82111561319457600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610463826131d1565b151590565b6000610463826131b6565b6001600160a01b031690565b6000610463826131c6565b82818337506000910152565b60005b8381101561320f5781810151838201526020016131f7565b8381111561054e5750506000910152565b601f01601f191690565b613233816131b6565b811461040957600080fd5b613233816131c1565b6132338161041f565b613233816131c656fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820ef34a01e4f8d2fb5815b8aa28977990895bed66375d7462371a3d70e3da8a0276c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "DebtCacheSnapshotTaken", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "cachedDebt", + "type": "uint256" + } + ], + "name": "DebtCacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bool", + "name": "isInvalid", + "type": "bool" + } + ], + "name": "DebtCacheValidityChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cacheInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isInvalid", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isStale", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cacheInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cacheStale", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cacheTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "cachedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "cachedSynthDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "cachedSynthDebts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "snxIssuedDebts", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "currentSynthDebts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "debtValues", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "futuresDebt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "excludedDebt", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "debtSnapshotStaleTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "excludedIssuedDebts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "excludedDebts", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IDebtCache", + "name": "prevDebtCache", + "type": "address" + }, + { + "internalType": "contract IIssuer", + "name": "prevIssuer", + "type": "address" + } + ], + "name": "importExcludedIssuedDebts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "purgeCachedSynthDebt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "int256", + "name": "delta", + "type": "int256" + } + ], + "name": "recordExcludedDebtChange", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "takeDebtSnapshot", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalNonSnxBackedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "excludedDebt", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "currencyRate", + "type": "uint256" + } + ], + "name": "updateCachedSynthDebtWithRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "updateCachedSynthDebts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "currencyRates", + "type": "uint256[]" + } + ], + "name": "updateCachedSynthDebtsWithRates", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "int256", + "name": "amount", + "type": "int256" + } + ], + "name": "updateCachedsUSDDebt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "currentlyInvalid", + "type": "bool" + } + ], + "name": "updateDebtCacheValidity", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x45faa43664c73555e199429f30aa328159e89cdb3ba577fbe38d6a7027a25151", + "urls": [ + "bzz-raw://be634e390f627855da201695ca40b5e650eda9696c622f1dc1c4b3fd4cbd2aa7", + "dweb:/ipfs/QmYgcUdEyoa5UhH77P1GCRe1FjrJPwFmiJyvpoCRz6wAVR" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "DebtCache.sol": "DebtCache" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "DebtCache.sol": { + "keccak256": "0x45faa43664c73555e199429f30aa328159e89cdb3ba577fbe38d6a7027a25151", + "urls": [ + "bzz-raw://be634e390f627855da201695ca40b5e650eda9696c622f1dc1c4b3fd4cbd2aa7", + "dweb:/ipfs/QmYgcUdEyoa5UhH77P1GCRe1FjrJPwFmiJyvpoCRz6wAVR" + ] + } + }, + "version": 1 + } + }, + "ExchangerWithFeeRecAlternatives": { + "bytecode": "60806040523480156200001157600080fd5b5060405162005a5938038062005a59833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61583280620002276000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063614d08f8116100f95780638e52049c11610097578063c39def0b11610071578063c39def0b14610379578063d6f32e061461039a578063dc703e73146103ad578063f450aa34146103c0576101c4565b80638e52049c14610353578063a4bca13114610369578063c193f0d814610371576101c4565b80637dd1a57a116100d35780637dd1a57a1461031b578063892571171461032e578063899ffef4146103365780638da5cb5b1461034b576101c4565b8063614d08f814610303578063741853601461030b57806379ba509714610313576101c4565b80632af64bd3116101665780634c268fc8116101405780634c268fc8146102a75780634f8633d2146102ba57806353a47bb7146102db57806357af302c146102f0576101c4565b80632af64bd31461027757806333a768801461028c578063372a395a1461029f576101c4565b80631627540c116101a25780631627540c1461021a57806319d5c6651461022f5780631a5c6095146102515780631b16802c14610264576101c4565b806304f3bcec146101c9578063059c29ec146101e75780630ae81a5e14610207575b600080fd5b6101d16103d3565b6040516101de9190615368565b60405180910390f35b6101fa6101f536600461442e565b6103e2565b6040516101de919061528f565b6101fa61021536600461461e565b610482565b61022d61022836600461432e565b6104bf565b005b61024261023d36600461442e565b61051d565b6040516101de9392919061530e565b6101fa61025f36600461461e565b6105d0565b61024261027236600461442e565b61063c565b61027f61074f565b6040516101de9190615281565b6101fa61029a366004614468565b610867565b6101fa610981565b6101fa6102b5366004614504565b610990565b6102cd6102c836600461436a565b610ac1565b6040516101de92919061566b565b6102e3610ca8565b6040516101de9190615177565b61027f6102fe3660046145e2565b610cb7565b6101fa610d44565b61022d610d68565b61022d610ebe565b6101fa6103293660046145e2565b610f5a565b6101fa611061565b61033e61106b565b6040516101de919061524b565b6102e36110e0565b61035b6110ef565b6040516101de929190615686565b6101fa611111565b61027f61111b565b61038c61038736600461461e565b611125565b6040516101de929190615650565b61027f6103a836600461442e565b611168565b6102426103bb3660046146f7565b611205565b6102426103ce3660046146f7565b61126f565b6002546001600160a01b031681565b60006104796103ef6115ab565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040161041c9291906151ae565b60206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061046c9190810190614600565b6104746115c6565b611672565b90505b92915050565b600061048c613f07565b61049633856116bd565b90506104a0613f07565b6104aa33856116bd565b90506104b6828261174b565b95945050505050565b6104c761178a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610512908390615177565b60405180910390a150565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__630a0ecd1b6105446117b6565b878761054e6115c6565b6040518563ffffffff1660e01b815260040161056d94939291906155ac565b60006040518083038186803b15801561058557600080fd5b505af4158015610599573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c1919081019061477d565b50919790965090945092505050565b60006105da613f07565b6105e433856116bd565b90506105ee613f07565b6105f833856116bd565b9050600080610607848461184f565b9150915080156106325760405162461bcd60e51b81526004016106299061549f565b60405180910390fd5b5095945050505050565b600080600061064961189e565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b8152600401610674919061528f565b60006040518083038186803b15801561068c57600080fd5b505afa1580156106a0573d6000803e3d6000fd5b5050505073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56106c66117b6565b878760016106d26115c6565b6040518663ffffffff1660e01b81526004016106f2959493929190615567565b60606040518083038186803b15801561070a57600080fd5b505af415801561071e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610742919081019061473a565b9250925092509250925092565b6000606061075b61106b565b905060005b815181101561085d57600082828151811061077757fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906107c890859060040161528f565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610818919081019061434c565b6001600160a01b031614158061084357506000818152600360205260409020546001600160a01b0316155b156108545760009350505050610864565b50600101610760565b5060019150505b90565b6000806108726118b8565b9050336001600160a01b038216148061090857506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f906108b5903390600401615185565b60206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190614600565b14155b6109245760405162461bcd60e51b81526004016106299061546f565b60006109338a8a8a8a8a6118cf565b9093509050838310156109585760405162461bcd60e51b81526004016106299061545f565b6109628187611f6a565b84156109745761097485888584612001565b5050979650505050505050565b600061098b612072565b905090565b81600061099b6120da565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004016109c6919061528f565b60206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a16919081019061463d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610a419190615177565b60206040518083038186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a919190810190614600565b905080821115610a9f578091505b8215610ab857610ab5828463ffffffff6120ee16565b91505b50949350505050565b6000806000610ace6118b8565b9050336001600160a01b0382161480610b6457506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f90610b11903390600401615185565b60206040518083038186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b619190810190614600565b14155b610b805760405162461bcd60e51b81526004016106299061546f565b60008c6001600160a01b03168c6001600160a01b031614610c3c57610ba3612113565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b8152600401610bd0929190615193565b60206040518083038186803b158015610be857600080fd5b505afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c2091908101906145c4565b610c3c5760405162461bcd60e51b8152600401610629906153df565b610c44613f07565b610c4e8d8d6116bd565b9050610c58613f07565b610c628e8c6116bd565b9050610c728f838e848e8e612132565b9197509095509250610c848389611f6a565b8615610c9657610c96878c8886612001565b50505050995099975050505050505050565b6001546001600160a01b031681565b600080610cc26127b5565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610ced919061528f565b604080518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3c919081019061467a565b949350505050565b7f45786368616e67657257697468466565526563416c7465726e6174697665730081565b6060610d7261106b565b905060005b8151811015610eba576000828281518110610d8e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610dd0919061516c565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dfc9291906152ee565b60206040518083038186803b158015610e1457600080fd5b505afa158015610e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e4c919081019061434c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ea8908490849061529d565b60405180910390a15050600101610d77565b5050565b6001546001600160a01b03163314610ee85760405162461bcd60e51b8152600401610629906153cf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610f2b926001600160a01b0391821692911690615193565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610f646127d0565b6001600160a01b031663ba03e93f610f7a6127b5565b6001600160a01b0316637103353e856040518263ffffffff1660e01b8152600401610fa5919061528f565b60206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff5919081019061434c565b6040518263ffffffff1660e01b81526004016110119190615177565b60206040518083038186803b15801561102957600080fd5b505afa15801561103d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047c9190810190614600565b600061098b6115c6565b6060806110766127ec565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b816000815181106110c357fe5b6020026020010181815250506110d982826129dd565b9250505090565b6000546001600160a01b031681565b60045467ffffffffffffffff811690600160401b90046001600160c01b031682565b600061098b612a99565b600061098b612b01565b600080611130613f07565b61113a33866116bd565b9050611144613f07565b61114e33866116bd565b905061115a8282612bb1565b9350935050505b9250929050565b600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__638317e96b61118c6117b6565b85856111966115c6565b6040518563ffffffff1660e01b81526004016111b594939291906155ac565b60206040518083038186803b1580156111cd57600080fd5b505af41580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047991908101906145c4565b6000806000611212613f07565b61121c33876116bd565b9050611226613f07565b61123033876116bd565b905061123a613f07565b61124b33631cd554d160e21b6116bd565b905061125989848484612c26565b50939d929c50909a509098505050505050505050565b600080600061127c613f07565b61128633876116bd565b9050611290613f07565b61129a33876116bd565b9050631cd554d160e21b87148061133157506112b46127b5565b6001600160a01b0316632528f0fe886040518263ffffffff1660e01b81526004016112df919061528f565b60206040518083038186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061132f91908101906145c4565b155b61134d5760405162461bcd60e51b8152600401610629906153af565b631cd554d160e21b8614806113e257506113656127b5565b6001600160a01b0316632528f0fe876040518263ffffffff1660e01b8152600401611390919061528f565b60206040518083038186803b1580156113a857600080fd5b505afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113e091908101906145c4565b155b6113fe5760405162461bcd60e51b8152600401610629906153ff565b61140661189e565b6001600160a01b03166342a28e21886040518263ffffffff1660e01b8152600401611431919061528f565b60006040518083038186803b15801561144957600080fd5b505afa15801561145d573d6000803e3d6000fd5b5050505061146961189e565b6001600160a01b03166342a28e21876040518263ffffffff1660e01b8152600401611494919061528f565b60006040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b5050505060006114d0838361184f565b909450905080156114f35760405162461bcd60e51b8152600401610629906154bf565b60006114fd6127b5565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040161152c9392919061530e565b60606040518083038186803b15801561154457600080fd5b505afa158015611558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157c919081019061473a565b5050905061158a8186612cfb565b965061159c818863ffffffff612d8d16565b95505050505093509350939050565b600061098b6c45786368616e6765537461746560981b612db5565b60006115d0612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b81526004016116229291906152ab565b60206040518083038186803b15801561163a57600080fd5b505afa15801561164e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b9190810190614600565b6000821580611690575061168c838363ffffffff6120ee16565b4210155b1561169d5750600061047c565b610479426116b1858563ffffffff6120ee16565b9063ffffffff612d8d16565b6116c5613f07565b6116cd612e2f565b6001600160a01b031663697b659b84846040518363ffffffff1660e01b81526004016116fa9291906151ae565b6101a06040518083038186803b15801561171357600080fd5b505afa158015611727573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610479919081019061465b565b600080611769836060015185606001516120ee90919063ffffffff16565b905080610479576101008084015190850151610d3c9163ffffffff6120ee16565b6000546001600160a01b031633146117b45760405162461bcd60e51b81526004016106299061548f565b565b6117be613f84565b6040518060c001604052806117d16115ab565b6001600160a01b031681526020016117e76127b5565b6001600160a01b031681526020016117fd6127d0565b6001600160a01b03168152602001611813612e55565b6001600160a01b031681526020016118296120da565b6001600160a01b0316815260200161183f6118b8565b6001600160a01b03169052905090565b60008060006118718461010001518661010001516120ee90919063ffffffff16565b9050600061187f8686612bb1565b93509050611893828263ffffffff6120ee16565b935050509250929050565b600061098b6b53797374656d53746174757360a01b612db5565b600061098b680a6f2dce8d0cae8d2f60bb1b612db5565b6000806000806000806118e0613f07565b6118ea8c8c6116bd565b90506118f4613f07565b6118fe8d8b6116bd565b905061190b8c8b8d612e6c565b611922575060009650869550611f60945050505050565b61192a6127b5565b6001600160a01b031663fce132f9836040518263ffffffff1660e01b8152600401611955919061551f565b60206040518083038186803b15801561196d57600080fd5b505afa158015611981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119a591908101906145c4565b156119c25760405162461bcd60e51b8152600401610629906154ff565b6119ca6127b5565b6001600160a01b031663fce132f9826040518263ffffffff1660e01b81526004016119f5919061551f565b60206040518083038186803b158015611a0d57600080fd5b505afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a4591908101906145c4565b15611a625760405162461bcd60e51b81526004016106299061547f565b611a6d8b8e8e61304e565b955085611a87575060009650869550611f60945050505050565b611a8f613f07565b611aa08e631cd554d160e21b6116bd565b90506000611ab088858585612c26565b949e50929c509099509097509095509050611ac96127d0565b6001600160a01b03166378cb51cb82611ae88d8d63ffffffff6120ee16565b6040518363ffffffff1660e01b8152600401611b059291906152ab565b60206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b5591908101906145c4565b15611b725760405162461bcd60e51b81526004016106299061540f565b6000631cd554d160e21b8f1415611b8a575087611bcf565b631cd554d160e21b8d1415611ba0575080611bcf565b600080611baf8b888788612c26565b5050505091509150611bca81836120ee90919063ffffffff16565b925050505b611bd98582613118565b5050505050611bee8a8c868b8a8c60006131b6565b508415611e4b57611bfd6127b5565b6001600160a01b031663654a60ac8987631cd554d160e21b6040518463ffffffff1660e01b8152600401611c339392919061530e565b60206040518083038186803b158015611c4b57600080fd5b505afa158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c839190810190614600565b9450611c8d6120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401611cbf919061528f565b60206040518083038186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d0f919081019061463d565b6001600160a01b031663867904b4611d2561347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5d57600080fd5b505afa158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d95919081019061434c565b876040518363ffffffff1660e01b8152600401611db39291906151ae565b600060405180830381600087803b158015611dcd57600080fd5b505af1158015611de1573d6000803e3d6000fd5b50505050611ded61347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b8152600401611e18919061528f565b600060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050505b611e7d60405180604001604052808c81526020018a815250604051806040016040528085815260200184815250613493565b611e856118b8565b6001600160a01b0316636c00f3108c8c878c8b8d6040518763ffffffff1660e01b8152600401611eba969594939291906151f1565b600060405180830381600087803b158015611ed457600080fd5b505af1158015611ee8573d6000803e3d6000fd5b50505050611ef46118b8565b6001600160a01b0316632f7206ce8c8c878c8b8d6040518763ffffffff1660e01b8152600401611f29969594939291906151f1565b600060405180830381600087803b158015611f4357600080fd5b505af1158015611f57573d6000803e3d6000fd5b50505050505050505b9550959350505050565b600082118015611f8257506001600160a01b03811615155b8015611f915750611f91612b01565b15610eba57611f9e6136d9565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b8152600401611fcb92919061529d565b600060405180830381600087803b158015611fe557600080fd5b505af1158015611ff9573d6000803e3d6000fd5b505050505050565b6120096118b8565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b815260040161203a94939291906152b9565b600060405180830381600087803b15801561205457600080fd5b505af1158015612068573d6000803e3d6000fd5b5050505050505050565b600061207c612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b81526004016116229291906152ab565b600061098b6524b9b9bab2b960d11b612db5565b6000828201838110156104795760405162461bcd60e51b8152600401610629906153ef565b600061098b7044656c6567617465417070726f76616c7360781b612db5565b600080600061214a8860000151876000015189612e6c565b61215c575060009150819050806127a9565b612164613fb9565b61216c613f84565b6121746117b6565b60208101518b51604051633d00c50f60e11b81529293506001600160a01b0390911691637a018a1e916121a99160040161528f565b60206040518083038186803b1580156121c157600080fd5b505afa1580156121d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f99190810190614600565b60a083015260208101518851604051633d00c50f60e11b81526001600160a01b0390921691637a018a1e916122309160040161528f565b60206040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122809190810190614600565b60c08301528951612294908a908d9061304e565b60e083018190526122b15750600093508392508291506127a99050565b60208101518a5160e08401518a5160a086015160c087015160405162d9ccd960e71b81526001600160a01b0390961695636ce66c80956122fb95909490939092909160040161531c565b60606040518083038186803b15801561231357600080fd5b505afa158015612327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061234b919081019061473a565b6020850152835260408301528951885160a084015160c0850151612371939291906136f5565b60006123878b8a8560a001518660c00151613861565b6060850191909152905080156123aa5750600094508493508392506127a9915050565b6123bc83604001518460600151612cfb565b60408401519096506123d4908763ffffffff612d8d16565b94506123f18b600001518d8560e001518c600001518a8d8d6131b6565b93506001600160a01b03841615612406578397505b84156126615760208201518951604051631952982b60e21b81526001600160a01b039092169163654a60ac91612449918990631cd554d160e21b9060040161530e565b60206040518083038186803b15801561246157600080fd5b505afa158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124999190810190614600565b94506124a36120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004016124d5919061528f565b60206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612525919081019061463d565b6001600160a01b031663867904b461253b61347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561257357600080fd5b505afa158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125ab919081019061434c565b876040518363ffffffff1660e01b81526004016125c99291906151ae565b600060405180830381600087803b1580156125e357600080fd5b505af11580156125f7573d6000803e3d6000fd5b5050505061260361347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b815260040161262e919061528f565b600060405180830381600087803b15801561264857600080fd5b505af115801561265c573d6000803e3d6000fd5b505050505b6040805180820182528c5181528a51602080830191909152825180840190935285518352858101519083015261269691613493565b61269e6118b8565b6001600160a01b0316636c00f3108d8d600001518660e001518d600001518b8e6040518763ffffffff1660e01b81526004016126df969594939291906151f1565b600060405180830381600087803b1580156126f957600080fd5b505af115801561270d573d6000803e3d6000fd5b50505050600061271b6115c6565b11156127a55773__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__632f2de902838a8e600001518760e001518e600001518c8a606001516040518863ffffffff1660e01b815260040161277497969594939291906155e3565b60006040518083038186803b15801561278c57600080fd5b505af41580156127a0573d6000803e3d6000fd5b505050505b5050505b96509650969350505050565b600061098b6c45786368616e6765526174657360981b612db5565b600061098b6d21b4b931bab4ba213932b0b5b2b960911b612db5565b6060806127f76138b4565b60408051600b80825261018082019092529192506060919060208201610160803883390190505090506b53797374656d53746174757360a01b8160008151811061283d57fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061286757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061289157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106128b757fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106128db57fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061290657fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160068151811061293457fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061295757fe5b6020026020010181815250506844656274436163686560b81b8160088151811061297d57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b816009815181106129a857fe5b602002602001018181525050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b81600a815181106110c357fe5b60608151835101604051908082528060200260200182016040528015612a0d578160200160208202803883390190505b50905060005b8351811015612a4f57838181518110612a2857fe5b6020026020010151828281518110612a3c57fe5b6020908102919091010152600101612a13565b5060005b8251811015612a9257828181518110612a6857fe5b6020026020010151828286510181518110612a7f57fe5b6020908102919091010152600101612a53565b5092915050565b6000612aa3612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b81526004016116229291906152ab565b6000612b0b612e12565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401612b619291906152ab565b60206040518083038186803b158015612b7957600080fd5b505afa158015612b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b91908101906145c4565b600080600080612bc085613905565b91509150600080612bd088613905565b9092509050612be5848363ffffffff6120ee16565b610120890151909650861180612bfb5786612c02565b8861012001515b9650868180612c0e5750845b80612c165750825b9650965050505050509250929050565b6000806000806000806000612c396127b5565b6001600160a01b03166326bd30fa8b8d8c8c6040518563ffffffff1660e01b8152600401612c6a949392919061552e565b60806040518083038186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cba91908101906147ea565b919650945092509050612ccd8a8a61174b565b9450612cd98186612cfb565b9650612ceb818863ffffffff612d8d16565b9550509499939850945094509450565b6000610479612d808373__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4857600080fd5b505af4158015612d5c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116b19190810190614600565b849063ffffffff6139d616565b600082821115612daf5760405162461bcd60e51b81526004016106299061542f565b50900390565b60008181526003602090815260408083205490516001600160a01b039091169182151591612de59186910161514c565b60405160208183030381529060405290612a925760405162461bcd60e51b8152600401610629919061539e565b600061098b6e466c657869626c6553746f7261676560881b612db5565b600061098b772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612db5565b600061098b6844656274436163686560b81b612db5565b600082841415612e8e5760405162461bcd60e51b8152600401610629906153bf565b60008211612eae5760405162461bcd60e51b81526004016106299061541f565b600080631cd554d160e21b861415612ec95760008080612f4e565b612ed16127b5565b6001600160a01b031663045056f8876040518263ffffffff1660e01b8152600401612efc919061528f565b606060405180830381600087803b158015612f1657600080fd5b505af1158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f4e91908101906146aa565b9250925050600080631cd554d160e21b871415612f6e5760008080612ff3565b612f766127b5565b6001600160a01b031663045056f8886040518263ffffffff1660e01b8152600401612fa1919061528f565b606060405180830381600087803b158015612fbb57600080fd5b505af1158015612fcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ff391908101906146aa565b925092505082156130165760405162461bcd60e51b8152600401610629906154df565b80156130345760405162461bcd60e51b81526004016106299061544f565b83158015613040575081155b9450505050505b9392505050565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56130756117b6565b878760006130816115c6565b6040518663ffffffff1660e01b81526004016130a1959493929190615567565b60606040518083038186803b1580156130b957600080fd5b505af41580156130cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130f1919081019061473a565b889550909350915050801561310f5761310c85858885610990565b92505b50509392505050565b60045460009067ffffffffffffffff1642146131345781613151565b60045461315190600160401b90046001600160c01b0316836120ee565b90508260a001518111156131775760405162461bcd60e51b81526004016106299061550f565b600480546001600160c01b03909216600160401b0267ffffffffffffffff42811667ffffffffffffffff19909416939093179092169190911790555050565b60006131c06120da565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004016131eb919061528f565b60206040518083038186803b15801561320357600080fd5b505afa158015613217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061323b919081019061463d565b6001600160a01b0316639dc29fac88886040518363ffffffff1660e01b81526004016132689291906151ae565b600060405180830381600087803b15801561328257600080fd5b505af1158015613296573d6000803e3d6000fd5b5050505060006132a46120da565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004016132cf919061528f565b60206040518083038186803b1580156132e757600080fd5b505afa1580156132fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331f919081019061463d565b905082156134115760008190506133a8816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b15801561336857600080fd5b505afa15801561337c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133a0919081019061463d565b86888a613a00565b60405163219e412d60e21b81529093506001600160a01b0383169063867904b4906133d99086908a906004016151ae565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b5050505050613472565b60405163219e412d60e21b81526001600160a01b0382169063867904b49061343f90879089906004016151ae565b600060405180830381600087803b15801561345957600080fd5b505af115801561346d573d6000803e3d6000fd5b505050505b50979650505050505050565b600061098b66119959541bdbdb60ca1b612db5565b8151600090631cd554d160e21b14806134b657506020830151631cd554d160e21b145b90506000816134c65760036134c9565b60025b60ff1690506060816040519080825280602002602001820160405280156134fa578160200160208202803883390190505b50905084600060200201518160008151811061351257fe5b602090810291909101015284600160200201518160018151811061353257fe5b60200260200101818152505060608260405190808252806020026020018201604052801561356a578160200160208202803883390190505b50905084600060200201518160008151811061358257fe5b60209081029190910101528460016020020151816001815181106135a257fe5b6020026020010181815250508361366a57631cd554d160e21b826002815181106135c857fe5b60200260200101818152505073__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561361857600080fd5b505af415801561362c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136509190810190614600565b8160028151811061365d57fe5b6020026020010181815250505b613672612e55565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b815260040161369f92919061525c565b600060405180830381600087803b1580156136b957600080fd5b505af11580156136cd573d6000803e3d6000fd5b50505050505050505050565b600061098b6d54726164696e675265776172647360901b612db5565b828414156137155760405162461bcd60e51b8152600401610629906153bf565b6040805160028082526060808301845292602083019080388339019050509050848160008151811061374357fe5b602002602001018181525050838160018151811061375d57fe5b60209081029190910101526040805160028082526060828101909352816020016020820280388339019050509050838160008151811061379957fe5b60200260200101818152505082816001815181106137b357fe5b6020026020010181815250506137c76127b5565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b81526004016137f492919061525c565b60206040518083038186803b15801561380c57600080fd5b505afa158015613820573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061384491908101906145c4565b15611ff95760405162461bcd60e51b8152600401610629906154ef565b60008060006138838661010001518861010001516120ee90919063ffffffff16565b9050600061389388888888613b43565b935090506138a7828263ffffffff6120ee16565b9350505094509492505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106138f657fe5b60200260200101818152505090565b600080631cd554d160e21b836000015114806139275750600183610140015111155b15613937575060009050806139d1565b60006139416127b5565b8451604051633d00c50f60e11b81526001600160a01b039290921691637a018a1e9161396f9160040161528f565b60206040518083038186803b15801561398757600080fd5b505afa15801561399b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139bf9190810190614600565b90506139cb8482613bbc565b92509250505b915091565b6000670de0b6b3a76400006139f1848463ffffffff613cc616565b816139f857fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613a355760405162461bcd60e51b8152600401610629906154cf565b6000613a7d613a42613d00565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613d24565b600254604051638d7017d360e01b81529192506001600160a01b0380841692638d7017d392613ab9928b929116908a908a908a90600401615376565b600060405180830381600087803b158015613ad357600080fd5b505af1158015613ae7573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f838688604051613b32939291906151c9565b60405180910390a395945050505050565b600080600080613b538786613bbc565b91509150600080613b648a89613bbc565b9092509050613b79848363ffffffff6120ee16565b6101208b0151909650861180613b8f5786613b96565b8a61012001515b9650868180613ba25750845b80613baa5750825b96509650505050505094509492505050565b600080631cd554d160e21b84600001511480613bde5750600184610140015111155b15613bee57506000905080611161565b6060613bf86127b5565b8551610140870151604051630ed7624560e41b81526001600160a01b03939093169263ed76245092613c30929091899060040161530e565b60006040518083038186803b158015613c4857600080fd5b505afa158015613c5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c849190810190614565565b5080915050613c9e81866101600151876101800151613d6e565b610120860151909350831180613cb45783613cbb565b8561012001515b969095509350505050565b600082613cd55750600061047c565b82820282848281613ce257fe5b04146104795760405162461bcd60e51b8152600401610629906154af565b600061098b755669727475616c53796e74684d6173746572636f707960501b612db5565b60006060613d3184613df8565b90506037602082016000f09150826001600160a01b038316613d665760405162461bcd60e51b8152600401610629919061539e565b505092915050565b6000835160001415613d8257506000613047565b8351600090600019015b8015610ab857613da2828563ffffffff6139d616565b91506000613dda876001840381518110613db857fe5b6020026020010151888481518110613dcc57fe5b602002602001015188613e54565b9050613dec838263ffffffff6120ee16565b92505060001901613d8c565b604051606090613e3e90693d602d80600a3d3981f360b01b9069363d3d373d3d3d363d7360b01b9085906e5af43d82803e903d91602b57fd5bf360881b90602001615104565b6040516020818303038152906040529050919050565b600082613e6357506000613047565b6000838511613e7457848403613e78565b8385035b90506000613e8c828663ffffffff613ea816565b9050838111613e9c57600061310c565b92909203949350505050565b600061047982613ec685670de0b6b3a764000063ffffffff613cc616565b9063ffffffff613ed216565b6000808211613ef35760405162461bcd60e51b81526004016106299061543f565b6000828481613efe57fe5b04949350505050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561047c816157bd565b805161047c816157bd565b600082601f83011261402557600080fd5b8151614038614033826156c8565b6156a1565b915081818352602084019350602081019050838561010084028201111561405e57600080fd5b60005b8381101561408d5781614074888261413e565b8452506020909201916101009190910190600101614061565b5050505092915050565b600082601f8301126140a857600080fd5b81516140b6614033826156c8565b915081818352602084019350602081019050838560208402820111156140db57600080fd5b60005b8381101561408d57816140f18882614128565b84525060209283019291909101906001016140de565b803561047c816157d4565b805161047c816157d4565b803561047c816157dd565b805161047c816157dd565b805161047c816157e6565b6000610100828403121561415157600080fd5b61415c6101006156a1565b9050600061416a8484614128565b825250602061417b84848301614128565b602083015250604061418f84828501614128565b60408301525060606141a384828501614128565b60608301525060806141b784828501614128565b60808301525060a06141cb84828501614128565b60a08301525060c06141df84828501614128565b60c08301525060e06141f384828501614128565b60e08301525092915050565b60006101a0828403121561421257600080fd5b61421d6101a06156a1565b9050600061422b8484614128565b825250602061423c84848301614009565b602083015250604061425084828501614009565b604083015250606061426484828501614128565b606083015250608061427884828501614128565b60808301525060a061428c84828501614128565b60a08301525060c06142a084828501614128565b60c08301525060e06142b484828501614128565b60e0830152506101006142c984828501614128565b610100830152506101206142df84828501614128565b610120830152506101406142f584828501614128565b6101408301525061016061430b84828501614128565b6101608301525061018061432184828501614128565b6101808301525092915050565b60006020828403121561434057600080fd5b6000610d3c8484613ffe565b60006020828403121561435e57600080fd5b6000610d3c8484614009565b60008060008060008060008060006101208a8c03121561438957600080fd5b60006143958c8c613ffe565b99505060206143a68c828d01613ffe565b98505060406143b78c828d0161411d565b97505060606143c88c828d0161411d565b96505060806143d98c828d0161411d565b95505060a06143ea8c828d01613ffe565b94505060c06143fb8c828d01614107565b93505060e061440c8c828d01613ffe565b92505061010061441e8c828d0161411d565b9150509295985092959850929598565b6000806040838503121561444157600080fd5b600061444d8585613ffe565b925050602061445e8582860161411d565b9150509250929050565b600080600080600080600060e0888a03121561448357600080fd5b600061448f8a8a613ffe565b97505060206144a08a828b0161411d565b96505060406144b18a828b0161411d565b95505060606144c28a828b0161411d565b94505060806144d38a828b01613ffe565b93505060a06144e48a828b0161411d565b92505060c06144f58a828b0161411d565b91505092959891949750929550565b6000806000806080858703121561451a57600080fd5b60006145268787613ffe565b94505060206145378782880161411d565b93505060406145488782880161411d565b92505060606145598782880161411d565b91505092959194509250565b6000806040838503121561457857600080fd5b825167ffffffffffffffff81111561458f57600080fd5b61459b85828601614097565b925050602083015167ffffffffffffffff8111156145b857600080fd5b61445e85828601614097565b6000602082840312156145d657600080fd5b6000610d3c8484614112565b6000602082840312156145f457600080fd5b6000610d3c848461411d565b60006020828403121561461257600080fd5b6000610d3c8484614128565b6000806040838503121561463157600080fd5b600061444d858561411d565b60006020828403121561464f57600080fd5b6000610d3c8484614133565b60006101a0828403121561466e57600080fd5b6000610d3c84846141ff565b6000806040838503121561468d57600080fd5b60006146998585614128565b925050602061445e85828601614112565b6000806000606084860312156146bf57600080fd5b60006146cb8686614128565b93505060206146dc86828701614112565b92505060406146ed86828701614112565b9150509250925092565b60008060006060848603121561470c57600080fd5b6000614718868661411d565b93505060206147298682870161411d565b92505060406146ed8682870161411d565b60008060006060848603121561474f57600080fd5b600061475b8686614128565b935050602061476c86828701614128565b92505060406146ed86828701614128565b6000806000806080858703121561479357600080fd5b600061479f8787614128565b94505060206147b087828801614128565b93505060406147c187828801614128565b925050606085015167ffffffffffffffff8111156147de57600080fd5b61455987828801614014565b6000806000806080858703121561480057600080fd5b600061480c8787614128565b945050602061481d87828801614128565b935050604061482e87828801614128565b925050606061455987828801614128565b600061484b8383614949565b505060200190565b61485c81615765565b82525050565b61485c81615701565b61485c61487782615701565b61579c565b6000614887826156ef565b61489181856156f3565b935061489c836156e9565b8060005b838110156148ca5781516148b4888261483f565b97506148bf836156e9565b9250506001016148a0565b509495945050505050565b60006148e0826156ef565b6148ea81856156f3565b93506148f5836156e9565b8060005b838110156148ca57815161490d888261483f565b9750614918836156e9565b9250506001016148f9565b61485c8161570c565b61485c61493882615711565b610864565b61485c6149388261571e565b61485c81610864565b61485c61493882610864565b61485c81615735565b6000614972826156ef565b61497c81856156f3565b935061498c818560208601615770565b614995816157ad565b9093019392505050565b60006149ac6016836156f3565b751cdc98c81cde5b9d1a081c985d19481a5b9d985b1a5960521b815260200192915050565b60006149de6013836156f3565b72086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b815260200192915050565b6000614a0d6035836156f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614a64601d836156f3565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b6000614a9d601b836156f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614ad66017836156f3565b7f646573742073796e7468207261746520696e76616c6964000000000000000000815260200192915050565b6000614b0f601d836156f3565b7f41746f6d6963207261746520646576696174657320746f6f206d756368000000815260200192915050565b6000614b48600b836156f3565b6a16995c9bc8185b5bdd5b9d60aa1b815260200192915050565b6000614b6f601e836156f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614ba8601a836156f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614be16011836156fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614c0e601a836156f3565b7f646573742072617465207374616c65206f7220666c6167676564000000000000815260200192915050565b6000614c47603a836156f3565b7f54686520616d6f756e742072656365697665642069732062656c6f772074686581527f206d696e696d756d20616d6f756e74207370656369666965642e000000000000602082015260400192915050565b6000614ca66045836156f3565b7f45786368616e6765723a204f6e6c792073796e746865746978206f722061207381527f796e746820636f6e74726163742063616e20706572666f726d2074686973206160208201526431ba34b7b760d91b604082015260600192915050565b6000614d136017836156f3565b7f446573742073796e746820746f6f20766f6c6174696c65000000000000000000815260200192915050565b6000614d4c602f836156f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614d9d600c836156f3565b6b746f6f20766f6c6174696c6560a01b815260200192915050565b6000614dc56021836156f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614e08601b836156f3565b7f65786368616e676520726174657320746f6f20766f6c6174696c650000000000815260200192915050565b6000614e41601c836156f3565b7f43616e6e6f74207669727475616c697a6520746869732073796e746800000000815260200192915050565b6000614e7a6019836156fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614eb36019836156f3565b7f7372632072617465207374616c65206f7220666c616767656400000000000000815260200192915050565b6000614eec601e836156f3565b7f7372632f646573742072617465207374616c65206f7220666c61676765640000815260200192915050565b6000614f256016836156f3565b755372632073796e746820746f6f20766f6c6174696c6560501b815260200192915050565b6000614f576016836156f3565b7514dd5c9c185cdcd959081d9bdb1d5b59481b1a5b5a5d60521b815260200192915050565b80516101a0830190614f8e8482614949565b506020820151614fa16020850182614862565b506040820151614fb46040850182614862565b506060820151614fc76060850182614949565b506080820151614fda6080850182614949565b5060a0820151614fed60a0850182614949565b5060c082015161500060c0850182614949565b5060e082015161501360e0850182614949565b50610100820151615028610100850182614949565b5061012082015161503d610120850182614949565b50610140820151615052610140850182614949565b50610160820151615067610160850182614949565b5061018082015161507c610180850182614949565b50505050565b805160c0830190615093848261495e565b5060208201516150a6602085018261495e565b5060408201516150b9604085018261495e565b5060608201516150cc606085018261495e565b5060808201516150df608085018261495e565b5060a082015161507c60a085018261495e565b61485c8161574c565b61485c81615758565b6000615110828761492c565b600a82019150615120828661492c565b600a82019150615130828561486b565b601482019150615140828461493d565b50600f01949350505050565b600061515782614bd4565b91506151638284614952565b50602001919050565b600061515782614e6d565b6020810161047c8284614862565b6020810161047c8284614853565b604081016151a18285614862565b6130476020830184614862565b604081016151bc8285614862565b6130476020830184614949565b606081016151d78286614862565b6151e46020830185614949565b610d3c6040830184614949565b60c081016151ff8289614862565b61520c6020830188614949565b6152196040830187614949565b6152266060830186614949565b6152336080830185614949565b61524060a0830184614862565b979650505050505050565b60208082528101610479818461487c565b6040808252810161526d818561487c565b90508181036020830152610d3c81846148d5565b6020810161047c8284614923565b6020810161047c8284614949565b604081016151a18285614949565b604081016151bc8285614949565b608081016152c78287614949565b6152d46020830186614949565b6152e16040830185614949565b6104b66060830184614949565b604081016152fc8285614949565b8181036020830152610d3c8184614967565b606081016151d78286614949565b60a0810161532a8288614949565b6153376020830187614949565b6153446040830186614949565b6153516060830185614949565b61535e6080830184614949565b9695505050505050565b6020810161047c828461495e565b60a08101615384828861495e565b615391602083018761495e565b6153446040830186614862565b602080825281016104798184614967565b6020808252810161047c8161499f565b6020808252810161047c816149d1565b6020808252810161047c81614a00565b6020808252810161047c81614a57565b6020808252810161047c81614a90565b6020808252810161047c81614ac9565b6020808252810161047c81614b02565b6020808252810161047c81614b3b565b6020808252810161047c81614b62565b6020808252810161047c81614b9b565b6020808252810161047c81614c01565b6020808252810161047c81614c3a565b6020808252810161047c81614c99565b6020808252810161047c81614d06565b6020808252810161047c81614d3f565b6020808252810161047c81614d90565b6020808252810161047c81614db8565b6020808252810161047c81614dfb565b6020808252810161047c81614e34565b6020808252810161047c81614ea6565b6020808252810161047c81614edf565b6020808252810161047c81614f18565b6020808252810161047c81614f4a565b6101a0810161047c8284614f7c565b610500810161553d8287614f7c565b61554b6101a0830186614949565b6155596101c0830185614f7c565b6104b6610360830184614f7c565b61014081016155768288615082565b61558360c0830187614862565b61559060e0830186614949565b61559e610100830185614923565b61535e610120830184614949565b61012081016155bb8287615082565b6155c860c0830186614862565b6155d560e0830185614949565b6104b6610100830184614949565b61018081016155f2828a615082565b6155ff60c0830189614862565b61560c60e0830188614949565b61561a610100830187614949565b615628610120830186614949565b615636610140830185614949565b615644610160830184614949565b98975050505050505050565b6040810161565e8285614949565b6130476020830184614923565b604081016156798285614949565b613047602083018461495e565b6040810161569482856150fb565b61304760208301846150f2565b60405181810167ffffffffffffffff811182821017156156c057600080fd5b604052919050565b600067ffffffffffffffff8211156156df57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b600061047c82615740565b151590565b6001600160b01b03191690565b70ffffffffffffffffffffffffffffffffff191690565b600061047c82615701565b6001600160a01b031690565b6001600160c01b031690565b67ffffffffffffffff1690565b600061047c82615735565b60005b8381101561578b578181015183820152602001615773565b8381111561507c5750506000910152565b600061047c82600061047c826157b7565b601f01601f191690565b60601b90565b6157c681615701565b81146157d157600080fd5b50565b6157c68161570c565b6157c681610864565b6157c68161573556fea365627a7a7231582015fce35424935ddbf2276e4bb135bd1b5a20523351334aac8ff00fc4576dea196c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "name": "ExchangeEntryAppended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reclaim", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "srcRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "destRoundIdAtPeriodEnd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "exchangeTimestamp", + "type": "uint256" + } + ], + "name": "ExchangeEntrySettled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "synth", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "vSynth", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "VirtualSynthCreated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "atomicMaxVolumePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "refunded", + "type": "uint256" + } + ], + "name": "calculateAmountAfterSettlement", + "outputs": [ + { + "internalType": "uint256", + "name": "amountAfterSettlement", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "dynamicFeeRateForExchange", + "outputs": [ + { + "internalType": "uint256", + "name": "feeRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "tooVolatile", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "exchangeForAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "destinationAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "virtualSynth", + "type": "bool" + }, + { + "internalType": "address", + "name": "rewardAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "exchange", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "contract IVirtualSynth", + "name": "vSynth", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "destinationAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "minAmount", + "type": "uint256" + } + ], + "name": "exchangeAtomically", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "feeRateForAtomicExchange", + "outputs": [ + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "feeRateForExchange", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "getAmountsForAtomicExchange", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "sourceAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "sourceCurrencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "destinationCurrencyKey", + "type": "bytes32" + } + ], + "name": "getAmountsForExchange", + "outputs": [ + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "hasWaitingPeriodOrSettlementOwing", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "isSynthRateInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastAtomicVolume", + "outputs": [ + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint192", + "name": "volume", + "type": "uint192" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "lastExchangeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "maxSecsLeftInWaitingPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "priceDeviationThresholdFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "settle", + "outputs": [ + { + "internalType": "uint256", + "name": "reclaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "refunded", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "numEntriesSettled", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "settlementOwing", + "outputs": [ + { + "internalType": "uint256", + "name": "reclaimAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rebateAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "numEntries", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tradingRewardsEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "waitingPeriodSecs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x2b0e6c4ac0a409d45ee31daa3059b886378f03e58d074b05aa3218c72b67de00", + "urls": [ + "bzz-raw://644c197c76daf68a5a887f58ff92e6e65eeb591aeb4e569ef10d8ff5cebd4719", + "dweb:/ipfs/QmUkRGstLdSokhbDQpNvL6m7usj4QDt8BF6EtSnP2jmHPx" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ExchangerWithFeeRecAlternatives.sol": "ExchangerWithFeeRecAlternatives" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ExchangerWithFeeRecAlternatives.sol": { + "keccak256": "0x2b0e6c4ac0a409d45ee31daa3059b886378f03e58d074b05aa3218c72b67de00", + "urls": [ + "bzz-raw://644c197c76daf68a5a887f58ff92e6e65eeb591aeb4e569ef10d8ff5cebd4719", + "dweb:/ipfs/QmUkRGstLdSokhbDQpNvL6m7usj4QDt8BF6EtSnP2jmHPx" + ] + } + }, + "version": 1 + } + }, + "CircuitBreaker": { + "bytecode": "60806040523480156200001157600080fd5b506040516200179f3803806200179f8339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61157c80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806374185360116100975780638da5cb5b116100665780638da5cb5b146101dd578063ba03e93f146101e5578063cfefbc7f146101f8578063ec5f638e1461020b57610100565b806374185360146101a557806378cb51cb146101ad57806379ba5097146101c0578063899ffef4146101c857610100565b8063372a395a116100d3578063372a395a14610160578063413caeb51461017557806353a47bb714610188578063614d08f81461019d57610100565b806304f3bcec146101055780631627540c1461012357806318b844ad146101385780632af64bd314610158575b600080fd5b61010d61021e565b60405161011a9190611418565b60405180910390f35b610136610131366004610f15565b61022d565b005b61014b610146366004610f59565b61028b565b60405161011a91906113b3565b61014b6102c9565b6101686103e1565b60405161011a91906113c1565b61014b610183366004610f59565b6103f0565b6101906105ea565b60405161011a9190611372565b6101686105f9565b61013661060e565b61014b6101bb36600461103f565b610764565b610136610770565b6101d061080c565b60405161011a91906113a2565b6101906108c4565b6101686101f3366004610f15565b6108d3565b610136610206366004610f93565b6108ee565b61014b610219366004610f15565b610abf565b6002546001600160a01b031681565b610235610add565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610280908390611372565b60405180910390a150565b6001600160a01b03821660009081526005602052604081205460ff16806102b757506102b78383610b09565b806102c0575081155b90505b92915050565b600060606102d561080c565b905060005b81518110156103d75760008282815181106102f157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103429085906004016113c1565b60206040518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103929190810190610f3b565b6001600160a01b03161415806103bd57506000818152600360205260409020546001600160a01b0316155b156103ce57600093505050506103de565b506001016102da565b5060019150505b90565b60006103eb610b44565b905090565b60006104046524b9b9bab2b960d11b610bfc565b6001600160a01b0316336001600160a01b0316148061044c57506104376c45786368616e6765526174657360981b610bfc565b6001600160a01b0316336001600160a01b0316145b6104715760405162461bcd60e51b815260040161046890611487565b60405180910390fd5b6001600160a01b0383166104975760405162461bcd60e51b815260040161046890611457565b8115806104a957506104a98383610b09565b80156104ce57506001600160a01b03831660009081526005602052604090205460ff16155b801561054f57506104dd610c60565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061054d9190810190611003565b155b156105bc576001600160a01b0383166000818152600560209081526040808320805460ff191660011790556004909152908190205490517f67bad4b353dfb692ff5355991cbbb32b44e8b68fe393f9116791efc111beefe7916105b39186906113dd565b60405180910390a25b506001600160a01b039190911660009081526004602090815260408083209390935560059052205460ff1690565b6001546001600160a01b031681565b6d21b4b931bab4ba213932b0b5b2b960911b81565b606061061861080c565b905060005b815181101561076057600082828151811061063457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106769190611367565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016106a29291906113f8565b60206040518083038186803b1580156106ba57600080fd5b505afa1580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f29190810190610f3b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061074e90849084906113cf565b60405180910390a1505060010161061d565b5050565b60006102c08383610c7a565b6001546001600160a01b0316331461079a5760405162461bcd60e51b815260040161046890611437565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926107dd926001600160a01b0391821692911690611380565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610817610cd9565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b8160008151811061085a57fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061087d57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106108a757fe5b6020026020010181815250506108bd8282610d2a565b9250505090565b6000546001600160a01b031681565b6001600160a01b031660009081526004602052604090205490565b6108f6610add565b60005b83811015610ab857600085858381811061090f57fe5b90506020020160206109249190810190610f15565b6001600160a01b0316141561094b5760405162461bcd60e51b815260040161046890611457565b84848281811061095757fe5b905060200201602061096c9190810190610f15565b6001600160a01b03167f915f74751eb02d50f865435828021de99701d7eca4ccd06a308d5dc01ab70ace600460008888868181106109a657fe5b90506020020160206109bb9190810190610f15565b6001600160a01b03166001600160a01b03168152602001908152602001600020548585858181106109e857fe5b905060200201356040516109fd9291906113dd565b60405180910390a2828282818110610a1157fe5b9050602002013560046000878785818110610a2857fe5b9050602002016020610a3d9190810190610f15565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060056000878785818110610a7357fe5b9050602002016020610a889190810190610f15565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016108f9565b5050505050565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b03163314610b075760405162461bcd60e51b815260040161046890611467565b565b6001600160a01b0382166000908152600460205260408120548015610b3a57610b328184610c7a565b9150506102c3565b5060009392505050565b6000610b4e610ddf565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401610bac9291906113dd565b60206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103eb9190810190611021565b60008181526003602090815260408083205490516001600160a01b039091169182151591610c2c91869101611347565b60405160208183030381529060405290610c595760405162461bcd60e51b81526004016104689190611426565b5092915050565b60006103eb6b53797374656d53746174757360a01b610bfc565b6000821580610c87575081155b15610c94575060016102c3565b600083831115610cb557610cae838563ffffffff610dfc16565b9050610cc8565b610cc5848463ffffffff610dfc16565b90505b610cd0610b44565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610d1b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d5a578160200160208202803883390190505b50905060005b8351811015610d9c57838181518110610d7557fe5b6020026020010151828281518110610d8957fe5b6020908102919091010152600101610d60565b5060005b8251811015610c5957828181518110610db557fe5b6020026020010151828286510181518110610dcc57fe5b6020908102919091010152600101610da0565b60006103eb6e466c657869626c6553746f7261676560881b610bfc565b60006102c082610e1a85670de0b6b3a764000063ffffffff610e2616565b9063ffffffff610e6016565b600082610e35575060006102c3565b82820282848281610e4257fe5b04146102c05760405162461bcd60e51b815260040161046890611477565b6000808211610e815760405162461bcd60e51b815260040161046890611447565b6000828481610e8c57fe5b04949350505050565b80356102c381611510565b80516102c381611510565b60008083601f840112610ebd57600080fd5b50813567ffffffffffffffff811115610ed557600080fd5b602083019150836020820283011115610eed57600080fd5b9250929050565b80516102c381611527565b80356102c381611530565b80516102c381611530565b600060208284031215610f2757600080fd5b6000610f338484610e95565b949350505050565b600060208284031215610f4d57600080fd5b6000610f338484610ea0565b60008060408385031215610f6c57600080fd5b6000610f788585610e95565b9250506020610f8985828601610eff565b9150509250929050565b60008060008060408587031215610fa957600080fd5b843567ffffffffffffffff811115610fc057600080fd5b610fcc87828801610eab565b9450945050602085013567ffffffffffffffff811115610feb57600080fd5b610ff787828801610eab565b95989497509550505050565b60006020828403121561101557600080fd5b6000610f338484610ef4565b60006020828403121561103357600080fd5b6000610f338484610f0a565b6000806040838503121561105257600080fd5b6000610f788585610eff565b600061106a83836110e3565b505060200190565b61107b816114af565b82525050565b600061108c8261149d565b61109681856114a1565b93506110a183611497565b8060005b838110156110cf5781516110b9888261105e565b97506110c483611497565b9250506001016110a5565b509495945050505050565b61107b816114ba565b61107b816103de565b61107b6110f8826103de565b6103de565b61107b816114cb565b60006111118261149d565b61111b81856114a1565b935061112b8185602086016114d6565b61113481611506565b9093019392505050565b600061114b6035836114a1565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111a2601a836114a1565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006111db6011836114aa565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112086013836114a1565b7204f7261636c652061646472657373206973203606c1b815260200192915050565b6000611237602f836114a1565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112886021836114a1565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112cb6019836114aa565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611304602e836114a1565b7f4f6e6c7920696e7465726e616c20636f6e7472616374732063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b6000611352826111ce565b915061135e82846110ec565b50602001919050565b6000611352826112be565b602081016102c38284611072565b6040810161138e8285611072565b61139b6020830184611072565b9392505050565b602080825281016102c08184611081565b602081016102c382846110da565b602081016102c382846110e3565b6040810161138e82856110e3565b604081016113eb82856110e3565b61139b60208301846110e3565b6040810161140682856110e3565b8181036020830152610f338184611106565b602081016102c382846110fd565b602080825281016102c08184611106565b602080825281016102c38161113e565b602080825281016102c381611195565b602080825281016102c3816111fb565b602080825281016102c38161122a565b602080825281016102c38161127b565b602080825281016102c3816112f7565b60200190565b5190565b90815260200190565b919050565b60006102c3826114bf565b151590565b6001600160a01b031690565b60006102c3826114af565b60005b838110156114f15781810151838201526020016114d9565b83811115611500576000848401525b50505050565b601f01601f191690565b611519816114af565b811461152457600080fd5b50565b611519816114ba565b611519816103de56fea365627a7a723158206015efb58c3e29bbf7b75ef6cbb4e30e4af1745785f62beff66c4f737e0e4a506c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oracleAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousValue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newValue", + "type": "uint256" + } + ], + "name": "CircuitBroken", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oracleAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousValue", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newValue", + "type": "uint256" + } + ], + "name": "LastValueOverridden", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "oracleAddress", + "type": "address" + } + ], + "name": "circuitBroken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "base", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "comparison", + "type": "uint256" + } + ], + "name": "isDeviationAboveThreshold", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "oracleAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "isInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "oracleAddress", + "type": "address" + } + ], + "name": "lastValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "priceDeviationThresholdFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "oracleAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "probeCircuitBreaker", + "outputs": [ + { + "internalType": "bool", + "name": "circuitBroken", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "oracleAddresses", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "resetLastValue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff", + "urls": [ + "bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79", + "dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CircuitBreaker.sol": "CircuitBreaker" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CircuitBreaker.sol": { + "keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff", + "urls": [ + "bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79", + "dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW" + ] + } + }, + "version": 1 + } + }, + "ExchangeCircuitBreaker": { + "bytecode": "60806040523480156200001157600080fd5b5060405162000ff938038062000ff98339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b610dd680620002236000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063614d08f81161008c578063899ffef411610066578063899ffef4146101665780638da5cb5b1461017b578063a47af19e14610183578063cb1ec317146101a4576100cf565b8063614d08f81461014e578063741853601461015657806379ba50971461015e576100cf565b806304f3bcec146100d45780631627540c146100f25780632af64bd3146101075780633fa70f451461011c5780634ffcd9df1461013157806353a47bb714610139575b600080fd5b6100dc6101b7565b6040516100e99190610c97565b60405180910390f35b61010561010036600461090a565b6101c6565b005b61010f610224565b6040516100e99190610c4d565b61012461033c565b6040516100e99190610c5b565b6100dc610341565b610141610361565b6040516100e99190610c0c565b610124610370565b61010561038d565b6101056104e3565b61016e610588565b6040516100e99190610c3c565b6101416105f4565b61019661019136600461094e565b610603565b6040516100e9929190610cd6565b6101966101b236600461094e565b6106a8565b6002546001600160a01b031681565b6101ce610737565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610219908390610c0c565b60405180910390a150565b60006060610230610588565b905060005b815181101561033257600082828151811061024c57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061029d908590600401610c5b565b60206040518083038186803b1580156102b557600080fd5b505afa1580156102c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102ed9190810190610930565b6001600160a01b031614158061031857506000818152600360205260409020546001600160a01b0316155b156103295760009350505050610339565b50600101610235565b5060019150505b90565b604181565b600061035c6c45786368616e6765526174657360981b610763565b905090565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610397610588565b905060005b81518110156104df5760008282815181106103b357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016103f59190610c01565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610421929190610c77565b60206040518083038186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104719190810190610930565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104cd9084908490610c69565b60405180910390a1505060010161039c565b5050565b6001546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90610cb6565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610559926001600160a01b0391821692911690610c1a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806105936107c7565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b816000815181106105d757fe5b6020026020010181815250506105ed8282610818565b9250505090565b6000546001600160a01b031681565b600080600080610611610341565b6001600160a01b031663045056f8866040518263ffffffff1660e01b815260040161063c9190610c5b565b606060405180830381600087803b15801561065657600080fd5b505af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061068e91908101906109a6565b9195509092509050808061069f5750815b92505050915091565b6000806106b3610341565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016106de9190610c5b565b604080518083038186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061072d919081019061096c565b9094909350915050565b6000546001600160a01b031633146107615760405162461bcd60e51b815260040161050d90610cc6565b565b60008181526003602090815260408083205490516001600160a01b03909116918215159161079391869101610be1565b604051602081830303815290604052906107c05760405162461bcd60e51b815260040161050d9190610ca5565b5092915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061080957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610848578160200160208202803883390190505b50905060005b835181101561088a5783818151811061086357fe5b602002602001015182828151811061087757fe5b602090810291909101015260010161084e565b5060005b82518110156107c0578281815181106108a357fe5b60200260200101518282865101815181106108ba57fe5b602090810291909101015260010161088e565b80356108d881610d6a565b92915050565b80516108d881610d6a565b80516108d881610d81565b80356108d881610d8a565b80516108d881610d8a565b60006020828403121561091c57600080fd5b600061092884846108cd565b949350505050565b60006020828403121561094257600080fd5b600061092884846108de565b60006020828403121561096057600080fd5b600061092884846108f4565b6000806040838503121561097f57600080fd5b600061098b85856108ff565b925050602061099c858286016108e9565b9150509250929050565b6000806000606084860312156109bb57600080fd5b60006109c786866108ff565b93505060206109d8868287016108e9565b92505060406109e9868287016108e9565b9150509250925092565b60006109ff8383610a78565b505060200190565b610a1081610d09565b82525050565b6000610a2182610cf7565b610a2b8185610cfb565b9350610a3683610cf1565b8060005b83811015610a64578151610a4e88826109f3565b9750610a5983610cf1565b925050600101610a3a565b509495945050505050565b610a1081610d14565b610a1081610339565b610a10610a8d82610339565b610339565b610a1081610d25565b6000610aa682610cf7565b610ab08185610cfb565b9350610ac0818560208601610d30565b610ac981610d60565b9093019392505050565b6000610ae0603583610cfb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610b37601183610d04565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000610b64602f83610cfb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610bb5601983610d04565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000610bec82610b2a565b9150610bf88284610a81565b50602001919050565b6000610bec82610ba8565b602081016108d88284610a07565b60408101610c288285610a07565b610c356020830184610a07565b9392505050565b60208082528101610c358184610a16565b602081016108d88284610a6f565b602081016108d88284610a78565b60408101610c288285610a78565b60408101610c858285610a78565b81810360208301526109288184610a9b565b602081016108d88284610a92565b60208082528101610c358184610a9b565b602080825281016108d881610ad3565b602080825281016108d881610b57565b60408101610ce48285610a78565b610c356020830184610a6f565b60200190565b5190565b90815260200190565b919050565b60006108d882610d19565b151590565b6001600160a01b031690565b60006108d882610d09565b60005b83811015610d4b578181015183820152602001610d33565b83811115610d5a576000848401525b50505050565b601f01601f191690565b610d7381610d09565b8114610d7e57600080fd5b50565b610d7381610d14565b610d738161033956fea365627a7a723158208dac82a16d30d0a1bd67055a945b8ce6aada2e2857378b501e900985102227276c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CIRCUIT_BREAKER_SUSPENSION_REASON", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRates", + "outputs": [ + { + "internalType": "contract IExchangeRates", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateWithBreakCircuit", + "outputs": [ + { + "internalType": "uint256", + "name": "lastValidRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "invalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "rateWithInvalid", + "outputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "invalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05", + "urls": [ + "bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf", + "dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ExchangeCircuitBreaker.sol": "ExchangeCircuitBreaker" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ExchangeCircuitBreaker.sol": { + "keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05", + "urls": [ + "bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf", + "dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi" + ] + } + }, + "version": 1 + } + }, + "VirtualSynthMastercopy": { + "bytecode": "60806040526004805460ff60a01b191690556008805460ff1916905534801561002757600080fd5b506008805460ff19166001179055611716806100446000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80633db3dc9b116100c35780638f7758391161007c5780638f7758391461028657806395d89b411461028e578063a457c2d714610296578063a9059cbb146102a9578063dbd06c85146102bc578063dd62ed3e146102c457610158565b80633db3dc9b146102335780634be37cea1461023b5780636a256b291461024357806370a082311461025857806378f2ac261461026b5780638d7017d31461027357610158565b806323b872dd1161011557806323b872dd146101d55780632c4e722e146101e8578063313ce567146101f0578063378dc3dc14610205578063395093511461020d5780633af9e6691461022057610158565b806304f3bcec1461015d57806306fdde031461017b578063095ea7b314610190578063115f4fee146101b0578063158ef93e146101b857806318160ddd146101c0575b600080fd5b6101656102d7565b6040516101729190611522565b60405180910390f35b6101836102e6565b6040516101729190611530565b6101a361019e366004610fc8565b610310565b6040516101729190611506565b610165610327565b6101a3610336565b6101c861033f565b6040516101729190611514565b6101a36101e3366004610f7b565b610345565b6101c861039d565b6101f86103ac565b604051610172919061161d565b6101c86103b1565b6101a361021b366004610fc8565b6103b7565b6101c861022e366004610efd565b6103f3565b6101c86103fe565b6101c8610404565b610256610251366004610efd565b61040e565b005b6101c8610266366004610efd565b6104b6565b6101a36104d1565b610256610281366004611016565b6104e1565b6101a3610562565b610183610572565b6101a36102a4366004610fc8565b610587565b6101a36102b7366004610fc8565b6105c3565b6101c86105d0565b6101c86102d2366004610f41565b6105d6565b6004546001600160a01b031681565b60606007546040516020016102fb91906114b2565b60405160208183030381529060405290505b90565b600061031d338484610601565b5060015b92915050565b6003546001600160a01b031681565b60085460ff1681565b60025490565b60006103528484846106b5565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461039291869161038d908663ffffffff6107b116565b610601565b5060015b9392505050565b60006103a76107d9565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031d91859061038d908663ffffffff61097016565b600061032182610995565b60065481565b60006103a76109bb565b610416610a44565b6003546001600160a01b031663a9059cbb8261043181610995565b6040518363ffffffff1660e01b815260040161044e9291906114eb565b602060405180830381600087803b15801561046857600080fd5b505af115801561047c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104a09190810190610ff8565b506104b3816104ae836104b6565b610bc2565b50565b6001600160a01b031660009081526020819052604090205490565b60006104db6109bb565b15905090565b60085460ff161561050d5760405162461bcd60e51b815260040161050490611591565b60405180910390fd5b6008805460ff19166001179055600380546001600160a01b038088166001600160a01b031992831617909255600480549287169290911691909117905560078190556105598383610c7f565b50600555505050565b600454600160a01b900460ff1681565b60606007546040516020016102fb91906114d2565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031d91859061038d908663ffffffff6107b116565b600061031d3384846106b5565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166106275760405162461bcd60e51b8152600401610504906115ef565b6001600160a01b03821661064d5760405162461bcd60e51b815260040161050490611551565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106a8908590611514565b60405180910390a3505050565b6001600160a01b0383166106db5760405162461bcd60e51b8152600401610504906115df565b6001600160a01b0382166107015760405162461bcd60e51b815260040161050490611541565b6001600160a01b03831660009081526020819052604090205461072a908263ffffffff6107b116565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461075f908263ffffffff61097016565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106a8908590611514565b6000828211156107d35760405162461bcd60e51b815260040161050490611571565b50900390565b6000600554600014156107ee5750600061030d565b600454600090600160a01b900460ff16610951576003546040516370a0823160e01b81526001600160a01b03909116906370a08231906108329030906004016114dd565b60206040518083038186803b15801561084a57600080fd5b505afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610882919081019061108b565b905060008061088f610d33565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b81526004016108be9291906114eb565b60606040518083038186803b1580156108d657600080fd5b505afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061090e91908101906110a9565b50909250905081156109315761092a838363ffffffff6107b116565b925061094a565b801561094a57610947838263ffffffff61097016565b92505b5050610956565b506006545b60055461096a90829063ffffffff610db316565b91505090565b6000828201838110156103965760405162461bcd60e51b815260040161050490611561565b6000806109a1836104b6565b90506103966109ae6107d9565b829063ffffffff610dc816565b60006109c5610d33565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b81526004016109f49291906114eb565b60206040518083038186803b158015610a0c57600080fd5b505afa158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103a7919081019061108b565b600454600160a01b900460ff1615610a5b57610bc0565b6004805460ff60a01b1916600160a01b179055610a76610d33565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b8152600401610aa59291906114eb565b606060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610af791908101906110a9565b50506003546040516370a0823160e01b81526001600160a01b0390911691506370a0823190610b2a9030906004016114dd565b60206040518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b7a919081019061108b565b6006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610ba661033f565b600654604051610bb792919061160f565b60405180910390a15b565b6001600160a01b038216610be85760405162461bcd60e51b8152600401610504906115cf565b600254610bfb908263ffffffff6107b116565b6002556001600160a01b038216600090815260208190526040902054610c27908263ffffffff6107b116565b6001600160a01b0383166000818152602081905260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c73908590611514565b60405180910390a35050565b6001600160a01b038216610ca55760405162461bcd60e51b8152600401610504906115ff565b600254610cb8908263ffffffff61097016565b6002556001600160a01b038216600090815260208190526040902054610ce4908263ffffffff61097016565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c73908590611514565b6004805460405163dacb2d0160e01b81526000926001600160a01b039092169163dacb2d0191610d6391016115b1565b60206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103a79190810190610f23565b60006103968383670de0b6b3a7640000610ddd565b60006103968383670de0b6b3a7640000610e21565b600080610e0384610df787600a870263ffffffff610e4c16565b9063ffffffff610e8616565b90506005600a825b0610610e1557600a015b600a9004949350505050565b600080600a8304610e38868663ffffffff610e4c16565b81610e3f57fe5b0490506005600a82610e0b565b600082610e5b57506000610321565b82820282848281610e6857fe5b04146103965760405162461bcd60e51b8152600401610504906115a1565b6000808211610ea75760405162461bcd60e51b815260040161050490611581565b6000828481610eb257fe5b04949350505050565b8035610321816116a4565b8051610321816116a4565b8051610321816116b8565b8035610321816116c1565b8035610321816116ca565b8051610321816116c1565b600060208284031215610f0f57600080fd5b6000610f1b8484610ebb565b949350505050565b600060208284031215610f3557600080fd5b6000610f1b8484610ec6565b60008060408385031215610f5457600080fd5b6000610f608585610ebb565b9250506020610f7185828601610ebb565b9150509250929050565b600080600060608486031215610f9057600080fd5b6000610f9c8686610ebb565b9350506020610fad86828701610ebb565b9250506040610fbe86828701610edc565b9150509250925092565b60008060408385031215610fdb57600080fd5b6000610fe78585610ebb565b9250506020610f7185828601610edc565b60006020828403121561100a57600080fd5b6000610f1b8484610ed1565b600080600080600060a0868803121561102e57600080fd5b600061103a8888610ee7565b955050602061104b88828901610ee7565b945050604061105c88828901610ebb565b935050606061106d88828901610edc565b925050608061107e88828901610edc565b9150509295509295909350565b60006020828403121561109d57600080fd5b6000610f1b8484610ef2565b6000806000606084860312156110be57600080fd5b60006110ca8686610ef2565b93505060206110db86828701610ef2565b9250506040610fbe86828701610ef2565b6110f58161163d565b82525050565b6110f581611648565b6110f58161030d565b6110f56111198261030d565b61030d565b6110f58161164d565b60006111328261162b565b61113c818561162f565b935061114c81856020860161166a565b6111558161169a565b9093019392505050565b600061116c60238361162f565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b60006111b160228361162f565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b60006111f5601b8361162f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061122e601e8361162f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611267600e83611638565b6d02b34b93a3ab0b61029bcb73a34160951b8152600e0192915050565b6000611291601a8361162f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006112ca601a8361162f565b7f7653796e746820616c726561647920696e697469616c697a6564000000000000815260200192915050565b600061130360218361162f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6822bc31b430b733b2b960b91b9052565b6000611357600183611638565b603b60f91b815260010192915050565b600061137460218361162f565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b60006113b760258361162f565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b60006113fe60248361162f565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000611444601c8361162f565b7f45786368616e67657220636f6e7472616374206e6f7420666f756e6400000000815260200192915050565b600061147d601f8361162f565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6110f581611664565b60006114bd8261125a565b91506114c9828461110d565b50602001919050565b60006114bd8261134a565b6020810161032182846110ec565b604081016114f982856110ec565b6103966020830184611104565b6020810161032182846110fb565b602081016103218284611104565b60208101610321828461111e565b602080825281016103968184611127565b602080825281016103218161115f565b60208082528101610321816111a4565b60208082528101610321816111e8565b6020808252810161032181611221565b6020808252810161032181611284565b60208082528101610321816112bd565b60208082528101610321816112f6565b604081016115be82611339565b818103602083015261032181611437565b6020808252810161032181611367565b60208082528101610321816113aa565b60208082528101610321816113f1565b6020808252810161032181611470565b604081016114f98285611104565b6020810161032182846114a9565b5190565b90815260200190565b919050565b600061032182611658565b151590565b60006103218261163d565b6001600160a01b031690565b60ff1690565b60005b8381101561168557818101518382015260200161166d565b83811115611694576000848401525b50505050565b601f01601f191690565b6116ad8161163d565b81146104b357600080fd5b6116ad81611648565b6116ad8161030d565b6116ad8161164d56fea365627a7a723158208fc572766d3a6595d2445ddde40b061d1eaeac35b7cb55905817a6230526f01e6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountAfterSettled", + "type": "uint256" + } + ], + "name": "Settled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currencyKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "initialSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_synth", + "type": "address" + }, + { + "internalType": "contract IAddressResolver", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "initialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readyToSettle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract IAddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "secsLeftInWaitingPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "settle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "settled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "settledAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synth", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xfa94161d62dc70250d4e9221616d86ad511685c3310c96717439795672470742", + "urls": [ + "bzz-raw://8f33b8a060c2b728aa993b50eb83870a920c619694adfaf3361d815a32820699", + "dweb:/ipfs/QmUn4ErKvNQ8Jx9gAHM2i7vDAG8RxKENX15vc8T3cWeenZ" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "VirtualSynthMastercopy.sol": "VirtualSynthMastercopy" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "VirtualSynthMastercopy.sol": { + "keccak256": "0xfa94161d62dc70250d4e9221616d86ad511685c3310c96717439795672470742", + "urls": [ + "bzz-raw://8f33b8a060c2b728aa993b50eb83870a920c619694adfaf3361d815a32820699", + "dweb:/ipfs/QmUn4ErKvNQ8Jx9gAHM2i7vDAG8RxKENX15vc8T3cWeenZ" + ] + } + }, + "version": 1 + } + }, + "ExchangeState": { + "bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158204750152a58dcedbbf25a34d687256136ed9e9cd533c0efb976e8c7126611200364736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "name": "appendExchangeEntry", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "exchanges", + "outputs": [ + { + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getEntryAt", + "outputs": [ + { + "internalType": "bytes32", + "name": "src", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "dest", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amountReceived", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForSrc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "roundIdForDest", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "getLengthOfEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "getMaxTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxEntriesInQueue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "removeEntries", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxEntriesInQueue", + "type": "uint256" + } + ], + "name": "setMaxEntriesInQueue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e", + "urls": [ + "bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe", + "dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "ExchangeState.sol": "ExchangeState" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "ExchangeState.sol": { + "keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e", + "urls": [ + "bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe", + "dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE" + ] + } + }, + "version": 1 + } + }, + "Issuer": { + "bytecode": "60806040523480156200001157600080fd5b5060405162006099380380620060998339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615e7680620002236000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806372c6581611610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c1461061d578063dbf6334014610630578063dd3d2b2e14610638578063fd864ccf1461064b576102bb565b8063c81ff8fa146105e4578063c8977132146105f7578063d37c4d8b1461060a576102bb565b8063a311c7c21461057d578063a5fdc5de14610590578063ae3bbbbb146105a3578063b06e8c65146105b6578063b410a034146105c9578063bff4fdfc146105d1576102bb565b8063835e119c1161013b578063835e119c14610521578063849cf58814610534578063890235d414610547578063899ffef41461055a5780638da5cb5b146105625780639a5154b41461056a576102bb565b806372c65816146104c357806372cb051f146104d657806374185360146104eb57806379ba5097146104f35780637b1001b7146104fb57806380aa6a911461050e576102bb565b806331e6da5a116102265780634e99bda9116101df5780634e99bda91461044757806353a47bb71461044f5780635e887fe914610464578063614d08f8146104875780636bed04151461048f5780637168d2c2146104b0576102bb565b806331e6da5a146103c857806332608039146103db5780633b6afe40146103ee57806344ec6b621461040e57806347a9b6db14610421578063497d704a14610434576102bb565b80631627540c116102785780631627540c1461035f57806316b2213f146103725780631b3ba4d014610385578063242df9e1146103985780632af64bd3146103a05780632b3f41aa146103b5576102bb565b8063042e0688146102c057806304f3bcec146102d557806305b3c1c9146102f35780630b887dae146103135780631137aedf146103265780631313e6ca14610348575b600080fd5b6102d36102ce366004614ce5565b61065e565b005b6102dd6106cf565b6040516102ea9190615a85565b60405180910390f35b610306610301366004614bf2565b6106de565b6040516102ea91906159d1565b6102d3610321366004614dbc565b6106f4565b610339610334366004614bf2565b6107d2565b6040516102ea939291906159fb565b6103506107ee565b6040516102ea93929190615c9b565b6102d361036d366004614bf2565b610895565b610306610380366004614bf2565b6108f3565b6102d3610393366004614ce5565b610905565b610306610af1565b6103a8610b01565b6040516102ea91906159c3565b6102d36103c3366004614c2e565b610c18565b6102d36103d6366004614e74565b610c67565b6102dd6103e9366004614dbc565b610d6c565b6104016103fc366004614d15565b610d87565b6040516102ea91906159b2565b6102d361041c366004614c68565b610e35565b6102d361042f366004614d15565b610e88565b6102d3610442366004614bf2565b610f39565b6103a8610f81565b610457611013565b6040516102ea91906158de565b610477610472366004614cb5565b611022565b6040516102ea9493929190615cc3565b610306611044565b6104a261049d366004614ce5565b611051565b6040516102ea929190615c8d565b6102d36104be366004614d15565b6110bd565b6103396104d1366004614cb5565b6111f2565b6104de611364565b6040516102ea91906159a1565b6102d3611370565b6102d36114c2565b610306610509366004614e19565b61155e565b6102d361051c366004614ce5565b611572565b6102dd61052f366004614dbc565b61195d565b6102d3610542366004614e38565b611984565b6103a8610555366004614df8565b6119f7565b6104de611d7d565b610457612022565b6102d3610578366004614c68565b612031565b61030661058b366004614bf2565b61207f565b61030661059e366004614bf2565b612091565b6104a26105b1366004614bf2565b61209c565b6102d36105c4366004614ce5565b6120b2565b6103066120f6565b6103a86105df366004614bf2565b612100565b6103a86105f2366004614df8565b61210b565b6102d3610605366004614bf2565b6124d1565b610306610618366004614ce5565b612516565b6102d361062b366004614c68565b612548565b6103066125ee565b610306610646366004614bf2565b6125f4565b6102d3610659366004614c2e565b6125ff565b61066661264e565b6001600160a01b0316336001600160a01b03161461069f5760405162461bcd60e51b815260040161069690615b4f565b60405180910390fd5b600081116106bf5760405162461bcd60e51b815260040161069690615c1f565b6106cb82826000612665565b5050565b6002546001600160a01b031681565b6000806106ea8361278f565b509150505b919050565b6106fc6127e2565b600061070661280e565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a90610738908590600090600401615a23565b600060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e59150610797906001906004016159c3565b600060405180830381600087803b1580156107b157600080fd5b505af11580156107c5573d6000803e3d6000fd5b505050506106cb82612825565b60008060006107e084612cd3565b509196909550909350915050565b60008060008060006108276108227f6578743a41676772656761746f7249737375656453796e746873000000000000612d43565b612da0565b50935050925050600080610839612e2b565b915091508396508160001461085d57610858878363ffffffff612e6616565b610860565b60005b9550600061086c612e86565b905042811080156108895750838142031180610889575081814203115b95505050505050909192565b61089d6127e2565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108e89083906158de565b60405180910390a150565b60066020526000908152604090205481565b61090d6127e2565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061093b90600401615b12565b60206040518083038186803b15801561095357600080fd5b505afa158015610967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b9190810190614c10565b6001600160a01b0316826001600160a01b0316146109bb5760405162461bcd60e51b815260040161069690615af2565b600081116109db5760405162461bcd60e51b815260040161069690615c0f565b6109e3612f30565b6001600160a01b0316631b16802c83631cd554d160e21b6040518363ffffffff1660e01b8152600401610a17929190615922565b606060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a699190810190614f73565b5050631cd554d160e21b600052506005602052600080516020615e1483398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610abb9085908590600401615922565b600060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050505050565b6000610afb612f47565b90505b90565b60006060610b0d611d7d565b905060005b8151811015610c0f576000828281518110610b2957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b7a9085906004016159d1565b60206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bca9190810190614c10565b6001600160a01b0316141580610bf557506000818152600360205260409020546001600160a01b0316155b15610c065760009350505050610afe565b50600101610b12565b50600191505090565b610c2061264e565b6001600160a01b0316336001600160a01b031614610c505760405162461bcd60e51b815260040161069690615b4f565b610c5a8282612fa2565b6106cb8260006001613043565b610c7a66119959541bdbdb60ca1b612d43565b6001600160a01b0316336001600160a01b031614610caa5760405162461bcd60e51b815260040161069690615b6f565b6000610cb46132b6565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d319190810190614e92565b6001600160801b031610156106cb5760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610abb908590600401615c7f565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610db7578160200160208202803883390190505b50905060005b82811015610e2a5760056000878784818110610dd557fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610e0a57fe5b6001600160a01b0390921660209283029190910190910152600101610dbd565b509150505b92915050565b610e3d61264e565b6001600160a01b0316336001600160a01b031614610e6d5760405162461bcd60e51b815260040161069690615b4f565b610e7783836132d6565b610e8383826000612665565b505050565b610e906127e2565b8060005b81811015610ecd57610ec5848483818110610eab57fe5b9050602002016020610ec09190810190614e38565b61330b565b600101610e94565b50610ed661280e565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610f0291906159c3565b600060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b50505050505050565b610f4161264e565b6001600160a01b0316336001600160a01b031614610f715760405162461bcd60e51b815260040161069690615b4f565b610f7e8160006001613043565b50565b6000610f8b61349c565b6001600160a01b031663c8e5bbd5610fa360016134b7565b6040518263ffffffff1660e01b8152600401610fbf91906159a1565b60006040518083038186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2f9190810190614d57565b6001546001600160a01b031681565b6000806000806110328686613593565b93509350935093505b92959194509250565b6524b9b9bab2b960d11b81565b600080600061106e61106286613941565b620a69cb60eb1b6139c6565b93509091506000905061108f611082613a37565b839063ffffffff613a8f16565b90508481106110a157600093506110b4565b6110b1858263ffffffff613aa416565b93505b50509250929050565b6110c56127e2565b8060006110d061280e565b90506060826040519080825280602002602001820160405280156110fe578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db4906111329088908890869060040161597b565b600060405180830381600087803b15801561114c57600080fd5b505af1158015611160573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e59150611191906001906004016159c3565b600060405180830381600087803b1580156111ab57600080fd5b505af11580156111bf573d6000803e3d6000fd5b506000925050505b83811015610ae9576111ea8686838181106111de57fe5b90506020020135612825565b6001016111c7565b60008060006111ff61264e565b6001600160a01b0316336001600160a01b03161461122f5760405162461bcd60e51b815260040161069690615b4f565b611237613acc565b6001600160a01b031663952225f386866040518363ffffffff1660e01b8152600401611264929190615907565b60206040518083038186803b15801561127c57600080fd5b505afa158015611290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112b49190810190614d9e565b6112d05760405162461bcd60e51b815260040161069690615baf565b60006112dc8686613593565b929650909450925090506112f1868483613ae4565b8461135c576112fe613acc565b6001600160a01b031663974e9e7f876040518263ffffffff1660e01b815260040161132991906158de565b600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b505050505b509250925092565b6060610afb60006134b7565b606061137a611d7d565b905060005b81518110156106cb57600082828151811061139657fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113d891906158d3565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611404929190615a3e565b60206040518083038186803b15801561141c57600080fd5b505afa158015611430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114549190810190614c10565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114b090849084906159df565b60405180910390a1505060010161137f565b6001546001600160a01b031633146114ec5760405162461bcd60e51b815260040161069690615ac2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261152f926001600160a01b03918216929116906158ec565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061156a8383613c1b565b509392505050565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a721906115bc9075446562744d69677261746f724f6e457468657265756d60501b906004016159d1565b60206040518083038186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061160c9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061165b9075446562744d69677261746f724f6e4f7074696d69736d60501b906004016159d1565b60206040518083038186803b15801561167357600080fd5b505afa158015611687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ab9190810190614c10565b9050336001600160a01b03831614806116cc5750336001600160a01b038216145b6116e85760405162461bcd60e51b815260040161069690615c2f565b6001600160a01b038216158061170557506001600160a01b038116155b6117215760405162461bcd60e51b815260040161069690615ab2565b600061172b6132b6565b6002546040516321f8a72160e01b81529192506001600160a01b0316906321f8a721906117759075446562744d69677261746f724f6e457468657265756d60501b906004016159d1565b60206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117c59190810190614c10565b6001600160a01b0316336001600160a01b0316141561184357604051631a378f0d60e01b81526001600160a01b03821690631a378f0d9061180c9088908890600401615922565b600060405180830381600087803b15801561182657600080fd5b505af115801561183a573d6000803e3d6000fd5b50505050611956565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061188c9075446562744d69677261746f724f6e4f7074696d69736d60501b906004016159d1565b60206040518083038186803b1580156118a457600080fd5b505afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118dc9190810190614c10565b6001600160a01b0316336001600160a01b0316141561195657604051636178258560e11b81526001600160a01b0382169063c2f04b0a906119239088908890600401615922565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050505b5050505050565b6004818154811061196a57fe5b6000918252602090912001546001600160a01b0316905081565b61198c6127e2565b6119958161330b565b61199d61280e565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004016119c991906159c3565b600060405180830381600087803b1580156119e357600080fd5b505af1158015611956573d6000803e3d6000fd5b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611a48907853796e746865746978427269646765546f4f7074696d69736d60381b906004016159d1565b60206040518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a989190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611ae6907453796e746865746978427269646765546f4261736560581b906004016159d1565b60206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b369190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611b769066119959541bdbdb60ca1b906004016159d1565b60206040518083038186803b158015611b8e57600080fd5b505afa158015611ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bc69190810190614c10565b9050336001600160a01b0384161480611be75750336001600160a01b038316145b80611bfa5750336001600160a01b038216145b611c165760405162461bcd60e51b815260040161069690615ad2565b6000878152600560205260409020546001600160a01b0316611c4a5760405162461bcd60e51b815260040161069690615b8f565b60008511611c6a5760405162461bcd60e51b815260040161069690615c1f565b611c7386613da6565b6000878152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611cb29089908990600401615922565b600060405180830381600087803b158015611ccc57600080fd5b505af1158015611ce0573d6000803e3d6000fd5b50505050600080611cf089613e1f565b91509150611cfc61280e565b6001600160a01b03166342c7b819611d22611d1d8a8663ffffffff613ea416565b613ece565b6040518263ffffffff1660e01b8152600401611d3e91906159d1565b600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b50929b9a5050505050505050505050565b606080611d88613ef7565b60408051600e8082526101e0820190925291925060609190602082016101c080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611dcb57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611df157fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611e1b57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b81600381518110611e4657fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600481518110611e7557fe5b60200260200101818152505066119959541bdbdb60ca1b81600581518110611e9957fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611ec757fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600781518110611ef257fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600881518110611f1957fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600981518110611f4757fe5b6020026020010181815250506844656274436163686560b81b81600a81518110611f6d57fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b81518110611f9757fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600c81518110611fd157fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600d8151811061200557fe5b60200260200101818152505061201b8282613f48565b9250505090565b6000546001600160a01b031681565b61203961264e565b6001600160a01b0316336001600160a01b0316146120695760405162461bcd60e51b815260040161069690615b4f565b6120738383612fa2565b610e8383826000613043565b600061208a82613ffd565b5092915050565b6000610e2f82614053565b6000806120a883613ffd565b915091505b915091565b6120ba61264e565b6001600160a01b0316336001600160a01b0316146120ea5760405162461bcd60e51b815260040161069690615b4f565b6106cb82826000613043565b6000610afb613a37565b6000610e2f826140ef565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a7219061215c907853796e746865746978427269646765546f4f7074696d69736d60381b906004016159d1565b60206040518083038186803b15801561217457600080fd5b505afa158015612188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ac9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a721906121fa907453796e746865746978427269646765546f4261736560581b906004016159d1565b60206040518083038186803b15801561221257600080fd5b505afa158015612226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224a9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061228a9066119959541bdbdb60ca1b906004016159d1565b60206040518083038186803b1580156122a257600080fd5b505afa1580156122b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122da9190810190614c10565b9050336001600160a01b03841614806122fb5750336001600160a01b038316145b8061230e5750336001600160a01b038216145b61232a5760405162461bcd60e51b815260040161069690615ad2565b6000878152600560205260409020546001600160a01b031661235e5760405162461bcd60e51b815260040161069690615b8f565b6000851161237e5760405162461bcd60e51b815260040161069690615c1f565b612386612f30565b6001600160a01b0316631b16802c87896040518363ffffffff1660e01b81526004016123b3929190615922565b606060405180830381600087803b1580156123cd57600080fd5b505af11580156123e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124059190810190614f73565b50505060008781526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906124479089908990600401615922565b600060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b5050505060008061248589613e1f565b9150915061249161280e565b6001600160a01b03166342c7b8196124b2611d1d8a8663ffffffff613ea416565b6000036040518263ffffffff1660e01b8152600401611d3e91906159d1565b6124d961264e565b6001600160a01b0316336001600160a01b0316146125095760405162461bcd60e51b815260040161069690615b4f565b610f7e8160006001612665565b60008061252284613941565b905080612533576000915050610e2f565b61253d81846139c6565b509095945050505050565b61255061410e565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561258957600080fd5b505afa15801561259d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c19190810190614c10565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b8152600401610f02929190615922565b60045490565b6000610e2f82614146565b61260761264e565b6001600160a01b0316336001600160a01b0316146126375760405162461bcd60e51b815260040161069690615b4f565b61264182826132d6565b6106cb8260006001612665565b6000610afb680a6f2dce8d0cae8d2f60bb1b612d43565b61266d6141bf565b1561267757610e83565b60008061268385612cd3565b93505050915061269281614388565b826126bc57818411156126b75760405162461bcd60e51b815260040161069690615b2f565b6126c0565b8193505b6126ca85856143a6565b6126d385613da6565b631cd554d160e21b6000526005602052600080516020615e148339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906127229088908890600401615922565b600060405180830381600087803b15801561273c57600080fd5b505af1158015612750573d6000803e3d6000fd5b5050505061275c61280e565b6001600160a01b03166342c7b81961277386613ece565b6040518263ffffffff1660e01b815260040161192391906159d1565b6000806000806127a4620a69cb60eb1b613e1f565b9150915060006127bc6127b687614053565b846144f0565b90506127d66127c9613a37565b829063ffffffff613ea416565b94509092505050915091565b6000546001600160a01b0316331461280c5760405162461bcd60e51b815260040161069690615bbf565b565b6000610afb6844656274436163686560b81b612d43565b6000818152600560205260409020546001600160a01b03168061285a5760405162461bcd60e51b815260040161069690615b9f565b631cd554d160e21b8214156128815760405162461bcd60e51b815260040161069690615bef565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128bc57600080fd5b505afa1580156128d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128f49190810190614dda565b90508015612b765760008061290761349c565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401612934929190615a5e565b60606040518083038186803b15801561294c57600080fd5b505afa158015612960573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129849190810190614f73565b5091509150600081116129a95760405162461bcd60e51b815260040161069690615c6f565b60006129b3614502565b631cd554d160e21b6000526005602052600080516020615e148339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612a039084908790600401615922565b600060405180830381600087803b158015612a1d57600080fd5b505af1158015612a31573d6000803e3d6000fd5b50505050612a3d61280e565b6001600160a01b03166342c7b819612a5485613ece565b6040518263ffffffff1660e01b8152600401612a7091906159d1565b600060405180830381600087803b158015612a8a57600080fd5b505af1158015612a9e573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612aea57600080fd5b505afa158015612afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b229190810190614e56565b846040518363ffffffff1660e01b8152600401612b40929190615a93565b600060405180830381600087803b158015612b5a57600080fd5b505af1158015612b6e573d6000803e3d6000fd5b505050505050505b60005b600454811015612c5d57826001600160a01b031660048281548110612b9a57fe5b6000918252602090912001546001600160a01b03161415612c555760048181548110612bc257fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612bed57fe5b600091825260209091200154600480546001600160a01b039092169183908110612c1357fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612c4f906000198301614a7f565b50612c5d565b600101612b79565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612cc690859085906159df565b60405180910390a1505050565b600080600080612cf2612ce586613941565b631cd554d160e21b6139c6565b91945092509050600080612d058761278f565b915091508195508280612d155750805b9250858510612d275760009550612d3a565b612d37868663ffffffff613aa416565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591612d73918691016158b3565b6040516020818303038152906040529061208a5760405162461bcd60e51b81526004016106969190615aa1565b6000806000806000856001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015612de157600080fd5b505afa158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e199190810190614fb6565b939a9299509097509550909350915050565b600080600080612e57610822766578743a41676772656761746f7244656274526174696f60481b612d43565b50919650909450505050509091565b6000612e7f83836b033b2e3c9fd0803ce800000061451d565b9392505050565b6000612e90614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b60206040518083038186803b158015612ef857600080fd5b505afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afb9190810190614dda565b6000610afb6822bc31b430b733b2b960b91b612d43565b6000612f51614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b612faa61457e565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b8152600401612fd79291906158ec565b60206040518083038186803b158015612fef57600080fd5b505afa158015613003573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130279190810190614d9e565b6106cb5760405162461bcd60e51b815260040161069690615ae2565b61304b6141bf565b1561305557610e83565b806131b257613063836140ef565b61307f5760405162461bcd60e51b815260040161069690615c4f565b60008061308a612f30565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b81526004016130be929190615922565b606060405180830381600087803b1580156130d857600080fd5b505af11580156130ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131109190810190614f73565b90935091505080156131af57613124612f30565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b815260040161315c949392919061593d565b60206040518083038186803b15801561317457600080fd5b505afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131ac9190810190614dda565b93505b50505b6000806131c1612ce586613941565b92505091506000806131d28761278f565b915091506131e783806131e25750815b614388565b600084116132075760405162461bcd60e51b815260040161069690615b1f565b84156132205761321d848363ffffffff613aa416565b95505b600061322e8889898861459d565b905082613241868363ffffffff613aa416565b116132ac5761324e613acc565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040161327991906158de565b600060405180830381600087803b15801561329357600080fd5b505af11580156132a7573d6000803e3d6000fd5b505050505b5050505050505050565b6000610afb7153796e74686574697844656274536861726560701b612d43565b6132de61457e565b6001600160a01b0316630487261783836040518363ffffffff1660e01b8152600401612fd79291906158ec565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561334657600080fd5b505afa15801561335a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061337e9190810190614dda565b6000818152600560205260409020549091506001600160a01b0316156133b65760405162461bcd60e51b815260040161069690615c3f565b6001600160a01b038216600090815260066020526040902054156133ec5760405162461bcd60e51b815260040161069690615bcf565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849061349090839085906159df565b60405180910390a15050565b6000610afb6c45786368616e6765526174657360981b612d43565b606080826134c65760006134c9565b60015b60ff16600480549050016040519080825280602002602001820160405280156134fc578160200160208202803883390190505b50905060005b60045481101561356357600660006004838154811061351d57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061355057fe5b6020908102919091010152600101613502565b508215610e2f576004548151620a69cb60eb1b918391811061358157fe5b60200260200101818152505092915050565b60008060008060006135a7612ce588613941565b91935090915060009050806135c1620a69cb60eb1b613e1f565b915091506135d583806131e2575081614388565b600088156137b3576135e56146ca565b90506135ef613acc565b6001600160a01b031663f557f73c8661361061360a8e614053565b876144f0565b846040518463ffffffff1660e01b815260040161362f939291906159fb565b60206040518083038186803b15801561364757600080fd5b505afa15801561365b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061367f9190810190614dda565b96506137376137296137138373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b505af41580156136e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137079190810190614dda565b9063ffffffff61472b16565b61371d8a87614750565b9063ffffffff613ea416565b6137328c614762565b61476c565b97506137a361379d6137878373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b6137918b876144f0565b9063ffffffff61478216565b8861476c565b96506000955061103b9350505050565b6137bb6147a0565b905060006137d26137ca614800565b613707614855565b905060006137f86137f2836137e68f614053565b9063ffffffff613aa416565b866144f0565b9050613802613acc565b6001600160a01b031663f557f73c8883866040518463ffffffff1660e01b8152600401613831939291906159fb565b60206040518083038186803b15801561384957600080fd5b505afa15801561385d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138819190810190614dda565b985060006138da6138d08573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b61371d8c89614750565b90506138e58d614053565b6138f5828563ffffffff61472b16565b106139245787995061390a836137e68f614053565b9a506139158d6148af565b985061103b9650505050505050565b61392f8d82856148b9565b909b50985061103b9650505050505050565b600061394b6132b6565b6001600160a01b03166370a08231836040518263ffffffff1660e01b815260040161397691906158de565b60206040518083038186803b15801561398e57600080fd5b505afa1580156139a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e2f9190810190614dda565b60008060008060006139d66107ee565b925050915086600014156139f257600094509092509050613a30565b6000806139fe88613e1f565b91509150613a1b82613a0f8b614914565b9063ffffffff613a8f16565b96508395508080613a295750825b9450505050505b9250925092565b6000613a41614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b6000612e7f8383670de0b6b3a764000061451d565b600082821115613ac65760405162461bcd60e51b815260040161069690615b3f565b50900390565b6000610afb692634b8bab4b230ba37b960b11b612d43565b613aec614932565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613b1791906158de565b600060405180830381600087803b158015613b3157600080fd5b505af1158015613b45573d6000803e3d6000fd5b505050506000613b536132b6565b90506000613b6085613941565b905082841415613b9857604051631a378f0d60e01b81526001600160a01b03831690631a378f0d9061180c9088908590600401615922565b6000613ba385614951565b9050826001600160a01b0316631a378f0d87848410613bc25784613bc4565b835b6040518363ffffffff1660e01b8152600401613be1929190615922565b600060405180830381600087803b158015613bfb57600080fd5b505af1158015613c0f573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613c2b61280e565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613c6357600080fd5b505afa158015613c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c9b9190810190614f12565b935093505092508180613cab5750805b935085613d5157600080613cbd61280e565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613cf457600080fd5b505afa158015613d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d2c9190810190614eb0565b9092509050613d41858363ffffffff61472b16565b94508580613d4c5750805b955050505b631cd554d160e21b871415613d6b5750909250613d9f9050565b600080613d7789613e1f565b9092509050613d8c858363ffffffff613a8f16565b8680613d955750815b9650965050505050505b9250929050565b613dae614561565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b84604051602001613dea92919061588d565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b81526004016119c9939291906159fb565b600080613e2a61349c565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401613e5591906159d1565b604080518083038186803b158015613e6c57600080fd5b505afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120a89190810190614eb0565b6000670de0b6b3a7640000613ebf848463ffffffff61498316565b81613ec657fe5b049392505050565b6000600160ff1b8210613ef35760405162461bcd60e51b815260040161069690615c5f565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613f3957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613f78578160200160208202803883390190505b50905060005b8351811015613fba57838181518110613f9357fe5b6020026020010151828281518110613fa757fe5b6020908102919091010152600101613f7e565b5060005b825181101561208a57828181518110613fd357fe5b6020026020010151828286510181518110613fea57fe5b6020908102919091010152600101613fbe565b600080600061400b84614053565b905060008061401c61106287613941565b92505091508260001415614038576000945092506120ad915050565b614048828463ffffffff613a8f16565b945092505050915091565b6000610e2f614060614932565b6001600160a01b0316628cc262846040518263ffffffff1660e01b815260040161408a91906158de565b60206040518083038186803b1580156140a257600080fd5b505afa1580156140b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140da9190810190614dda565b6137076140e6856148af565b61370786614762565b60006141056140fc612f47565b61370784614146565b42101592915050565b614116614502565b6001600160a01b0316336001600160a01b03161461280c5760405162461bcd60e51b815260040161069690615bff565b6000614150614561565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200161418c92919061588d565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016139769291906159ed565b6000806141e5766578743a41676772656761746f7244656274526174696f60481b612d43565b90506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561422257600080fd5b505afa158015614236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061425a9190810190614fb6565b505050915050600061426a61349c565b6001600160a01b031663045056f8620a69cb60eb1b6040518263ffffffff1660e01b815260040161429b91906159d1565b606060405180830381600087803b1580156142b557600080fd5b505af11580156142c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142ed9190810190614ecf565b509150506142f96149bd565b6001600160a01b031663413caeb584846040518363ffffffff1660e01b8152600401614326929190615922565b602060405180830381600087803b15801561434057600080fd5b505af1158015614354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143789190810190614d9e565b806143805750805b935050505090565b8015610f7e5760405162461bcd60e51b815260040161069690615b7f565b6143ae614932565b6001600160a01b031663270fb338836040518263ffffffff1660e01b81526004016143d991906158de565b600060405180830381600087803b1580156143f357600080fd5b505af1158015614407573d6000803e3d6000fd5b5050505060006144156132b6565b9050600061442283614951565b90508061448e57604051636178258560e11b81526001600160a01b0383169063c2f04b0a906144579087908790600401615922565b600060405180830381600087803b15801561447157600080fd5b505af1158015614485573d6000803e3d6000fd5b505050506144ea565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a906144bc9087908590600401615922565b600060405180830381600087803b1580156144d657600080fd5b505af11580156132ac573d6000803e3d6000fd5b50505050565b6000612e7f838363ffffffff6149d916565b6000610afb6c29bcb73a342932b232b2b6b2b960991b612d43565b6000806145438461453787600a870263ffffffff61498316565b9063ffffffff6149ee16565b90506005600a825b061061455557600a015b600a9004949350505050565b6000610afb6e466c657869626c6553746f7261676560881b612d43565b6000610afb7044656c6567617465417070726f76616c7360781b612d43565b60006145a76141bf565b156145b4575060006146c2565b8282106145c157826145c3565b815b90506145d0858284613ae4565b631cd554d160e21b6000526005602052600080516020615e1483398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061461f9087908590600401615922565b600060405180830381600087803b15801561463957600080fd5b505af115801561464d573d6000803e3d6000fd5b5050505061465961280e565b6001600160a01b03166342c7b81961467083613ece565b6000036040518263ffffffff1660e01b815260040161468f91906159d1565b600060405180830381600087803b1580156146a957600080fd5b505af11580156146bd573d6000803e3d6000fd5b505050505b949350505050565b60006146d4614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600082820183811015612e7f5760405162461bcd60e51b815260040161069690615b02565b6000612e7f838363ffffffff613a8f16565b600061394b61264e565b600081831061477b5781612e7f565b5090919050565b6000612e7f8261453785670de0b6b3a764000063ffffffff61498316565b60006147aa614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061480a614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061485f614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061394b614a23565b60008060006148c786614762565b9050806148da868663ffffffff61472b16565b116148ec57508391506000905061490c565b614900816137e6878763ffffffff61472b16565b859350915061490c9050565b935093915050565b60008061491f612e2b565b509050612e7f838263ffffffff614a3f16565b6000610afb704c697175696461746f725265776172647360781b612d43565b60008061495c612e2b565b509050801561497a57614975838263ffffffff612e6616565b612e7f565b50600092915050565b60008261499257506000610e2f565b8282028284828161499f57fe5b0414612e7f5760405162461bcd60e51b815260040161069690615bdf565b6000610afb6d21b4b931bab4ba213932b0b5b2b960911b612d43565b6000612e7f8383670de0b6b3a7640000614a54565b6000808211614a0f5760405162461bcd60e51b815260040161069690615b5f565b6000828481614a1a57fe5b04949350505050565b6000610afb6d2932bbb0b93222b9b1b937bbab1960911b612d43565b6000612e7f83836b033b2e3c9fd0803ce80000005b600080600a8304614a6b868663ffffffff61498316565b81614a7257fe5b0490506005600a8261454b565b815481835581811115610e8357600083815260209020610e83918101908301610afe91905b80821115613ef35760008155600101614aa4565b8035610e2f81615dd2565b8051610e2f81615dd2565b60008083601f840112614ae057600080fd5b50813567ffffffffffffffff811115614af857600080fd5b602083019150836020820283011115613d9f57600080fd5b600082601f830112614b2157600080fd5b8151614b34614b2f82615cf8565b615cd1565b91508181835260208401935060208101905083856020840282011115614b5957600080fd5b60005b83811015614b855781614b6f8882614bb0565b8452506020928301929190910190600101614b5c565b5050505092915050565b8035610e2f81615de6565b8051610e2f81615de6565b8035610e2f81615def565b8051610e2f81615def565b8035610e2f81615df8565b8051610e2f81615df8565b8035610e2f81615e01565b8051610e2f81615e01565b8051610e2f81615e0a565b600060208284031215614c0457600080fd5b60006146c28484614ab8565b600060208284031215614c2257600080fd5b60006146c28484614ac3565b60008060408385031215614c4157600080fd5b6000614c4d8585614ab8565b9250506020614c5e85828601614ab8565b9150509250929050565b600080600060608486031215614c7d57600080fd5b6000614c898686614ab8565b9350506020614c9a86828701614ab8565b9250506040614cab86828701614ba5565b9150509250925092565b60008060408385031215614cc857600080fd5b6000614cd48585614ab8565b9250506020614c5e85828601614b8f565b60008060408385031215614cf857600080fd5b6000614d048585614ab8565b9250506020614c5e85828601614ba5565b60008060208385031215614d2857600080fd5b823567ffffffffffffffff811115614d3f57600080fd5b614d4b85828601614ace565b92509250509250929050565b60008060408385031215614d6a57600080fd5b825167ffffffffffffffff811115614d8157600080fd5b614d8d85828601614b10565b9250506020614c5e85828601614b9a565b600060208284031215614db057600080fd5b60006146c28484614b9a565b600060208284031215614dce57600080fd5b60006146c28484614ba5565b600060208284031215614dec57600080fd5b60006146c28484614bb0565b600080600060608486031215614e0d57600080fd5b6000614c898686614ba5565b60008060408385031215614e2c57600080fd5b6000614cd48585614ba5565b600060208284031215614e4a57600080fd5b60006146c28484614bbb565b600060208284031215614e6857600080fd5b60006146c28484614bc6565b600060208284031215614e8657600080fd5b60006146c28484614bd1565b600060208284031215614ea457600080fd5b60006146c28484614bdc565b60008060408385031215614ec357600080fd5b6000614d8d8585614bb0565b600080600060608486031215614ee457600080fd5b6000614ef08686614bb0565b9350506020614f0186828701614b9a565b9250506040614cab86828701614b9a565b60008060008060808587031215614f2857600080fd5b6000614f348787614bb0565b9450506020614f4587828801614bb0565b9350506040614f5687828801614b9a565b9250506060614f6787828801614b9a565b91505092959194509250565b600080600060608486031215614f8857600080fd5b6000614f948686614bb0565b9350506020614fa586828701614bb0565b9250506040614cab86828701614bb0565b600080600080600060a08688031215614fce57600080fd5b6000614fda8888614be7565b9550506020614feb88828901614bb0565b9450506040614ffc88828901614bb0565b935050606061500d88828901614bb0565b925050608061501e88828901614be7565b9150509295509295909350565b600061503783836151a2565b505060200190565b600061503783836151bc565b61505481615d2c565b82525050565b61505461506682615d2c565b615db1565b60006150778385615d23565b93506001600160fb1b0383111561508d57600080fd5b60208302925061509e838584615d79565b50500190565b60006150af82615d1f565b6150b98185615d23565b93506150c483615d19565b8060005b838110156150f25781516150dc888261502b565b97506150e783615d19565b9250506001016150c8565b509495945050505050565b600061510882615d1f565b6151128185615d23565b935061511d83615d19565b8060005b838110156150f2578151615135888261503f565b975061514083615d19565b925050600101615121565b600061515682615d1f565b6151608185615d23565b935061516b83615d19565b8060005b838110156150f2578151615183888261502b565b975061518e83615d19565b92505060010161516f565b61505481615d37565b61505481610afe565b6150546151b782610afe565b610afe565b61505481615d3c565b61505481615d6e565b60006151d982615d1f565b6151e38185615d23565b93506151f3818560208601615d85565b6151fc81615dc2565b9093019392505050565b6000615213601883615d23565b7f6f6e65206d69677261746f72206d757374206265203078300000000000000000815260200192915050565b600061524c603583615d23565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006152a3601483615d23565b736f6e6c792074727573746564206d696e7465727360601b815260200192915050565b60006152d3601d83615d23565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b600061530c600d83615d23565b6c77726f6e67206164647265737360981b815260200192915050565b6000615335601b83615d23565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b74436f6c6c61746572616c53686f72744c656761637960581b9052565b600061538b601283615d23565b714e6f206465627420746f20666f726769766560701b815260200192915050565b60006153b9601083615d23565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b60006153e5601e83615d23565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061541e600e83615d23565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000615448601a83615d23565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006154816011836106ef565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006154ae601083615d23565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b60006154da601e83615d23565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000615513601383615d23565b721cde5b9d1a08191bd95cdb89dd08195e1a5cdd606a1b815260200192915050565b6000615542601483615d23565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615572601883615d23565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b60006155ab602f83615d23565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615608601c83615d23565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b6000615641602183615d23565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615684601383615d23565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b60006156b3601283615d23565b7127b7363c9029bcb73a342932b232b2b6b2b960711b815260200192915050565b60006156e1601483615d23565b7363616e6e6f74206275726e20302073796e74687360601b815260200192915050565b6000615711601583615d23565b7463616e6e6f7420697373756520302073796e74687360581b815260200192915050565b60006157426019836106ef565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061577b601683615d23565b756f6e6c792074727573746564206d69677261746f727360501b815260200192915050565b60006157ad600c83615d23565b6b53796e74682065786973747360a01b815260200192915050565b60006157d5601e83615d23565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b600061580e602883615d23565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b6000615858601a83615d23565b7f43616e6e6f742072656d6f766520776974686f75742072617465000000000000815260200192915050565b61505481615d47565b600061589982856151ab565b6020820191506158a9828461505a565b5060140192915050565b60006158be82615474565b91506158ca82846151ab565b50602001919050565b60006158be82615735565b60208101610e2f828461504b565b604081016158fa828561504b565b612e7f602083018461504b565b60408101615915828561504b565b612e7f6020830184615199565b60408101615930828561504b565b612e7f60208301846151a2565b6080810161594b828761504b565b61595860208301866151a2565b61596560408301856151a2565b61597260608301846151a2565b95945050505050565b6040808252810161598d81858761506b565b90508181036020830152615972818461514b565b60208082528101612e7f81846150a4565b60208082528101612e7f81846150fd565b60208101610e2f8284615199565b60208101610e2f82846151a2565b604081016158fa82856151a2565b6040810161593082856151a2565b60608101615a0982866151a2565b615a1660208301856151a2565b6146c260408301846151a2565b60408101615a3182856151a2565b612e7f60208301846151c5565b60408101615a4c82856151a2565b81810360208301526146c281846151ce565b60608101615a6c82856151a2565b615a7960208301846151a2565b612e7f604083016155ef565b60208101610e2f82846151bc565b6040810161593082856151bc565b60208082528101612e7f81846151ce565b60208082528101610e2f81615206565b60208082528101610e2f8161523f565b60208082528101610e2f81615296565b60208082528101610e2f816152c6565b60208082528101610e2f816152ff565b60208082528101610e2f81615328565b602081016106ef82615361565b60208082528101610e2f8161537e565b60208082528101610e2f816153ac565b60208082528101610e2f816153d8565b60208082528101610e2f81615411565b60208082528101610e2f8161543b565b60208082528101610e2f816154a1565b60208082528101610e2f816154cd565b60208082528101610e2f81615506565b60208082528101610e2f81615535565b60208082528101610e2f81615565565b60208082528101610e2f8161559e565b60208082528101610e2f816155fb565b60208082528101610e2f81615634565b60208082528101610e2f81615677565b60208082528101610e2f816156a6565b60208082528101610e2f816156d4565b60208082528101610e2f81615704565b60208082528101610e2f8161576e565b60208082528101610e2f816157a0565b60208082528101610e2f816157c8565b60208082528101610e2f81615801565b60208082528101610e2f8161584b565b60208101610e2f8284615884565b6040810161591582856151a2565b60608101615ca982866151a2565b615cb660208301856151a2565b6146c26040830184615199565b6080810161594b82876151a2565b60405181810167ffffffffffffffff81118282101715615cf057600080fd5b604052919050565b600067ffffffffffffffff821115615d0f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610e2f82615d53565b151590565b6000610e2f82615d2c565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610e2f82610afe565b82818337506000910152565b60005b83811015615da0578181015183820152602001615d88565b838111156144ea5750506000910152565b6000610e2f826000610e2f82615dcc565b601f01601f191690565b60601b90565b615ddb81615d2c565b8114610f7e57600080fd5b615ddb81615d37565b615ddb81610afe565b615ddb81615d3c565b615ddb81615d47565b615ddb81615d5f56fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a723158207d089a8f784c6219cab4a22411b0374ef35ef8ab0fec92242ba40a17c890a9e66c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + } + ], + "name": "SynthAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + } + ], + "name": "SynthRemoved", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ISynth", + "name": "synth", + "type": "address" + } + ], + "name": "addSynth", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ISynth[]", + "name": "synthsToAdd", + "type": "address[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allNetworksDebtInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sharesSupply", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isStale", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "anySynthOrSNXRateIsInvalid", + "outputs": [ + { + "internalType": "bool", + "name": "anyRateInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "availableCurrencyKeys", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "availableSynthCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "availableSynths", + "outputs": [ + { + "internalType": "contract ISynth", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "deprecatedSynthProxy", + "type": "address" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "name": "burnForRedemption", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "burnForAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "burnSynthsToTarget", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "burnForAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "burnSynthsToTargetOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnSynthsWithoutDebt", + "outputs": [ + { + "internalType": "bool", + "name": "rateInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "canBurnSynths", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "collateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + } + ], + "name": "collateralisationRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + } + ], + "name": "collateralisationRatioAndAnyRatesInvalid", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "debtBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "debtBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "getSynths", + "outputs": [ + { + "internalType": "contract ISynth[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "issueMaxSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "issueForAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "issueMaxSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issueSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "issueForAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issueSynthsOnBehalf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issueSynthsWithoutDebt", + "outputs": [ + { + "internalType": "bool", + "name": "rateInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "lastIssueEvent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bool", + "name": "isSelfLiquidation", + "type": "bool" + } + ], + "name": "liquidateAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "totalRedeemed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debtRemoved", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escrowToLiquidate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bool", + "name": "isSelfLiquidation", + "type": "bool" + } + ], + "name": "liquidationAmounts", + "outputs": [ + { + "internalType": "uint256", + "name": "totalRedeemed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debtToRemove", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escrowToLiquidate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "initialDebtBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + } + ], + "name": "maxIssuableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minimumStakeTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "modifyDebtSharesForMigration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_issuer", + "type": "address" + } + ], + "name": "remainingIssuableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "maxIssuable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "alreadyIssued", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSystemDebt", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "removeSynth", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + } + ], + "name": "removeSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint128", + "name": "periodId", + "type": "uint128" + } + ], + "name": "setCurrentPeriodId", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "contract ISynth", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "synthsByAddress", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "excludeOtherCollateral", + "type": "bool" + } + ], + "name": "totalIssuedSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "totalIssued", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "name": "transferableSynthetixAndAnyRateIsInvalid", + "outputs": [ + { + "internalType": "uint256", + "name": "transferable", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "short", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "upgradeCollateralShort", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x6bad7c208a6d9e921fbe254a7af649062cdd75b9e4adf4518af082123fa0eb0b", + "urls": [ + "bzz-raw://4b680df34467be1113ecf8732d6e4c2f803358b04b48da38aea72079e5f466c9", + "dweb:/ipfs/QmZDNBLpqUtKcy61kxDazeDnjjXETcj3VJ2R2zs5n9EkQq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Issuer.sol": "Issuer" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Issuer.sol": { + "keccak256": "0x6bad7c208a6d9e921fbe254a7af649062cdd75b9e4adf4518af082123fa0eb0b", + "urls": [ + "bzz-raw://4b680df34467be1113ecf8732d6e4c2f803358b04b48da38aea72079e5f466c9", + "dweb:/ipfs/QmZDNBLpqUtKcy61kxDazeDnjjXETcj3VJ2R2zs5n9EkQq" + ] + } + }, + "version": 1 + } + }, + "TradingRewards": { + "bytecode": "60806040523480156200001157600080fd5b50604051620026933803806200269383398101604081905262000034916200016e565b600160005580836001600160a01b0381166200006d5760405162461bcd60e51b81526004016200006490620002cd565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000bd90600090849062000283565b60405180910390a1506001546001600160a01b0316620000f15760405162461bcd60e51b81526004016200006490620002bb565b60048054610100600160a81b0319166101006001600160a01b03938416021790558216620001335760405162461bcd60e51b81526004016200006490620002a9565b50600980546001600160a01b0319166001600160a01b03929092169190911790555062000328565b805162000168816200030e565b92915050565b6000806000606084860312156200018457600080fd5b60006200019286866200015b565b9350506020620001a5868287016200015b565b9250506040620001b8868287016200015b565b9150509250925092565b620001cd81620002fa565b82525050565b620001cd81620002e8565b6000620001ed601983620002df565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b600062000228601183620002df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000257601983620002df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002938285620001c2565b620002a26020830184620001d3565b9392505050565b602080825281016200016881620001de565b60208082528101620001688162000219565b60208082528101620001688162000248565b90815260200190565b60006001600160a01b03821662000168565b6000620001688260006200016882620002e8565b6200031981620002e8565b81146200032557600080fd5b50565b61235b80620003386000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146103b3578063f61f5df6146103c6578063f6b58479146103d9578063fc9c99ac146103ec576101f0565b8063b225dbaa14610385578063ccb6e04314610276578063ce7fccba14610398578063dea021a5146103ab576101f0565b806391b4ded9116100de57806391b4ded91461034f578063937ffb8f146103575780639865fdb71461036a578063ae934a7a14610372576101f0565b8063741853601461032257806379ba50971461032a578063899ffef4146103325780638da5cb5b14610347576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf146102ec5780635c975abb146102ff5780636fe4136b14610307578063706848d21461030f576101f0565b80632af64bd3146102a957806338dfa8cf146102b15780633dbf12fa146102c457806353a47bb7146102d7576101f0565b806316841952116101c3578063168419521461025057806316c38b3c14610263578063175c51891461027657806321cad77414610296576101f0565b806304f3bcec146101f5578063056097ac14610213578063086146d2146102285780631627540c1461023d575b600080fd5b6101fd6103f4565b60405161020a91906120f0565b60405180910390f35b610226610221366004611775565b610408565b005b610230610559565b60405161020a91906120b4565b61022661024b366004611731565b610560565b61022661025e3660046118b3565b6105be565b610226610271366004611877565b61076a565b6102896102843660046118b3565b6107df565b60405161020a91906120a6565b6102266102a43660046118ef565b6107f4565b6102896108e7565b6102266102bf366004611731565b610a04565b6102266102d2366004611731565b610b56565b6102df610bcf565b60405161020a919061200e565b6102306102fa3660046118b3565b610bde565b610289610bf3565b6102df610bfc565b61023061031d3660046118b3565b610c0b565b610226610c20565b610226610d76565b61033a610e12565b60405161020a9190612095565b6102df610e81565b610230610e90565b6102306103653660046118b3565b610e96565b610230610eab565b610226610380366004611805565b610f42565b6102266103933660046118b3565b611029565b6102306103a6366004611805565b611082565b6102df611097565b6102266103c1366004611835565b6110a6565b6102306103d4366004611805565b611130565b6102306103e73660046117af565b61115b565b6102306111ab565b60045461010090046001600160a01b031681565b6104106111b1565b610419816111dd565b610421611218565b6001600160a01b0316826001600160a01b0316141561045b5760405162461bcd60e51b81526004016104529061223f565b60405180910390fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a082319061048c90309060040161200e565b60206040518083038186803b1580156104a457600080fd5b505afa1580156104b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104dc91908101906118d1565b9050600081116104fe5760405162461bcd60e51b81526004016104529061220f565b6105186001600160a01b038316848363ffffffff61122f16565b7f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe684848360405161054b93929190612037565b60405180910390a150505050565b6006545b90565b6105686111b1565b600280546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105b390839061200e565b60405180910390a150565b6009546001600160a01b031633146105e85760405162461bcd60e51b81526004016104529061225f565b60006105f2611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161061d919061200e565b60206040518083038186803b15801561063557600080fd5b505afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066d91908101906118d1565b905060006106866007548361128890919063ffffffff16565b9050808311156106a85760405162461bcd60e51b8152600401610452906121ef565b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546106e5908563ffffffff6112b016565b6007556006546040517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9161071b91879061226f565b60405180910390a160065461073790600163ffffffff6112b016565b60068190556040517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329161054b916120b4565b6107726111b1565b60045460ff1615158115151415610788576107dc565b6004805460ff1916821515179081905560ff16156107a557426003555b6004546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916105b39160ff909116906120a6565b50565b60009081526008602052604090205460ff1690565b6107fc6112d5565b6001600160a01b0316336001600160a01b03161461082c5760405162461bcd60e51b81526004016104529061212f565b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610867908463ffffffff6112b016565b6001600160a01b03831660009081526004830160205260409020556001810154610897908463ffffffff6112b016565b60018201556006546040516001600160a01b038416917f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866916108da91879161226f565b60405180910390a2505050565b600060606108f3610e12565b905060005b81518110156109fb57600082828151811061090f57fe5b60209081029190910181015160008181526005909252604091829020546004805493516321f8a72160e01b81529294506001600160a01b03918216936101009004909116916321f8a72191610966918691016120b4565b60206040518083038186803b15801561097e57600080fd5b505afa158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b69190810190611757565b6001600160a01b03161415806109e157506000818152600560205260409020546001600160a01b0316155b156109f2576000935050505061055d565b506001016108f8565b50600191505090565b610a0c6111b1565b610a15816111dd565b6000610a1f611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a4a919061200e565b60206040518083038186803b158015610a6257600080fd5b505afa158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a9a91908101906118d1565b905060008111610abc5760405162461bcd60e51b81526004016104529061220f565b6000610ad36007548361128890919063ffffffff16565b905060008111610af55760405162461bcd60e51b81526004016104529061220f565b610b188382610b02611218565b6001600160a01b0316919063ffffffff61122f16565b7f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee38382604051610b4992919061205f565b60405180910390a1505050565b610b5e6111b1565b6001600160a01b038116610b845760405162461bcd60e51b8152600401610452906121ff565b600980546001600160a01b0319166001600160a01b0383161790556040517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc906105b390839061200e565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610c06611218565b905090565b60009081526008602052604090206003015490565b6060610c2a610e12565b905060005b8151811015610d72576000828281518110610c4657fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c889190612003565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610cb49291906120d0565b60206040518083038186803b158015610ccc57600080fd5b505afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d049190810190611757565b6000838152600560205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d6090849084906120c2565b60405180910390a15050600101610c2f565b5050565b6002546001600160a01b03163314610da05760405162461bcd60e51b81526004016104529061211f565b6001546002546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610de3926001600160a01b039182169291169061201c565b60405180910390a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b81600081518110610e4c57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610e7257fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610c06600754610ebb611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ee6919061200e565b60206040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3691908101906118d1565b9063ffffffff61128816565b610f4a6111b1565b610f53826111dd565b6006548110610f745760405162461bcd60e51b8152600401610452906121cf565b60008181526008602052604090206003810154610fa35760405162461bcd60e51b81526004016104529061214f565b6003810154610fb58482610b02611218565b600754610fc8908263ffffffff61128816565b600755600083815260086020526040808220805460ff19168155600181018390556002810183905560030191909155517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9061054b9086908490879061207a565b600080546001019081905560045460ff16156110575760405162461bcd60e51b8152600401610452906121df565b61106133836112ec565b6000548114610d725760405162461bcd60e51b81526004016104529061222f565b600061108e83836113ea565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156110d45760405162461bcd60e51b8152600401610452906121df565b60005b828110156111095760008484838181106110ed57fe5b90506020020135905061110033826112ec565b506001016110d7565b50600054811461112b5760405162461bcd60e51b81526004016104529061222f565b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b828110156111a357600084848381811061117557fe5b90506020020135905061119861118b87836113ea565b849063ffffffff6112b016565b92505060010161115f565b509392505050565b60075490565b6001546001600160a01b031633146111db5760405162461bcd60e51b81526004016104529061219f565b565b6001600160a01b03811615806111fb57506001600160a01b03811630145b156107dc5760405162461bcd60e51b81526004016104529061210f565b6000610c06680a6f2dce8d0cae8d2f60bb1b61148e565b60405161112b90849063a9059cbb60e01b90611251908690869060240161205f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526114f2565b6000828211156112aa5760405162461bcd60e51b81526004016104529061216f565b50900390565b60008282018381101561108e5760405162461bcd60e51b81526004016104529061213f565b6000610c066822bc31b430b733b2b960b91b61148e565b6000818152600860205260409020805460ff1661131b5760405162461bcd60e51b81526004016104529061218f565b600061132784846113ea565b9050600081116113495760405162461bcd60e51b8152600401610452906121af565b6001600160a01b03841660009081526004830160205260408120556003820154611379908263ffffffff61128816565b6003830155600754611391908263ffffffff61128816565b6007556113a18482610b02611218565b836001600160a01b03167fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e32582856040516113dc92919061226f565b60405180910390a250505050565b60008181526008602052604081206003810154158061140b57506001810154155b806114185750805460ff16155b15611427576000915050611091565b6001600160a01b03841660009081526004820160205260409020548061145257600092505050611091565b600061146b8360010154836115dd90919063ffffffff16565b905061148483600201548261160790919063ffffffff16565b9695505050505050565b60008181526005602090815260408083205490516001600160a01b0390911691821515916114be91869101611fe3565b604051602081830303815290604052906114eb5760405162461bcd60e51b815260040161045291906120fe565b5092915050565b611504826001600160a01b0316611631565b6115205760405162461bcd60e51b81526004016104529061224f565b60006060836001600160a01b03168360405161153c9190611fd0565b6000604051808303816000865af19150503d8060008114611579576040519150601f19603f3d011682016040523d82523d6000602084013e61157e565b606091505b5091509150816115a05760405162461bcd60e51b81526004016104529061215f565b8051156115d757808060200190516115bb9190810190611895565b6115d75760405162461bcd60e51b81526004016104529061221f565b50505050565b600061108e826115fb85670de0b6b3a764000063ffffffff61163716565b9063ffffffff61167116565b6000670de0b6b3a7640000611622848463ffffffff61163716565b8161162957fe5b049392505050565b3b151590565b60008261164657506000611091565b8282028284828161165357fe5b041461108e5760405162461bcd60e51b8152600401610452906121bf565b60008082116116925760405162461bcd60e51b81526004016104529061217f565b600082848161169d57fe5b04949350505050565b8035611091816122f2565b8051611091816122f2565b60008083601f8401126116ce57600080fd5b50813567ffffffffffffffff8111156116e657600080fd5b6020830191508360208202830111156116fe57600080fd5b9250929050565b803561109181612306565b805161109181612306565b80356110918161230f565b80516110918161230f565b60006020828403121561174357600080fd5b600061174f84846116a6565b949350505050565b60006020828403121561176957600080fd5b600061174f84846116b1565b6000806040838503121561178857600080fd5b600061179485856116a6565b92505060206117a5858286016116a6565b9150509250929050565b6000806000604084860312156117c457600080fd5b60006117d086866116a6565b935050602084013567ffffffffffffffff8111156117ed57600080fd5b6117f9868287016116bc565b92509250509250925092565b6000806040838503121561181857600080fd5b600061182485856116a6565b92505060206117a58582860161171b565b6000806020838503121561184857600080fd5b823567ffffffffffffffff81111561185f57600080fd5b61186b858286016116bc565b92509250509250929050565b60006020828403121561188957600080fd5b600061174f8484611705565b6000602082840312156118a757600080fd5b600061174f8484611710565b6000602082840312156118c557600080fd5b600061174f848461171b565b6000602082840312156118e357600080fd5b600061174f8484611726565b6000806040838503121561190257600080fd5b6000611794858561171b565b600061191a8383611993565b505060200190565b61192b81612295565b82525050565b600061193c82612283565b6119468185612287565b93506119518361227d565b8060005b8381101561197f578151611969888261190e565b97506119748361227d565b925050600101611955565b509495945050505050565b61192b816122a0565b61192b8161055d565b61192b6119a88261055d565b61055d565b60006119b882612283565b6119c28185612290565b93506119d28185602086016122bc565b9290920192915050565b61192b816122b1565b60006119f082612283565b6119fa8185612287565b9350611a0a8185602086016122bc565b611a13816122e8565b9093019392505050565b6000611a2a601783612287565b7f496e76616c6964207265636f7665722061646472657373000000000000000000815260200192915050565b6000611a63603583612287565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611aba601e83612287565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000611af3601b83612287565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611b2c601f83612287565b7f4e6f207265776172647320617661696c61626c6520746f207265636f76657200815260200192915050565b6000611b65602083612287565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611b9e601e83612287565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611bd7601a83612287565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611c10601183612290565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611c3d601783612287565b7f506572696f64206973206e6f742066696e616c697a6564000000000000000000815260200192915050565b6000611c76602f83612287565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611cc7601483612287565b734e6f207265776172647320617661696c61626c6560601b815260200192915050565b6000611cf7602183612287565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611d3a601a83612287565b7f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000815260200192915050565b6000611d73603c83612287565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000611dd2601983612290565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e0b601983612287565b7f496e73756666696369656e742066726565207265776172647300000000000000815260200192915050565b6000611e44601983612287565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b6000611e7d601483612287565b732737903a37b5b2b739903a37903932b1b7bb32b960611b815260200192915050565b6000611ead602a83612287565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611ef9601f83612287565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611f32601983612287565b7f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000815260200192915050565b6000611f6b601f83612287565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611fa4601c83612287565b7f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000815260200192915050565b6000611fdc82846119ad565b9392505050565b6000611fee82611c03565b9150611ffa828461199c565b50602001919050565b6000611fee82611dc5565b602081016110918284611922565b6040810161202a8285611922565b611fdc6020830184611922565b606081016120458286611922565b6120526020830185611922565b61174f6040830184611993565b6040810161206d8285611922565b611fdc6020830184611993565b606081016120888286611922565b6120526020830185611993565b6020808252810161108e8184611931565b60208101611091828461198a565b602081016110918284611993565b6040810161202a8285611993565b604081016120de8285611993565b818103602083015261174f81846119e5565b6020810161109182846119dc565b6020808252810161108e81846119e5565b6020808252810161109181611a1d565b6020808252810161109181611a56565b6020808252810161109181611aad565b6020808252810161109181611ae6565b6020808252810161109181611b1f565b6020808252810161109181611b58565b6020808252810161109181611b91565b6020808252810161109181611bca565b6020808252810161109181611c30565b6020808252810161109181611c69565b6020808252810161109181611cba565b6020808252810161109181611cea565b6020808252810161109181611d2d565b6020808252810161109181611d66565b6020808252810161109181611dfe565b6020808252810161109181611e37565b6020808252810161109181611e70565b6020808252810161109181611ea0565b6020808252810161109181611eec565b6020808252810161109181611f25565b6020808252810161109181611f5e565b6020808252810161109181611f97565b6040810161206d8285611993565b60200190565b5190565b90815260200190565b919050565b6000611091826122a5565b151590565b6001600160a01b031690565b600061109182612295565b60005b838110156122d75781810151838201526020016122bf565b838111156115d75750506000910152565b601f01601f191690565b6122fb81612295565b81146107dc57600080fd5b6122fb816122a0565b6122fb8161055d56fea365627a7a72315820e9b84a2dbcd024bab4af5cd9eca670245af9f7a8d4e21ce280a427d1c33bfc056c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "periodController", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recoverAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "AssignedRewardTokensRecovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "ExchangeFeeRecorded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "NewPeriodStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newPeriodController", + "type": "address" + } + ], + "name": "PeriodControllerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rewards", + "type": "uint256" + } + ], + "name": "PeriodFinalizedWithRewards", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "RewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recoverAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TokensRecovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recoverAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "UnassignedRewardTokensRecovered", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "claimRewardsForPeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256[]", + "name": "periodIDs", + "type": "uint256[]" + } + ], + "name": "claimRewardsForPeriods", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rewards", + "type": "uint256" + } + ], + "name": "closeCurrentPeriodWithRewards", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getAvailableRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getAvailableRewardsForAccountForPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "periodIDs", + "type": "uint256[]" + } + ], + "name": "getAvailableRewardsForAccountForPeriods", + "outputs": [ + { + "internalType": "uint256", + "name": "totalRewards", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getCurrentPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getPeriodAvailableRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getPeriodController", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getPeriodIsClaimable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getPeriodIsFinalized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getPeriodRecordedFees", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getPeriodTotalRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getRewardsToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "getUnaccountedFeesForAccountForPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getUnassignedRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "usdFeeAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "recordExchangeFeeForAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recoverAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "periodID", + "type": "uint256" + } + ], + "name": "recoverAssignedRewardTokensAndDestroyPeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "recoverAddress", + "type": "address" + } + ], + "name": "recoverTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recoverAddress", + "type": "address" + } + ], + "name": "recoverUnassignedRewardTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newPeriodController", + "type": "address" + } + ], + "name": "setPeriodController", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x64bc283409020cbc1a224438af164b18f7b62d03f0c7eaba6c731b9c22d352a0", + "urls": [ + "bzz-raw://7ac18bd63540a2e6ee5138ee2aa4dde745de7fad7674ac5c25f59acea5d95b81", + "dweb:/ipfs/QmcsWc9uVcyHg54zfYbt3nxDbHPRV86wz6kiD7i8kdqyFF" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "TradingRewards.sol": "TradingRewards" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "TradingRewards.sol": { + "keccak256": "0x64bc283409020cbc1a224438af164b18f7b62d03f0c7eaba6c731b9c22d352a0", + "urls": [ + "bzz-raw://7ac18bd63540a2e6ee5138ee2aa4dde745de7fad7674ac5c25f59acea5d95b81", + "dweb:/ipfs/QmcsWc9uVcyHg54zfYbt3nxDbHPRV86wz6kiD7i8kdqyFF" + ] + } + }, + "version": 1 + } + }, + "SupplySchedule": { + "bytecode": "608060405268056bc75e2d631000006004556a027b46536c66c8e300000060065534801561002c57600080fd5b50604051610cb8380380610cb88339818101604052606081101561004f57600080fd5b5080516020820151604090920151909190826001600160a01b0381166100bc576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610b8a8061012e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637e1b823f116100c3578063bdd124821161007c578063bdd12482146102ae578063be801f01146102b6578063cc5c095c146102be578063d3bd4bde146102c6578063dbd3a6a7146102ce578063df5a9fc1146102d65761014d565b80637e1b823f1461024b5780637e7961d7146102535780638da5cb5b1461027057806395896b76146102785780639bdd7ac71461029e578063a43ab48e146102a65761014d565b80634ae26521116101155780634ae26521146101d557806353a47bb7146101f2578063614d08f8146102165780636f33e7e11461021e5780637397ab6c1461022657806379ba5097146102435761014d565b80631627540c1461015257806322af2bab1461017a57806325a3746e1461019457806346872a23146101b157806346b45af7146101b9575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b03166102de565b005b61018261033a565b60408051918252519081900360200190f35b610178600480360360208110156101aa57600080fd5b5035610347565b6101826103e1565b6101c16103e8565b604080519115158252519081900360200190f35b610178600480360360208110156101eb57600080fd5b5035610408565b6101fa610493565b604080516001600160a01b039092168252519081900360200190f35b6101826104a2565b6101826104b7565b6101786004803603602081101561023c57600080fd5b50356104bd565b610178610502565b6101826105be565b6101826004803603602081101561026957600080fd5b50356105c6565b6101fa610734565b6101786004803603602081101561028e57600080fd5b50356001600160a01b0316610743565b6101826107f6565b6101826107fc565b6101fa610802565b610182610811565b610182610817565b61018261084d565b610182610853565b6101826108a2565b6102e66108a9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b680ad78ebc5ac620000081565b61034f6108a9565b6006548111156103a6576040805162461bcd60e51b815260206004820152601e60248201527f416d6f756e742061626f7665206d6178696d756d20696e666c6174696f6e0000604482015290519081900360640190fd5b60058190556040805182815290517f297a8f497249a00f95e5f63b91fe72db09907e46dba60ec5e4f6397056709a669181900360200190a150565b6201518081565b600062093a806002544203111561040157506001610405565b5060005b90565b6104106108a9565b680ad78ebc5ac62000008111156104585760405162461bcd60e51b8152600401808060200182810382526026815260200180610b306026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6001546001600160a01b031681565b6d537570706c795363686564756c6560901b81565b60055481565b6104c56108a9565b600681905560055460408051918252517f6a653dcb129ba34c380e770610eeb3b16e0318f91bf2a3cab0283b529086093b9181900360200190a150565b6001546001600160a01b0316331461054b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a786035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b635c7f0d8081565b60075460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561060b57600080fd5b505afa15801561061f573d6000803e3d6000fd5b505050506040513d602081101561063557600080fd5b50516001600160a01b0316331461067d5760405162461bcd60e51b8152600401808060200182810382526033815260200180610afd6033913960400191505060405180910390fd5b6000610687610853565b60035490915061069d908263ffffffff6108f416565b60038190556106df9062015180906106d3906106c29062093a8063ffffffff61095716565b635c7f0d809063ffffffff6108f416565b9063ffffffff6108f416565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a15050600454919050565b6000546001600160a01b031681565b61074b6108a9565b6001600160a01b03811661079c576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b60065481565b6007546001600160a01b031681565b60025481565b6000806108226103e8565b61082d579050610405565b610847610838610853565b6005549063ffffffff61095716565b91505090565b60035481565b6000806000600254116108795761087442635c7f0d8063ffffffff6109b016565b61088d565b60025461088d90429063ffffffff6109b016565b90506108478162093a8063ffffffff610a0d16565b62093a8081565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040180806020018281038252602f815260200180610aad602f913960400191505060405180910390fd5b565b60008282018381101561094e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261096657506000610951565b8282028284828161097357fe5b041461094e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610adc6021913960400191505060405180910390fd5b600082821115610a07576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610a63576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610a6e57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158200bacd51cce3301843dd125950c9922f7d561fcd55bc5595106f596aab549a80b64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_lastMintEvent", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_currentWeek", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newInflationAmount", + "type": "uint256" + } + ], + "name": "InflationAmountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newInflationAmount", + "type": "uint256" + } + ], + "name": "MaxInflationAmountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newRewardAmount", + "type": "uint256" + } + ], + "name": "MinterRewardUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "supplyMinted", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "numberOfWeeksIssued", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lastMintEvent", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "SupplyMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newAddress", + "type": "address" + } + ], + "name": "SynthetixProxyUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "INFLATION_START_DATE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_MINTER_REWARD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINT_BUFFER", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINT_PERIOD_DURATION", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "inflationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMintable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastMintEvent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxInflationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "mintableSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minterReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "supplyMinted", + "type": "uint256" + } + ], + "name": "recordMintEvent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setInflationAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setMaxInflationAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setMinterReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ISynthetix", + "name": "_synthetixProxy", + "type": "address" + } + ], + "name": "setSynthetixProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthetixProxy", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weekCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weeksSinceLastIssuance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x655d0f6e2c194c3493cf19de316dab85b1a68db6c2019790ca8ff5fcef6273f2", + "urls": [ + "bzz-raw://2e3ae18b49f0118dd7ff9fcdf4cff0111ea3a55596fcb4523effddc196d051f1", + "dweb:/ipfs/QmWvufEZt5GciCpUvfXLPmRvHziKcfUL3S8bAeB3SwRsJY" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SupplySchedule.sol": "SupplySchedule" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SupplySchedule.sol": { + "keccak256": "0x655d0f6e2c194c3493cf19de316dab85b1a68db6c2019790ca8ff5fcef6273f2", + "urls": [ + "bzz-raw://2e3ae18b49f0118dd7ff9fcdf4cff0111ea3a55596fcb4523effddc196d051f1", + "dweb:/ipfs/QmWvufEZt5GciCpUvfXLPmRvHziKcfUL3S8bAeB3SwRsJY" + ] + } + }, + "version": 1 + } + }, + "EscrowChecker": { + "bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780639514c2321461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a7231582084dabdef8af72d2daa0b666b4b223ba319c63aed3d8cf43f7a18c7ea6a5223d064736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ISynthetixEscrow", + "name": "_esc", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "checkAccountSchedule", + "outputs": [ + { + "internalType": "uint256[16]", + "name": "", + "type": "uint256[16]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthetix_escrow", + "outputs": [ + { + "internalType": "contract ISynthetixEscrow", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276", + "urls": [ + "bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8", + "dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "EscrowChecker.sol": "EscrowChecker" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "EscrowChecker.sol": { + "keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276", + "urls": [ + "bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8", + "dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt" + ] + } + }, + "version": 1 + } + }, + "SynthetixBridgeToOptimism": { + "bytecode": "60806040523480156200001157600080fd5b506040516200394a3803806200394a83398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b61371680620002346000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063698a26b2116100de578063a18e230711610097578063b9958ab811610071578063b9958ab8146102cf578063bb91f6a3146102e2578063f4f7b41a146102ea578063ffaad6a5146102fd57610173565b8063a18e230714610296578063a6492fe2146102a9578063b6b55f25146102bc57610173565b8063698a26b21461024e578063741853601461025657806379ba50971461025e578063899ffef4146102665780638da5cb5b1461027b5780639a9e7f961461028357610173565b80633c6b16ab116101305780633c6b16ab146101e3578063462286d5146101f65780634873966f1461020957806353a47bb71461021c5780635aba32ae14610231578063614d08f81461024657610173565b806304f3bcec14610178578063100be6d4146101965780631627540c146101ab5780631e2720ff146101c05780632af64bd3146101d35780633872dda3146101db575b600080fd5b610180610310565b60405161018d9190613440565b60405180910390f35b61019e61031f565b60405161018d9190613384565b6101be6101b9366004612765565b610328565b005b6101be6101ce366004612934565b610386565b61019e61042c565b6101be610544565b6101be6101f1366004612934565b6105ac565b6101be610204366004612765565b610620565b6101be6102173660046128e7565b6106c3565b61022461094e565b60405161018d919061325a565b61023961095d565b60405161018d9190613392565b610239610974565b6101be610998565b6101be6109fb565b6101be610b4d565b61026e610be9565b60405161018d9190613373565b610224610ce7565b6101be6102913660046127e3565b610cf6565b6101be6102a4366004612970565b610d0f565b6101be6102b73660046128e7565b610d3f565b6101be6102ca366004612934565b610e2a565b6101be6102dd366004612a00565b610e44565b610239610f92565b6101be6102f83660046127a9565b610fa4565b6101be61030b3660046127a9565b611082565b6002546001600160a01b031681565b60045460ff1681565b61033061109c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061037b90839061325a565b60405180910390a150565b61038e6110c8565b6103966110ea565b6001600160a01b03166323b872dd336103ad611101565b846040518463ffffffff1660e01b81526004016103cc93929190613268565b602060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061041e91908101906128c9565b506104293382611124565b50565b60006060610438610be9565b905060005b815181101561053a57600082828151811061045457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104a5908590600401613392565b60206040518083038186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f5919081019061278b565b6001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161043d565b5060019150505b90565b61054c61109c565b60045460ff166105775760405162461bcd60e51b815260040161056e9061348f565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6105b461123a565b6001600160a01b0316336001600160a01b0316146105e45760405162461bcd60e51b815260040161056e9061355f565b6105ec6110ea565b6001600160a01b031663a9059cbb610602611101565b836040518363ffffffff1660e01b81526004016103cc929190613358565b806106bf61062c611101565b6040516370a0823160e01b81526001600160a01b038416906370a082319061065890309060040161325a565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190612952565b6001600160a01b038416919063ffffffff61125b16565b5050565b6106cb6110c8565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161056e906134ef565b60006106fc846112b9565b116107195760405162461bcd60e51b815260040161056e9061352f565b6107216113a1565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b815260040161074c9190613392565b60006040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b5050505061078e6314d95b9d60e21b84836113bb565b6000610798611510565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b81526004016107c7939291906133ae565b602060405180830381600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081991908101906128c9565b905080156108395760405162461bcd60e51b815260040161056e9061357f565b606063a6492fe260e01b858585604051602401610858939291906133c9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610894611524565b6001600160a01b0316633dbb202b6108aa61153f565b836108b56003611549565b6040518463ffffffff1660e01b81526004016108d393929190613329565b600060405180830381600087803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b8560405161093f9190613392565b60405180910390a35050505050565b6001546001600160a01b031681565b600061096f6314d95b9d60e21b611599565b905090565b7f53796e746865746978427269646765546f4f7074696d69736d0000000000000090565b6109a061109c565b60045460ff16156109c35760405162461bcd60e51b815260040161056e9061345f565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b6060610a05610be9565b905060005b81518110156106bf576000828281518110610a2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610a63919061324f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a8f929190613420565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061278b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610b3b90849084906133a0565b60405180910390a15050600101610a0a565b6001546001600160a01b03163314610b775760405162461bcd60e51b815260040161056e9061346f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610bba926001600160a01b0391821692911690613300565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610bf4611870565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506524b9b9bab2b960d11b81600081518110610c3257fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600181518110610c6257fe5b602002602001018181525050786f766d3a53796e746865746978427269646765546f4261736560381b81600281518110610c9857fe5b6020026020010181815250507453796e746865746978427269646765457363726f7760581b81600381518110610cca57fe5b602002602001018181525050610ce082826119d9565b9250505090565b6000546001600160a01b031681565b610cfe6110c8565b610d06611a95565b61042981611b35565b610d176110c8565b610d1f611a95565b805115610d2f57610d2f81611b35565b81156106bf576106bf3383611dd6565b610d47611f71565b610d59632932b1bb60e11b84836113bb565b610d61611510565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610d90939291906133c9565b602060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de291908101906128c9565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610e1d9190613392565b60405180910390a3505050565b610e326110c8565b610e3a611a95565b6104293382611dd6565b610e4c6110c8565b610e5461204d565b6001600160a01b0316336001600160a01b031614610e845760405162461bcd60e51b815260040161056e9061350f565b6040516000906060906325aae56360e01b90610ea690869086906024016133f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ee2611524565b6001600160a01b0316633dbb202b610ef8612062565b83610f036004611549565b6040518463ffffffff1660e01b8152600401610f2193929190613329565b600060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050507fcca0df3f2f18cd65d14c04abffc77c2d00aaca7ad00b0d2eb074adeea3fb54f48484604051610f849291906133f7565b60405180910390a150505050565b600061096f632932b1bb60e11b611599565b610fac611f71565b610fb46110ea565b6001600160a01b03166323b872dd610fca611101565b84846040518463ffffffff1660e01b8152600401610fea9392919061331b565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103c91908101906128c9565b50816001600160a01b03167f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda8826040516110769190613392565b60405180910390a25050565b61108a6110c8565b611092611a95565b6106bf8282611dd6565b6000546001600160a01b031633146110c65760405162461bcd60e51b815260040161056e906134ff565b565b60045460ff166110c65760405162461bcd60e51b815260040161056e906134bf565b600061096f680a6f2dce8d0cae8d2f60bb1b612085565b600061096f7453796e746865746978427269646765457363726f7760581b612085565b60405160009060609063a616cdfb60e01b906111469086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611182611524565b6001600160a01b0316633dbb202b611198612062565b836111a36002611549565b6040518463ffffffff1660e01b81526004016111c193929190613329565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50505050836001600160a01b03167f0ac6af0c6fd21e58850b0385f451cdcc08071424f47fd04652be4e51069f43cc8460405161122c9190613392565b60405180910390a250505050565b600061096f722932bbb0b93239a234b9ba3934b13aba34b7b760691b612085565b6040516112b490849063a9059cbb60e01b9061127d9086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526120e2565b505050565b60006112c36121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016113169291906131c6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016113499291906133f7565b60206040518083038186803b15801561136157600080fd5b505afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113999190810190612952565b90505b919050565b600061096f6b53797374656d53746174757360a01b612085565b60006c29bcb73a342a3930b739b332b960991b84846040516020016113e2939291906131ec565b60405160208183030381529060405280519060200120905060006114046121cd565b6001600160a01b03166323257c2b61141a610974565b846040518363ffffffff1660e01b81526004016114389291906133f7565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114889190810190612952565b90506114926121cd565b6001600160a01b0316631d5b277f6114a8610974565b846114b9858863ffffffff6121ea16565b6040518463ffffffff1660e01b81526004016114d793929190613405565b600060405180830381600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050505050505050565b600061096f6524b9b9bab2b960d11b612085565b600061096f6c32bc3a1d26b2b9b9b2b733b2b960991b612085565b600061096f612062565b60006115536121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61157c85612218565b6040518363ffffffff1660e01b81526004016113499291906133f7565b600060606115a5611510565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115dd57600080fd5b505afa1580156115f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116199190810190612818565b905060606000611627612393565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016116529190613373565b60006040518083038186803b15801561166a57600080fd5b505afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a69190810190612882565b9150915080156116c85760405162461bcd60e51b815260040161056e906134cf565b606083516040519080825280602002602001820160405280156116f5578160200160208202803883390190505b50905060005b8451811015611771576c29bcb73a342a3930b739b332b960991b8786838151811061172257fe5b602002602001015160405160200161173c939291906131ec565b6040516020818303038152906040528051906020012082828151811061175e57fe5b60209081029190910101526001016116fb565b50606061177c6121cd565b6001600160a01b031663b67fa7ed611792610974565b846040518363ffffffff1660e01b81526004016117b09291906133d7565b60006040518083038186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611804919081019061284d565b905060005b85518110156118655761185b61184e86838151811061182457fe5b602002602001015184848151811061183857fe5b60200260200101516123ae90919063ffffffff16565b889063ffffffff6121ea16565b9650600101611809565b505050505050919050565b60608061187b6123c3565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106118c257fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e857fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061191357fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061193657fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b8160058151811061198657fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106119b057fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610cca57fe5b60608151835101604051908082528060200260200182016040528015611a09578160200160208202803883390190505b50905060005b8351811015611a4b57838181518110611a2457fe5b6020026020010151828281518110611a3857fe5b6020908102919091010152600101611a0f565b5060005b8251811015611a8e57828181518110611a6457fe5b6020026020010151828286510181518110611a7b57fe5b6020908102919091010152600101611a4f565b5092915050565b611a9d611510565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401611ac891906132b0565b60206040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b189190810190612952565b156110c65760405162461bcd60e51b815260040161056e906134df565b60005b81518110156106bf57601a60ff16828281518110611b5257fe5b6020026020010151511115611b795760405162461bcd60e51b815260040161056e906134af565b60006060611b85612414565b6001600160a01b03166380d46f5833868681518110611ba057fe5b60200260200101516040518363ffffffff1660e01b8152600401611bc5929190613290565b600060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b91908101906129b8565b90925090508115611dcc57611c2e6110ea565b6001600160a01b031663a9059cbb611c44611101565b846040518363ffffffff1660e01b8152600401611c62929190613358565b602060405180830381600087803b158015611c7c57600080fd5b505af1158015611c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb491908101906128c9565b50604051600090606090637cbc127f60e11b90611cd9903390879087906024016132ca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611d15611524565b6001600160a01b0316633dbb202b611d2b612062565b83611d366001611549565b6040518463ffffffff1660e01b8152600401611d5493929190613329565b600060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051611dc19291906135af565b60405180910390a250505b5050600101611b38565b611dde6110ea565b6001600160a01b03166323b872dd33611df5611101565b846040518463ffffffff1660e01b8152600401611e1493929190613268565b602060405180830381600087803b158015611e2e57600080fd5b505af1158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6691908101906128c9565b50604051600090606090638d6e9a5b60e01b90611e899086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ec5611524565b6001600160a01b0316633dbb202b611edb612062565b83611ee66000611549565b6040518463ffffffff1660e01b8152600401611f0493929190613329565b600060405180830381600087803b158015611f1e57600080fd5b505af1158015611f32573d6000803e3d6000fd5b50505050336001600160a01b03167ff531653a5819e21265de50358610d55dbe6594c61605b209dfa4280d277938c1858560405161122c929190613358565b6000611f7b611524565b9050336001600160a01b03821614611fa55760405162461bcd60e51b815260040161056e9061353f565b611fad61153f565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015611fef57600080fd5b505afa158015612003573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612027919081019061278b565b6001600160a01b0316146104295760405162461bcd60e51b815260040161056e9061354f565b600061096f66119959541bdbdb60ca1b612085565b600061096f786f766d3a53796e746865746978427269646765546f4261736560381b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916120b59186910161322f565b60405160208183030381529060405290611a8e5760405162461bcd60e51b815260040161056e919061344e565b6120f4826001600160a01b0316612430565b6121105760405162461bcd60e51b815260040161056e9061359f565b60006060836001600160a01b03168360405161212c9190613223565b6000604051808303816000865af19150503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121905760405162461bcd60e51b815260040161056e9061349f565b8051156121c757808060200190516121ab91908101906128c9565b6121c75760405162461bcd60e51b815260040161056e9061356f565b50505050565b600061096f6e466c657869626c6553746f7261676560881b612085565b60008282018381101561220f5760405162461bcd60e51b815260040161056e9061347f565b90505b92915050565b60008082600581111561222757fe5b141561225457507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061139c565b600182600581111561226257fe5b141561228f57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061139c565b600282600581111561229d57fe5b14156122ca57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061139c565b60038260058111156122d857fe5b141561230557507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061139c565b600582600581111561231357fe5b141561234057507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061139c565b600482600581111561234e57fe5b141561237b57507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061139c565b60405162461bcd60e51b815260040161056e9061358f565b600061096f6c45786368616e6765526174657360981b612085565b600061220f8383670de0b6b3a7640000612436565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061240557fe5b60200260200101818152505090565b600061096f6d2932bbb0b93222b9b1b937bbab1960911b612085565b3b151590565b600080600a830461244d868663ffffffff61247416565b8161245457fe5b0490506005600a82061061246657600a015b600a900490505b9392505050565b60008261248357506000612212565b8282028284828161249057fe5b041461220f5760405162461bcd60e51b815260040161056e9061351f565b8035612212816136a4565b8051612212816136a4565b600082601f8301126124d557600080fd5b81356124e86124e3826135f6565b6135cf565b81815260209384019390925082018360005b8381101561252657813586016125108882612612565b84525060209283019291909101906001016124fa565b5050505092915050565b600082601f83011261254157600080fd5b815161254f6124e3826135f6565b9150818183526020840193506020810190508385602084028201111561257457600080fd5b60005b83811015612526578161258a8882612708565b8452506020928301929190910190600101612577565b600082601f8301126125b157600080fd5b81516125bf6124e3826135f6565b915081818352602084019350602081019050838560408402820111156125e457600080fd5b60005b8381101561252657816125fa8882612713565b845250602090920191604091909101906001016125e7565b600082601f83011261262357600080fd5b81356126316124e3826135f6565b9150818183526020840193506020810190508385602084028201111561265657600080fd5b60005b83811015612526578161266c88826126fd565b8452506020928301929190910190600101612659565b600082601f83011261269357600080fd5b81516126a16124e3826135f6565b915081818352602084019350602081019050838560208402820111156126c657600080fd5b60005b8381101561252657816126dc8882612708565b84525060209283019291909101906001016126c9565b8051612212816136b8565b8035612212816136c1565b8051612212816136c1565b60006040828403121561272557600080fd5b61272f60406135cf565b9050600061273d848461275a565b825250602061274e84848301612708565b60208301525092915050565b8051612212816136ca565b60006020828403121561277757600080fd5b600061278384846124ae565b949350505050565b60006020828403121561279d57600080fd5b600061278384846124b9565b600080604083850312156127bc57600080fd5b60006127c885856124ae565b92505060206127d9858286016126fd565b9150509250929050565b6000602082840312156127f557600080fd5b813567ffffffffffffffff81111561280c57600080fd5b612783848285016124c4565b60006020828403121561282a57600080fd5b815167ffffffffffffffff81111561284157600080fd5b61278384828501612530565b60006020828403121561285f57600080fd5b815167ffffffffffffffff81111561287657600080fd5b61278384828501612682565b6000806040838503121561289557600080fd5b825167ffffffffffffffff8111156128ac57600080fd5b6128b885828601612682565b92505060206127d9858286016126f2565b6000602082840312156128db57600080fd5b600061278384846126f2565b6000806000606084860312156128fc57600080fd5b600061290886866126fd565b9350506020612919868287016124ae565b925050604061292a868287016126fd565b9150509250925092565b60006020828403121561294657600080fd5b600061278384846126fd565b60006020828403121561296457600080fd5b60006127838484612708565b6000806040838503121561298357600080fd5b600061298f85856126fd565b925050602083013567ffffffffffffffff8111156129ac57600080fd5b6127d9858286016124c4565b600080604083850312156129cb57600080fd5b60006129d78585612708565b925050602083015167ffffffffffffffff8111156129f457600080fd5b6127d9858286016125a0565b60008060408385031215612a1357600080fd5b60006127c885856126fd565b6000612a2b8383612b5d565b505060200190565b6000612a3f8383613190565b505060400190565b612a508161365c565b82525050565b612a508161362a565b6000612a6a8261361d565b612a748185613621565b9350612a7f83613617565b8060005b83811015612aad578151612a978882612a1f565b9750612aa283613617565b925050600101612a83565b509495945050505050565b6000612ac38261361d565b612acd8185613621565b9350612ad883613617565b8060005b83811015612aad578151612af08882612a33565b9750612afb83613617565b925050600101612adc565b6000612b118261361d565b612b1b8185613621565b9350612b2683613617565b8060005b83811015612aad578151612b3e8882612a1f565b9750612b4983613617565b925050600101612b2a565b612a5081613635565b612a5081610541565b612a50612b7282610541565b610541565b6000612b828261361d565b612b8c8185613621565b9350612b9c81856020860161366e565b612ba58161369a565b9093019392505050565b6000612bba8261361d565b612bc4818561139c565b9350612bd481856020860161366e565b9290920192915050565b612a5081613663565b6000612bf4601883613621565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000612c2d603583613621565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c84601b83613621565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612cbd601483613621565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000612ced602083613621565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000612d26602183613621565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000612d6960118361139c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d96601683613621565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000612dc8601183613621565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000612df5602383613621565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000612e3a601b83613621565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612e73602f83613621565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612ed0601f83613621565b7f4f6e6c79207468652066656520706f6f6c2063616e2063616c6c207468697300815260200192915050565b6000612f09602183613621565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612f4c602a83613621565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612f98601e83613621565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000612fd160198361139c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061300a602483613621565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b6000613050602a83613621565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061309c602a83613621565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006130e8602883613621565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000613132601683613621565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000613164601f83613621565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b805160408301906131a184826131bd565b5060208201516121c76020850182612b5d565b612a5081613646565b612a508161364f565b60006131d28285612b66565b6020820191506131e28284612b66565b5060200192915050565b60006131f88286612b66565b6020820191506132088285612b66565b6020820191506132188284612b66565b506020019392505050565b600061246d8284612baf565b600061323a82612d5c565b91506132468284612b66565b50602001919050565b600061323a82612fc4565b602081016122128284612a56565b606081016132768286612a47565b6132836020830185612a56565b6127836040830184612b5d565b6040810161329e8285612a47565b81810360208301526127838184612b06565b604081016132be8284612a47565b61221260208301612eb7565b606081016132d88286612a56565b6132e56020830185612b5d565b81810360408301526132f78184612ab8565b95945050505050565b6040810161330e8285612a56565b61246d6020830184612a56565b606081016132768286612a56565b606081016133378286612a56565b81810360208301526133498185612b77565b905061278360408301846131b4565b604081016133668285612a56565b61246d6020830184612b5d565b6020808252810161220f8184612a5f565b602081016122128284612b54565b602081016122128284612b5d565b6040810161330e8285612b5d565b606081016133bc8286612b5d565b6132836020830185612a47565b606081016132768286612b5d565b604081016133e58285612b5d565b81810360208301526127838184612a5f565b604081016133668285612b5d565b606081016134138286612b5d565b6132836020830185612b5d565b6040810161342e8285612b5d565b81810360208301526127838184612b77565b602081016122128284612bde565b6020808252810161220f8184612b77565b6020808252810161139981612be7565b6020808252810161139981612c20565b6020808252810161139981612c77565b6020808252810161139981612cb0565b6020808252810161139981612ce0565b6020808252810161139981612d19565b6020808252810161139981612d89565b6020808252810161139981612dbb565b6020808252810161139981612de8565b6020808252810161139981612e2d565b6020808252810161139981612e66565b6020808252810161139981612ec3565b6020808252810161139981612efc565b6020808252810161139981612f3f565b6020808252810161139981612f8b565b6020808252810161139981612ffd565b6020808252810161139981613043565b602080825281016113998161308f565b60208082528101611399816130db565b6020808252810161139981613125565b6020808252810161139981613157565b604081016135bd8285612b5d565b81810360208301526127838184612ab8565b60405181810167ffffffffffffffff811182821017156135ee57600080fd5b604052919050565b600067ffffffffffffffff82111561360d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113998261363a565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611399825b60006113998261362a565b60005b83811015613689578181015183820152602001613671565b838111156121c75750506000910152565b601f01601f191690565b6136ad8161362a565b811461042957600080fd5b6136ad81613635565b6136ad81610541565b6136ad8161364f56fea365627a7a72315820d796b1528dd70ff26b91edcb4a0b33bfd419416e9bc1eb92b3b55789014a684e6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "DepositInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "escrowedAccountBalance", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint64", + "name": "endTime", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "escrowAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct VestingEntries.VestingEntry[]", + "name": "vestingEntries", + "type": "tuple[]" + } + ], + "name": "ExportedVestingEntries", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "snxBackedDebt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalDebtShares", + "type": "uint256" + } + ], + "name": "FeePeriodClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "FinalizeSynthTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InitiateSynthTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "InitiationResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "InitiationSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardDepositInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "WithdrawalFinalized", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "snxBackedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalDebtShares", + "type": "uint256" + } + ], + "name": "closeFeePeriod", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "depositAmount", + "type": "uint256" + }, + { + "internalType": "uint256[][]", + "name": "entryIDs", + "type": "uint256[][]" + } + ], + "name": "depositAndMigrateEscrow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "finalizeSynthTransfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "finalizeWithdrawal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "name": "forwardTokensToEscrow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "initiateSynthTransfer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "initiationActive", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256[][]", + "name": "entryIDs", + "type": "uint256[][]" + } + ], + "name": "migrateEscrow", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "notifyRewardAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeInitiation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "suspendInitiation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthTransferReceived", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthTransferSent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xe21b3031839dcd24207e70d5b99d7ea2de7b826f5c482148f638eebb979c5795", + "urls": [ + "bzz-raw://04c0088161eb7e5a4190be7a2eaea3e3c106bce58bdf18f53fa7e22451b33ca7", + "dweb:/ipfs/QmVU8Bk1NtA5vKyQ2MAPWzevwJg4ips3VosjeuciVJK3oy" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthetixBridgeToOptimism.sol": "SynthetixBridgeToOptimism" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthetixBridgeToOptimism.sol": { + "keccak256": "0xe21b3031839dcd24207e70d5b99d7ea2de7b826f5c482148f638eebb979c5795", + "urls": [ + "bzz-raw://04c0088161eb7e5a4190be7a2eaea3e3c106bce58bdf18f53fa7e22451b33ca7", + "dweb:/ipfs/QmVU8Bk1NtA5vKyQ2MAPWzevwJg4ips3VosjeuciVJK3oy" + ] + } + }, + "version": 1 + } + }, + "SynthetixBridgeEscrow": { + "bytecode": "608060405234801561001057600080fd5b506040516107ab3803806107ab8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506106b1806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631627540c1461005c57806338e499cd1461008457806353a47bb7146100ba57806379ba5097146100de5780638da5cb5b146100e6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100ee565b005b6100826004803603606081101561009a57600080fd5b506001600160a01b0381358116916020810135909116906040013561014a565b6100c26101b7565b604080516001600160a01b039092168252519081900360200190f35b6100826101c6565b6100c2610282565b6100f6610291565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610152610291565b61016c6001600160a01b038416838363ffffffff6102dc16565b604080516001600160a01b038581168252602082018490528251908516927f303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712928290030190a2505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461020f5760405162461bcd60e51b81526004018080602001828103825260358152602001806105b96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146102da5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105ee602f913960400191505060405180910390fd5b565b801580610362575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561033457600080fd5b505afa158015610348573d6000803e3d6000fd5b505050506040513d602081101561035e57600080fd5b5051155b61039d5760405162461bcd60e51b81526004018080602001828103825260368152602001806106476036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526103ef9084906103f4565b505050565b610406826001600160a01b03166105b2565b610457576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104955780518252601f199092019160209182019101610476565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b509150915081610553576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ac5780806020019051602081101561056f57600080fd5b50516105ac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061061d602a913960400191505060405180910390fd5b50505050565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820dc01171f6d9f64c347d00ca946c9eeacbc8f270760c9c7671ce2630e81cd7c2e64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "BridgeApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_bridge", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "approveBridge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x2c578aff23c7fb3a8365b4d29531c5411ef7ec7df7c248d7b2bdcffd5125d117", + "urls": [ + "bzz-raw://3b8dc2ca11950bfe942f48661b2e1dd43bb1ea8bd5393e6c80bfd8805bee29bd", + "dweb:/ipfs/QmWsWoNpcXBG7XrkBMFo2UnEPmrB4dL9hSVoCxJGbXnra6" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthetixBridgeEscrow.sol": "SynthetixBridgeEscrow" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthetixBridgeEscrow.sol": { + "keccak256": "0x2c578aff23c7fb3a8365b4d29531c5411ef7ec7df7c248d7b2bdcffd5125d117", + "urls": [ + "bzz-raw://3b8dc2ca11950bfe942f48661b2e1dd43bb1ea8bd5393e6c80bfd8805bee29bd", + "dweb:/ipfs/QmWsWoNpcXBG7XrkBMFo2UnEPmrB4dL9hSVoCxJGbXnra6" + ] + } + }, + "version": 1 + } + }, + "OwnerRelayOnEthereum": { + "bytecode": "60806040523480156200001157600080fd5b50604051620016b3380380620016b38339810160408190526200003491620000f4565b600080546001600160a01b0319166001600160a01b038381169190911790915582908116620000805760405162461bcd60e51b81526004016200007790620001b0565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000d09060009084906200018a565b60405180910390a15050506200020b565b8051620000ee81620001f1565b92915050565b600080604083850312156200010857600080fd5b6000620001168585620000e1565b92505060206200012985828601620000e1565b9150509250929050565b6200013e81620001dd565b82525050565b6200013e81620001cb565b60006200015e601983620001c2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200019a828562000133565b620001a9602083018462000144565b9392505050565b60208082528101620000ee816200014f565b90815260200190565b60006001600160a01b038216620000ee565b6000620000ee826000620000ee82620001cb565b620001fc81620001cb565b81146200020857600080fd5b50565b611498806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637418536011610066578063741853601461011357806379ba50971461011b578063899ffef4146101235780638da5cb5b14610138578063e210f042146101405761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d65780634aeda11f146100eb57806353a47bb7146100fe575b600080fd5b6100ab610153565b6040516100b891906112e4565b60405180910390f35b6100d46100cf366004610cde565b610162565b005b6100de6101c0565b6040516100b8919061127f565b6100d46100f9366004610d8c565b6102d6565b61010661041e565b6040516100b891906111b4565b6100d461042d565b6100d4610582565b61012b61061e565b6040516100b8919061126e565b6101066106bd565b6100d461014e366004610d22565b6106cc565b6000546001600160a01b031681565b61016a6107e7565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101b59083906111b4565b60405180910390a150565b600060606101cc61061e565b905060005b81518110156102cc5760008282815181106101e857fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a7219061023790859060040161128d565b60206040518083038186803b15801561024f57600080fd5b505afa158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610d04565b6001600160a01b03161415806102b257506000818152600160205260409020546001600160a01b0316155b156102c357600093505050506102d3565b506001016101d1565b5060019150505b90565b6102de6107e7565b8382146103065760405162461bcd60e51b81526004016102fd90611323565b60405180910390fd5b604051600090606090637a153de960e11b9061032c90899089908990899060240161123d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610368610813565b6001600160a01b0316633dbb202b61037e610833565b8361038887610859565b6040518463ffffffff1660e01b81526004016103a69392919061120e565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b505050507faa86356fa99dddd7d5773ad300a6f8e0213a5a2f3f5dbdd4b696c6746d78ec048787878760405161040d949392919061123d565b60405180910390a150505050505050565b6003546001600160a01b031681565b606061043761061e565b905060005b815181101561057e57600082828151811061045357fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161049491906111a9565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104c09291906112c4565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610d04565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061056c908490849061129b565b60405180910390a1505060010161043c565b5050565b6003546001600160a01b031633146105ac5760405162461bcd60e51b81526004016102fd90611303565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ef926001600160a01b03918216929116906111c2565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60608061062961087f565b6040805160028082526060808301845293945090916020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066b57fe5b602002602001018181525050776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b816001815181106106a057fe5b6020026020010181815250506106b682826108d0565b9250505090565b6002546001600160a01b031681565b6106d46107e7565b60405160009060609063c3c79e5d60e01b906106f8908890889088906024016111e4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610734610813565b6001600160a01b0316633dbb202b61074a610833565b8361075487610859565b6040518463ffffffff1660e01b81526004016107729392919061120e565b600060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050507f0ad3bed4c45a8b7f0de84c5caaea6851b93c0453c25ad26d37077fcf4feb5c448686866040516107d7939291906111e4565b60405180910390a1505050505050565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004016102fd90611313565b565b600061082e6c32bc3a1d26b2b9b9b2b733b2b960991b61098c565b905090565b600061082e776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b61098c565b600063ffffffff82166108755761087060056109e9565b610877565b815b90505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108c157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610900578160200160208202803883390190505b50905060005b83518110156109425783818151811061091b57fe5b602002602001015182828151811061092f57fe5b6020908102919091010152600101610906565b5060005b82518110156109855782818151811061095b57fe5b602002602001015182828651018151811061097257fe5b6020908102919091010152600101610946565b5092915050565b60008181526001602090815260408083205490516001600160a01b0390911691821515916109bc91869101611189565b604051602081830303815290604052906109855760405162461bcd60e51b81526004016102fd91906112f2565b60006109f3610a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610a1c85610aa6565b6040518363ffffffff1660e01b8152600401610a399291906112a9565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108779190810190610e12565b600061082e6e466c657869626c6553746f7261676560881b61098c565b600080826005811115610ab557fe5b1415610ae257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061087a565b6001826005811115610af057fe5b1415610b1d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061087a565b6002826005811115610b2b57fe5b1415610b5857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061087a565b6003826005811115610b6657fe5b1415610b9357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061087a565b6005826005811115610ba157fe5b1415610bce57507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061087a565b6004826005811115610bdc57fe5b1415610c0957507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061087a565b60405162461bcd60e51b81526004016102fd90611333565b8035610c2c8161142c565b92915050565b8051610c2c8161142c565b60008083601f840112610c4f57600080fd5b50813567ffffffffffffffff811115610c6757600080fd5b602083019150836020820283011115610c7f57600080fd5b9250929050565b60008083601f840112610c9857600080fd5b50813567ffffffffffffffff811115610cb057600080fd5b602083019150836001820283011115610c7f57600080fd5b8051610c2c81611443565b8035610c2c8161144c565b600060208284031215610cf057600080fd5b6000610cfc8484610c21565b949350505050565b600060208284031215610d1657600080fd5b6000610cfc8484610c32565b60008060008060608587031215610d3857600080fd5b6000610d448787610c21565b945050602085013567ffffffffffffffff811115610d6157600080fd5b610d6d87828801610c86565b93509350506040610d8087828801610cd3565b91505092959194509250565b600080600080600060608688031215610da457600080fd5b853567ffffffffffffffff811115610dbb57600080fd5b610dc788828901610c3d565b9550955050602086013567ffffffffffffffff811115610de657600080fd5b610df288828901610c3d565b93509350506040610e0588828901610cd3565b9150509295509295909350565b600060208284031215610e2457600080fd5b6000610cfc8484610cc8565b6000610e3c8383610e5d565b505060200190565b6000610e3c8383610f8a565b6000610cfc848484610fa4565b610e66816113b6565b82525050565b6000610e78838561134d565b9350610e83826102d3565b8060005b85811015610eb957610e998284611356565b610ea38882610e30565b9750610eae83611343565b925050600101610e87565b509495945050505050565b6000610ecf82611349565b610ed9818561134d565b9350610ee483611343565b8060005b83811015610eb9578151610efc8882610e44565b9750610f0783611343565b925050600101610ee8565b6000610f1e838561134d565b935083602084028501610f30846102d3565b8060005b87811015610f74578484038952610f4b8284611365565b610f56868284610e50565b9550610f6184611343565b60209b909b019a93505050600101610f34565b5091979650505050505050565b610e66816113c1565b610e66816102d3565b610e66610f9f826102d3565b6102d3565b6000610fb0838561134d565b9350610fbd8385846113e6565b610fc683611422565b9093019392505050565b6000610fdb82611349565b610fe5818561134d565b9350610ff58185602086016113f2565b610fc681611422565b610e66816113db565b600061101460358361134d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061106b60118361087a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611098602f8361134d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006110e960198361087a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061112260188361134d565b7f417267756d656e74206c656e677468206d69736d617463680000000000000000815260200192915050565b600061115b60168361134d565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b610e66816113d2565b60006111948261105e565b91506111a08284610f93565b50602001919050565b6000611194826110dc565b60208101610c2c8284610e5d565b604081016111d08285610e5d565b6111dd6020830184610e5d565b9392505050565b604081016111f28286610e5d565b8181036020830152611205818486610fa4565b95945050505050565b6060810161121c8286610e5d565b818103602083015261122e8185610fd0565b9050610cfc6040830184611180565b6040808252810161124f818688610e6c565b90508181036020830152611264818486610f12565b9695505050505050565b602080825281016111dd8184610ec4565b60208101610c2c8284610f81565b60208101610c2c8284610f8a565b604081016111d08285610f8a565b604081016112b78285610f8a565b6111dd6020830184610f8a565b604081016112d28285610f8a565b8181036020830152610cfc8184610fd0565b60208101610c2c8284610ffe565b602080825281016111dd8184610fd0565b6020808252810161087781611007565b602080825281016108778161108b565b6020808252810161087781611115565b602080825281016108778161114e565b60200190565b5190565b90815260200190565b60006111dd6020840184610c21565b6000808335601e193685900301811261137d57600080fd5b83810160208101935035915067ffffffffffffffff82111561139e57600080fd5b368290038413156113ae57600080fd5b509250929050565b6000610877826113c6565b151590565b6001600160a01b031690565b63ffffffff1690565b6000610877826113b6565b82818337506000910152565b60005b8381101561140d5781810151838201526020016113f5565b8381111561141c576000848401525b50505050565b601f01601f191690565b611435816113b6565b811461144057600080fd5b50565b611435816102d3565b611435816113d256fea365627a7a72315820161137fd8208121567646edb9a0d92d063c6a2e135d7e624e5b14c412996a76f6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "payloads", + "type": "bytes[]" + } + ], + "name": "RelayBatchInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "payload", + "type": "bytes" + } + ], + "name": "RelayInitiated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes", + "name": "payload", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "crossDomainGasLimit", + "type": "uint32" + } + ], + "name": "initiateRelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "payloads", + "type": "bytes[]" + }, + { + "internalType": "uint32", + "name": "crossDomainGasLimit", + "type": "uint32" + } + ], + "name": "initiateRelayBatch", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x539cfc8bd2d5c33b0e4c65bcb3da621ad1bfdbfffbb3a392f13717d67c17addc", + "urls": [ + "bzz-raw://20fa12d51e5a3af3d4a796d5e419a81b600fea58eed8d1d366ad5a9c068b0393", + "dweb:/ipfs/QmVNa7yb2uJLumvEwLXJqZ4cZ9sjmwPcybUEVqorRADHrg" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "OwnerRelayOnEthereum.sol": "OwnerRelayOnEthereum" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "OwnerRelayOnEthereum.sol": { + "keccak256": "0x539cfc8bd2d5c33b0e4c65bcb3da621ad1bfdbfffbb3a392f13717d67c17addc", + "urls": [ + "bzz-raw://20fa12d51e5a3af3d4a796d5e419a81b600fea58eed8d1d366ad5a9c068b0393", + "dweb:/ipfs/QmVNa7yb2uJLumvEwLXJqZ4cZ9sjmwPcybUEVqorRADHrg" + ] + } + }, + "version": 1 + } + }, + "DebtMigratorOnEthereum": { + "bytecode": "60806040523480156200001157600080fd5b50604051620024f7380380620024f7833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b6122d080620002276000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063698a26b211610097578063899ffef411610066578063899ffef41461019c5780638da5cb5b146101b1578063c7421c12146101b9578063e0d39172146101cc576100f5565b8063698a26b21461017c578063741853601461018457806379ba50971461018c57806388c4ca6f14610194576100f5565b80632af64bd3116100d35780632af64bd3146101425780633872dda31461014a57806353a47bb714610152578063614d08f814610167576100f5565b806304f3bcec146100fa578063100be6d4146101185780631627540c1461012d575b600080fd5b6101026101d4565b60405161010f91906120cb565b60405180910390f35b6101206101e3565b60405161010f919061204b565b61014061013b36600461192b565b6101ec565b005b61012061024a565b610140610362565b61015a6103ca565b60405161010f9190611f53565b61016f6103d9565b60405161010f9190612059565b6101406103f6565b610140610459565b6101406105af565b61016f61064b565b6101a461072c565b60405161010f919061203a565b61015a610859565b6101406101c736600461192b565b610868565b61016f6108a4565b6002546001600160a01b031681565b60045460ff1681565b6101f46108d8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061023f908390611f53565b60405180910390a150565b6000606061025661072c565b905060005b815181101561035857600082828151811061027257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102c3908590600401612059565b60206040518083038186803b1580156102db57600080fd5b505afa1580156102ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103139190810190611951565b6001600160a01b031614158061033e57506000818152600360205260409020546001600160a01b0316155b1561034f576000935050505061035f565b5060010161025b565b5060019150505b90565b61036a6108d8565b60045460ff166103955760405162461bcd60e51b815260040161038c9061212a565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6001546001600160a01b031681565b75446562744d69677261746f724f6e457468657265756d60501b90565b6103fe6108d8565b60045460ff16156104215760405162461bcd60e51b815260040161038c906120ea565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b606061046361072c565b905060005b81518110156105ab57600082828151811061047f57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104c19190611f48565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104ed9291906120ab565b60206040518083038186803b15801561050557600080fd5b505afa158015610519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061053d9190810190611951565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105999084908490612067565b60405180910390a15050600101610468565b5050565b6001546001600160a01b031633146105d95760405162461bcd60e51b815260040161038c9061210a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261061c926001600160a01b0391821692911690611f61565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000806b2232b13a2a3930b739b332b960a11b6314d95b9d60e21b6253445360e81b60405160200161067f93929190611ef1565b60405160208183030381529060405280519060200120905060006106a1610904565b6001600160a01b03166323257c2b6106b76103d9565b846040518363ffffffff1660e01b81526004016106d5929190612075565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610725919081019061198d565b9250505090565b606080610737610926565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b8160008151811061078957fe5b602002602001018181525050692634b8bab4b230ba37b960b11b816001815181106107b057fe5b602002602001018181525050704c697175696461746f725265776172647360781b816002815181106107de57fe5b6020026020010181815250507853796e746865746978427269646765546f4f7074696d69736d60381b8160038151811061081457fe5b6020026020010181815250507153796e74686574697844656274536861726560701b8160048151811061084357fe5b60200260200101818152505061072582826109ea565b6000546001600160a01b031681565b610870610aa6565b336001600160a01b038216146108985760405162461bcd60e51b815260040161038c9061215a565b6108a181610ac8565b50565b6000806b2232b13a2a3930b739b332b960a11b632932b1bb60e11b6253445360e81b60405160200161067f93929190611ef1565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161038c9061216a565b565b60006109216e466c657869626c6553746f7261676560881b61137e565b905090565b6060806109316113e4565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061097657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b816001815181106109a157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106109c457fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061084357fe5b60608151835101604051908082528060200260200182016040528015610a1a578160200160208202803883390190505b50905060005b8351811015610a5c57838181518110610a3557fe5b6020026020010151828281518110610a4957fe5b6020908102919091010152600101610a20565b5060005b8251811015610a9f57828181518110610a7557fe5b6020026020010151828286510181518110610a8c57fe5b6020908102919091010152600101610a60565b5092915050565b60045460ff166109025760405162461bcd60e51b815260040161038c9061214a565b610ad0611435565b6001600160a01b031663952225f38260006040518363ffffffff1660e01b8152600401610afe929190611f83565b60206040518083038186803b158015610b1657600080fd5b505afa158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4e919081019061196f565b15610b6b5760405162461bcd60e51b815260040161038c9061213a565b610b7361144d565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401610b9e9190611f53565b600060405180830381600087803b158015610bb857600080fd5b505af1158015610bcc573d6000803e3d6000fd5b505050506000610bda61146c565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610c0a9190611f53565b60206040518083038186803b158015610c2257600080fd5b505afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5a919081019061198d565b905060008111610c7c5760405162461bcd60e51b815260040161038c9061217a565b610c8d6314d95b9d60e21b8261148c565b610c956115e5565b6001600160a01b03166380aa6a9184836040518363ffffffff1660e01b8152600401610cc2929190611fcd565b600060405180830381600087803b158015610cdc57600080fd5b505af1158015610cf0573d6000803e3d6000fd5b50505050600080610d0c680a6f2dce8d0cae8d2f60bb1b61137e565b6001600160a01b03166384358843866040518263ffffffff1660e01b8152600401610d379190611f53565b6040805180830381600087803b158015610d5057600080fd5b505af1158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d8891908101906119ab565b90925090506000610d9f828463ffffffff6115f916565b905060008111610dc15760405162461bcd60e51b815260040161038c9061219a565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a72190610e0f90796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b90600401612059565b60206040518083038186803b158015610e2757600080fd5b505afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e5f9190810190611951565b6001600160a01b03161415610e865760405162461bcd60e51b815260040161038c906121da565b610e8e611627565b6001600160a01b031663095ea7b3610ea461163e565b836040518363ffffffff1660e01b8152600401610ec2929190611fcd565b602060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f14919081019061196f565b50610f1d61163e565b6001600160a01b031663ffaad6a5610f33611665565b836040518363ffffffff1660e01b8152600401610f51929190611fcd565b600060405180830381600087803b158015610f6b57600080fd5b505af1158015610f7f573d6000803e3d6000fd5b50505050610f8b61146c565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610fb69190611f53565b60206040518083038186803b158015610fce57600080fd5b505afa158015610fe2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611006919081019061198d565b156110235760405162461bcd60e51b815260040161038c9061218a565b61102b611627565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110569190611f53565b60206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110a6919081019061198d565b156110c35760405162461bcd60e51b815260040161038c906121ba565b6110cb61168d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110f69190611f53565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611146919081019061198d565b156111635760405162461bcd60e51b815260040161038c906121aa565b61116b61144d565b6001600160a01b0316628cc262876040518263ffffffff1660e01b81526004016111959190611f53565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111e5919081019061198d565b156112025760405162461bcd60e51b815260040161038c906120fa565b6040516000906060906380aa6a9160e01b90611224908a908990602401611fcd565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290519091506000906060906308f40ad760e21b90611280908c908b908b908b908990602401611fe8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506112bc6116a9565b6001600160a01b0316633dbb202b6112d2611665565b836112dd60006116c4565b6040518463ffffffff1660e01b81526004016112fb93929190611f9e565b600060405180830381600087803b15801561131557600080fd5b505af1158015611329573d6000803e3d6000fd5b50505050896001600160a01b03167f1723685f7b2b8753c5fbe69698cf139b15c3b43321e256a9c08a60226a2c1e5e89898960405161136a93929190612083565b60405180910390a250505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916113ae91869101611f28565b604051602081830303815290604052906113db5760405162461bcd60e51b815260040161038c91906120d9565b5090505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061142657fe5b60200260200101818152505090565b6000610921692634b8bab4b230ba37b960b11b61137e565b6000610921704c697175696461746f725265776172647360781b61137e565b60006109217153796e74686574697844656274536861726560701b61137e565b60006b2232b13a2a3930b739b332b960a11b836253445360e81b6040516020016114b893929190611ef1565b60405160208183030381529060405280519060200120905060006114da610904565b6001600160a01b03166323257c2b6114f06103d9565b846040518363ffffffff1660e01b815260040161150e929190612075565b60206040518083038186803b15801561152657600080fd5b505afa15801561153a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061155e919081019061198d565b9050611568610904565b6001600160a01b0316631d5b277f61157e6103d9565b8461158f858863ffffffff6115f916565b6040518463ffffffff1660e01b81526004016115ad93929190612083565b600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b5050505050505050565b60006109216524b9b9bab2b960d11b61137e565b60008282018381101561161e5760405162461bcd60e51b815260040161038c9061211a565b90505b92915050565b6000610921680a6f2dce8d0cae8d2f60bb1b61137e565b60006109217853796e746865746978427269646765546f4f7074696d69736d60381b61137e565b6000610921796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b61137e565b60006109216d2932bbb0b93222b9b1b937bbab1960911b61137e565b60006109216c32bc3a1d26b2b9b9b2b733b2b960991b61137e565b600063ffffffff82166116e0576116db60056116e4565b611621565b5090565b60006116ee610904565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61171785611784565b6040518363ffffffff1660e01b8152600401611734929190612075565b60206040518083038186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611621919081019061198d565b60008082600581111561179357fe5b14156117c057507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006113df565b60018260058111156117ce57fe5b14156117fb57507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006113df565b600282600581111561180957fe5b141561183657507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006113df565b600382600581111561184457fe5b141561187157507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006113df565b600582600581111561187f57fe5b14156118ac57507f63726f7373446f6d61696e52656c61794761734c696d697400000000000000006113df565b60048260058111156118ba57fe5b14156118e757507f63726f7373446f6d61696e436c6f73654761734c696d697400000000000000006113df565b60405162461bcd60e51b815260040161038c906121ca565b803561162181612267565b805161162181612267565b80516116218161227b565b805161162181612284565b60006020828403121561193d57600080fd5b600061194984846118ff565b949350505050565b60006020828403121561196357600080fd5b6000611949848461190a565b60006020828403121561198157600080fd5b60006119498484611915565b60006020828403121561199f57600080fd5b60006119498484611920565b600080604083850312156119be57600080fd5b60006119ca8585611920565b92505060206119db85828601611920565b9150509250929050565b60006119f18383611a6a565b505060200190565b611a02816121fd565b82525050565b6000611a13826121f0565b611a1d81856121f4565b9350611a28836121ea565b8060005b83811015611a56578151611a4088826119e5565b9750611a4b836121ea565b925050600101611a2c565b509495945050505050565b611a0281612208565b611a028161035f565b611a02611a7f8261035f565b61035f565b6000611a8f826121f0565b611a9981856121f4565b9350611aa981856020860161222d565b611ab28161225d565b9093019392505050565b611a0281612222565b6000611ad26018836121f4565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000611b0b601a836121f4565b7f4561726e65642062616c616e6365206973206e6f74207a65726f000000000000815260200192915050565b6000611b446035836121f4565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611b9b601b836121f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611bd46014836121f4565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000611c046026836121f4565b7f43616e6e6f74206d696772617465206966206f70656e20666f72206c697175698152653230ba34b7b760d11b602082015260400192915050565b6000611c4c6011836113df565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611c796016836121f4565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000611cab6019836121f4565b7f4d75737420626520746865206163636f756e74206f776e657200000000000000815260200192915050565b6000611ce4602f836121f4565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611d356012836121f4565b714e6f206465627420746f206d69677261746560701b815260200192915050565b6000611d63601e836121f4565b7f446562742073686172652062616c616e6365206973206e6f74207a65726f0000815260200192915050565b6000611d9c601c836121f4565b7f43616e6e6f74206d696772617465207a65726f2062616c616e63657300000000815260200192915050565b6000611dd56019836113df565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e0e601b836121f4565b7f457363726f772062616c616e616365206973206e6f74207a65726f0000000000815260200192915050565b6000611e476017836121f4565b7f534e582062616c616e6365206973206e6f74207a65726f000000000000000000815260200192915050565b6000611e806016836121f4565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000611eb26021836121f4565b7f44656274204d69677261746f72204f6e204f7074696d69736d206e6f742073658152601d60fa1b602082015260400192915050565b611a0281612219565b6000611efd8286611a73565b602082019150611f0d8285611a73565b602082019150611f1d8284611a73565b506020019392505050565b6000611f3382611c3f565b9150611f3f8284611a73565b50602001919050565b6000611f3382611dc8565b6020810161162182846119f9565b60408101611f6f82856119f9565b611f7c60208301846119f9565b9392505050565b60408101611f9182856119f9565b611f7c6020830184611a61565b60608101611fac82866119f9565b8181036020830152611fbe8185611a84565b90506119496040830184611ee8565b60408101611fdb82856119f9565b611f7c6020830184611a6a565b60a08101611ff682886119f9565b6120036020830187611a6a565b6120106040830186611a6a565b61201d6060830185611a6a565b818103608083015261202f8184611a84565b979650505050505050565b60208082528101611f7c8184611a08565b602081016116218284611a61565b602081016116218284611a6a565b60408101611f6f8285611a6a565b60408101611fdb8285611a6a565b606081016120918286611a6a565b61209e6020830185611a6a565b6119496040830184611a6a565b604081016120b98285611a6a565b81810360208301526119498184611a84565b602081016116218284611abc565b60208082528101611f7c8184611a84565b6020808252810161162181611ac5565b6020808252810161162181611afe565b6020808252810161162181611b37565b6020808252810161162181611b8e565b6020808252810161162181611bc7565b6020808252810161162181611bf7565b6020808252810161162181611c6c565b6020808252810161162181611c9e565b6020808252810161162181611cd7565b6020808252810161162181611d28565b6020808252810161162181611d56565b6020808252810161162181611d8f565b6020808252810161162181611e01565b6020808252810161162181611e3a565b6020808252810161162181611e73565b6020808252810161162181611ea5565b60200190565b5190565b90815260200190565b60006116218261220d565b151590565b6001600160a01b031690565b63ffffffff1690565b6000611621826121fd565b60005b83811015612248578181015183820152602001612230565b83811115612257576000848401525b50505050565b601f01601f191690565b612270816121fd565b81146108a157600080fd5b61227081612208565b6122708161035f56fea365627a7a72315820653080fa02791257c34995e14cbf009fc358277628087a847efb41c723a3fb276c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "InitiationResumed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "InitiationSuspended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalDebtSharesMigrated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalEscrowMigrated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalLiquidBalanceMigrated", + "type": "uint256" + } + ], + "name": "MigrationInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "debtTransferReceived", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "debtTransferSent", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "initiationActive", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "migrateDebt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "resumeInitiation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "suspendInitiation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x3ffe9ab02eef6c60dfad1834332d528409856c2ee6e0d78143ef93267b2c4e87", + "urls": [ + "bzz-raw://7275e3e978e61764b4504fe45797dab18b32b6cd1d56d90850e98a4117492751", + "dweb:/ipfs/QmNuHbSk962nCp8iJozUoAi5tDyYnt711Fespet3rQCbLp" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "DebtMigratorOnEthereum.sol": "DebtMigratorOnEthereum" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "DebtMigratorOnEthereum.sol": { + "keccak256": "0x3ffe9ab02eef6c60dfad1834332d528409856c2ee6e0d78143ef93267b2c4e87", + "urls": [ + "bzz-raw://7275e3e978e61764b4504fe45797dab18b32b6cd1d56d90850e98a4117492751", + "dweb:/ipfs/QmNuHbSk962nCp8iJozUoAi5tDyYnt711Fespet3rQCbLp" + ] + } + }, + "version": 1 + } + }, + "SynthRedeemer": { + "bytecode": "608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820e12c9e504f6edf877a2a72600a7c6dd84a86f736ed8a6f378a4e807f4292b2b364736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rateToRedeem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalSynthSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "supplyInsUSD", + "type": "uint256" + } + ], + "name": "SynthDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synth", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountOfSynth", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountInsUSD", + "type": "uint256" + } + ], + "name": "SynthRedeemed", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balanceInsUSD", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "rateToRedeem", + "type": "uint256" + } + ], + "name": "deprecate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + } + ], + "name": "redeem", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20[]", + "name": "synthProxies", + "type": "address[]" + } + ], + "name": "redeemAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountOfSynth", + "type": "uint256" + } + ], + "name": "redeemPartial", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "redemptions", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "synthProxy", + "type": "address" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "supplyInsUSD", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f", + "urls": [ + "bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110", + "dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthRedeemer.sol": "SynthRedeemer" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthRedeemer.sol": { + "keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f", + "urls": [ + "bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110", + "dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN" + ] + } + }, + "version": 1 + } + }, + "WrapperFactory": { + "bytecode": "60806040523480156200001157600080fd5b5060405162003ead38038062003ead8339810160408190526200003491620000fa565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f90620001b6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000190565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002119050565b8051620000f481620001f7565b92915050565b600080604083850312156200010e57600080fd5b60006200011c8585620000e7565b92505060206200012f85828601620000e7565b9150509250929050565b6200014481620001e3565b82525050565b6200014481620001d1565b600062000164601983620001c8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a0828562000139565b620001af60208301846200014a565b9392505050565b60208082528101620000f48162000155565b90815260200190565b60006001600160a01b038216620000f4565b6000620000f4826000620000f482620001d1565b6200020281620001d1565b81146200020e57600080fd5b50565b613c8c80620002216000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b1462000232578063a106935d146200024a578063bb57ad20146200026f578063e0aa2797146200028757620000d4565b806375d920a914620001db57806379ba509714620001f3578063899ffef4146200020b57620000d4565b806304f3bcec14620000f75780631627540c14620001275780632af64bd3146200014e57806353a47bb71462000175578063614d08f8146200019c5780637418536014620001c3575b60405162461bcd60e51b8152600401620000ee90620011cf565b60405180910390fd5b3480156200010457600080fd5b506200010f620002ac565b6040516200011e919062001176565b60405180910390f35b3480156200013457600080fd5b506200014c6200014636600462000c73565b620002bb565b005b3480156200015b57600080fd5b50620001666200031d565b6040516200011e9190620010e4565b3480156200018257600080fd5b506200018d62000443565b6040516200011e91906200101d565b348015620001a957600080fd5b50620001b462000452565b6040516200011e9190620010f4565b348015620001d057600080fd5b506200014c62000467565b348015620001e857600080fd5b50620001b4620005cc565b3480156200020057600080fd5b506200014c6200065e565b3480156200021857600080fd5b5062000223620006ff565b6040516200011e9190620010d1565b3480156200023f57600080fd5b506200018d6200079d565b3480156200025757600080fd5b506200018d6200026936600462000cde565b620007ac565b3480156200027c57600080fd5b506200014c6200093b565b3480156200029457600080fd5b5062000166620002a636600462000c73565b62000a83565b6002546001600160a01b031681565b620002c562000b2f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290620003129083906200101d565b60405180910390a150565b600060606200032b620006ff565b905060005b8151811015620004395760008282815181106200034957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906200039c908590600401620010f4565b60206040518083038186803b158015620003b557600080fd5b505afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003f0919081019062000c9c565b6001600160a01b03161415806200041c57506000818152600360205260409020546001600160a01b0316155b156200042f576000935050505062000440565b5060010162000330565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b606062000473620006ff565b905060005b8151811015620005c85760008282815181106200049157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001620004d5919062001010565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200050392919062001152565b60206040518083038186803b1580156200051c57600080fd5b505afa15801562000531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000557919081019062000c9c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890620005b5908490849062001104565b60405180910390a1505060010162000478565b5050565b6000620005d862000b5e565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016200060591906200102d565b60206040518083038186803b1580156200061e57600080fd5b505afa15801562000633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000659919081019062000d32565b905090565b6001546001600160a01b031633146200068b5760405162461bcd60e51b8152600401620000ee9062001199565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92620006d0926001600160a01b03918216929116906200103d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200073c57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200076957fe5b60200260200101818152505066119959541bdbdb60ca1b816002815181106200078e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620007b862000b2f565b600080546002546040516001600160a01b039283169290911690879087908790620007e39062000c11565b620007f39594939291906200105c565b604051809103906000f08015801562000810573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200084f57600080fd5b505af115801562000864573d6000803e3d6000fd5b505050506200087262000b77565b604051631d5b277f60e01b81526001600160a01b0391821691631d5b277f91620008b9916d57726170706572466163746f727960901b919086169060019060040162001124565b600060405180830381600087803b158015620008d457600080fd5b505af1158015620008e9573d6000803e3d6000fd5b5050505083856001600160a01b03167f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e836040516200092991906200102d565b60405180910390a390505b9392505050565b600062000947620005cc565b9050801562000a805760006200095c62000b5e565b6001600160a01b031663a9059cbb6200097462000b96565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015620009ad57600080fd5b505afa158015620009c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620009e8919081019062000c9c565b846040518363ffffffff1660e01b815260040162000a08929190620010b2565b602060405180830381600087803b15801562000a2357600080fd5b505af115801562000a38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000a5e919081019062000cbd565b905080620005c85760405162461bcd60e51b8152600401620000ee90620011ab565b50565b60008062000a9062000b77565b6040516323257c2b60e01b81526001600160a01b03918216916323257c2b9162000ad4916d57726170706572466163746f727960901b919088169060040162001114565b60206040518083038186803b15801562000aed57600080fd5b505afa15801562000b02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000b28919081019062000d32565b1192915050565b6000546001600160a01b0316331462000b5c5760405162461bcd60e51b8152600401620000ee90620011bd565b565b6000620006596814de5b9d1a1cd554d160ba1b62000ba8565b6000620006596e466c657869626c6553746f7261676560881b62000ba8565b60006200065966119959541bdbdb60ca1b5b60008181526003602090815260408083205490516001600160a01b03909116918215159162000bda9186910162000fec565b6040516020818303038152906040529062000c0a5760405162461bcd60e51b8152600401620000ee919062001186565b5092915050565b6129a380620012a783390190565b803562000c2c816200126e565b92915050565b805162000c2c816200126e565b805162000c2c8162001285565b803562000c2c8162001290565b803562000c2c816200129b565b805162000c2c8162001290565b60006020828403121562000c8657600080fd5b600062000c94848462000c1f565b949350505050565b60006020828403121562000caf57600080fd5b600062000c94848462000c32565b60006020828403121562000cd057600080fd5b600062000c94848462000c3f565b60008060006060848603121562000cf457600080fd5b600062000d02868662000c59565b935050602062000d158682870162000c4c565b925050604062000d288682870162000c4c565b9150509250925092565b60006020828403121562000d4557600080fd5b600062000c94848462000c66565b600062000d61838362000df5565b505060200190565b62000d748162001224565b82525050565b62000d7481620011f9565b600062000d9282620011e7565b62000d9e8185620011eb565b935062000dab83620011e1565b8060005b8381101562000ddf57815162000dc6888262000d53565b975062000dd383620011e1565b92505060010162000daf565b509495945050505050565b62000d748162001206565b62000d748162000440565b62000d7462000e0f8262000440565b62000440565b62000d74816200120b565b600062000e2d82620011e7565b62000e398185620011eb565b935062000e4b81856020860162001231565b62000e568162001264565b9093019392505050565b600062000e6f603583620011eb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600062000ec8601183620011f4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600062000ef7601883620011eb565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b600062000f32602f83620011eb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600062000f85601983620011f4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600062000fc0601783620011eb565b7f436f6e7472616374206973206e6f742070617961626c65000000000000000000815260200192915050565b600062000ff98262000eb9565b915062001007828462000e00565b50602001919050565b600062000ff98262000f76565b6020810162000c2c828462000d7a565b6020810162000c2c828462000d69565b604081016200104d828562000d7a565b62000934602083018462000d7a565b60a081016200106c828862000d7a565b6200107b602083018762000d7a565b6200108a604083018662000e15565b62001099606083018562000df5565b620010a8608083018462000df5565b9695505050505050565b60408101620010c2828562000d7a565b62000934602083018462000df5565b6020808252810162000934818462000d85565b6020810162000c2c828462000dea565b6020810162000c2c828462000df5565b604081016200104d828562000df5565b60408101620010c2828562000df5565b6060810162001134828662000df5565b62001143602083018562000df5565b62000c94604083018462000df5565b6040810162001162828562000df5565b818103602083015262000c94818462000e20565b6020810162000c2c828462000e15565b6020808252810162000934818462000e20565b6020808252810162000c2c8162000e60565b6020808252810162000c2c8162000ee8565b6020808252810162000c2c8162000f23565b6020808252810162000c2c8162000fb1565b60200190565b5190565b90815260200190565b919050565b600062000c2c8262001218565b151590565b600062000c2c82620011f9565b6001600160a01b031690565b600062000c2c826200120b565b60005b838110156200124e57818101518382015260200162001234565b838111156200125e576000848401525b50505050565b601f01601f191690565b6200127981620011f9565b811462000a8057600080fd5b620012798162001206565b620012798162000440565b62001279816200120b56fe60806040523480156200001157600080fd5b50604051620029a3380380620029a38339810160408190526200003491620001f7565b8380866001600160a01b038116620000695760405162461bcd60e51b8152600401620000609062000388565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000331565b60405180910390a1506000546001600160a01b0316620000ea5760405162461bcd60e51b8152600401620000609062000376565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060085560405163095ea7b360e01b81529116915063095ea7b3906200015b9030906000199060040162000357565b602060405180830381600087803b1580156200017657600080fd5b505af11580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001b1919081019062000277565b50505050505062000419565b8051620001ca81620003de565b92915050565b8051620001ca81620003f8565b8051620001ca8162000403565b8051620001ca816200040e565b600080600080600060a086880312156200021057600080fd5b60006200021e8888620001bd565b95505060206200023188828901620001bd565b94505060406200024488828901620001ea565b93505060606200025788828901620001dd565b92505060806200026a88828901620001dd565b9150509295509295909350565b6000602082840312156200028a57600080fd5b6000620002988484620001d0565b949350505050565b620002ab81620003d1565b82525050565b620002ab81620003a3565b6000620002cb6011836200039a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002fa6019836200039a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620002ab81620003b5565b60408101620003418285620002a0565b620003506020830184620002b1565b9392505050565b60408101620003678285620002a0565b62000350602083018462000326565b60208082528101620001ca81620002bc565b60208082528101620001ca81620002eb565b90815260200190565b6000620001ca82620003c5565b151590565b90565b6000620001ca82620003a3565b6001600160a01b031690565b6000620001ca82620003b8565b620003e981620003a3565b8114620003f557600080fd5b50565b620003e981620003b0565b620003e981620003b5565b620003e981620003b8565b61257a80620004296000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d68146103d1578063dbd06c85146103f1578063ee5f3f5c14610406578063fc0c546a1461041b57610166565b80638a926d0f146103925780638da5cb5b146103a757806391b4ded9146103bc57610166565b80635c975abb146102fc5780635cfc1a51146103115780636ad8826914610326578063741853601461034657806379ba50971461035b578063899ffef41461037057610166565b80631f23a352116101235780631f23a352146102405780632af64bd31461025557806342966c6814610277578063509bf42a1461029757806353a47bb7146102ac5780635c095e54146102ce57610166565b806304f3bcec146101875780630902f1ac146101b25780631627540c146101d457806316c38b3c146101f657806317c943bc1461021657806318819a311461022b575b60405162461bcd60e51b815260040161017e90612393565b60405180910390fd5b34801561019357600080fd5b5061019c610430565b6040516101a99190612364565b60405180910390f35b3480156101be57600080fd5b506101c7610444565b6040516101a991906122ff565b3480156101e057600080fd5b506101f46101ef366004611c2a565b6104cb565b005b34801561020257600080fd5b506101f4610211366004611c6e565b610529565b34801561022257600080fd5b506101c761059e565b34801561023757600080fd5b506101c76105a4565b34801561024c57600080fd5b506101c76105af565b34801561026157600080fd5b5061026a6105b5565b6040516101a991906122f1565b34801561028357600080fd5b506101f4610292366004611cc8565b6106d1565b3480156102a357600080fd5b506101c7610b13565b3480156102b857600080fd5b506102c1610b1e565b6040516101a9919061223d565b3480156102da57600080fd5b506102ee6102e9366004611cc8565b610b2d565b6040516101a9929190612463565b34801561030857600080fd5b5061026a610b82565b34801561031d57600080fd5b506101c7610b8b565b34801561033257600080fd5b506102ee610341366004611cc8565b610bcd565b34801561035257600080fd5b506101f4610bda565b34801561036757600080fd5b506101f4610d30565b34801561037c57600080fd5b50610385610dcc565b6040516101a991906122e0565b34801561039e57600080fd5b506101c7610eee565b3480156103b357600080fd5b506102c1610ef9565b3480156103c857600080fd5b506101c7610f08565b3480156103dd57600080fd5b506101f46103ec366004611cc8565b610f0e565b3480156103fd57600080fd5b506101c761126d565b34801561041257600080fd5b506101c7611273565b34801561042757600080fd5b5061019c6112b7565b60035461010090046001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a082319061047590309060040161224b565b60206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c59190810190611caa565b90505b90565b6104d36112c6565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061051e90839061223d565b60405180910390a150565b6105316112c6565b60035460ff16151581151514156105475761059b565b6003805460ff1916821515179081905560ff161561056457426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161051e9160ff909116906122f1565b50565b60085481565b60006104c5306112f2565b60075481565b600060606105c1610dcc565b905060005b81518110156106c85760008282815181106105dd57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610633918691016122ff565b60206040518083038186803b15801561064b57600080fd5b505afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106839190810190611c50565b6001600160a01b03161415806106ae57506000818152600460205260409020546001600160a01b0316155b156106bf57600093505050506104c8565b506001016105c6565b50600191505090565b60035460ff16156106f45760405162461bcd60e51b815260040161017e90612433565b6106fc6113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506107546113e7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161077f919061224b565b60206040518083038186803b15801561079757600080fd5b505afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107cf9190810190611caa565b8111156107ee5760405162461bcd60e51b815260040161017e90612423565b6107f66113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b815260040161082391906122ff565b60206040518083038186803b15801561083b57600080fd5b505afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108739190810190611c8c565b156108905760405162461bcd60e51b815260040161017e906123c3565b600061089a611273565b116108b75760405162461bcd60e51b815260040161017e90612453565b6000806108c5600854610bcd565b9150915060008082156109935784600854106108e157846108f4565b6008546108f4908563ffffffff61140f16565b915061098c610901610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561094557600080fd5b505af4158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097d9190810190611caa565b8491900363ffffffff61143716565b9050610a60565b60085485906109a8908663ffffffff61146116565b106109b357846109c6565b6008546109c6908563ffffffff61146116565b9150610a5d6109d3610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1757600080fd5b505af4158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a4f9190810190611caa565b84910163ffffffff61148d16565b90505b600083610a7c57610a77838363ffffffff61140f16565b610a7f565b60005b600554909150600090610a9d906001600160a01b03163033866114b7565b905080610abc5760405162461bcd60e51b815260040161017e906123f3565b610ac58461154f565b336001600160a01b03167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0848487604051610b0293929190612349565b60405180910390a250505050505050565b60006104c530611725565b6001546001600160a01b031681565b6000806000610b3a6105a4565b90506000811215610b6557610b5984600083900363ffffffff61177716565b60019250925050610b7d565b610b75848263ffffffff61177716565b600092509250505b915091565b60035460ff1681565b600080610b96610444565b90506000610ba2610eee565b9050808210610bb6576000925050506104c8565b610bc6818363ffffffff61140f16565b9250505090565b6000806000610b3a610b13565b6060610be4610dcc565b905060005b8151811015610d2c576000828281518110610c0057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c429190612232565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c6e929190612329565b60206040518083038186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cbe9190810190611c50565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d1a908490849061230d565b60405180910390a15050600101610be9565b5050565b6001546001600160a01b03163314610d5a5760405162461bcd60e51b815260040161017e90612383565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d9d926001600160a01b039182169291169061228f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610dd761178c565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b81600081518110610e1857fe5b60200260200101818152505060075481600181518110610e3457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610e5e57fe5b6020026020010181815250506844656274436163686560b81b81600381518110610e8457fe5b6020026020010181815250506b53797374656d53746174757360a01b81600481518110610ead57fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610ed857fe5b602002602001018181525050610bc682826117dd565b60006104c530611899565b6000546001600160a01b031681565b60025481565b60035460ff1615610f315760405162461bcd60e51b815260040161017e90612433565b610f396113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b5050600554604051636eb1769f60e11b81526001600160a01b03909116925063dd62ed3e9150610fbb9033903090600401612259565b60206040518083038186803b158015610fd357600080fd5b505afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100b9190810190611caa565b81111561102a5760405162461bcd60e51b815260040161017e906123a3565b6005546040516370a0823160e01b81526001600160a01b03909116906370a082319061105a90339060040161224b565b60206040518083038186803b15801561107257600080fd5b505afa158015611086573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110aa9190810190611caa565b8111156110c95760405162461bcd60e51b815260040161017e90612423565b6110d16113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004016110fe91906122ff565b60206040518083038186803b15801561111657600080fd5b505afa15801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114e9190810190611c8c565b1561116b5760405162461bcd60e51b815260040161017e906123c3565b6000611175610b8b565b9050600081116111975760405162461bcd60e51b815260040161017e90612443565b60008282106111a657826111a8565b815b90506000806111b683610b2d565b915091506000816111d6576111d1848463ffffffff61140f16565b6111e6565b6111e6848463ffffffff61146116565b600554909150600090611204906001600160a01b03163330886114b7565b9050806112235760405162461bcd60e51b815260040161017e906123f3565b61122c826118e9565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919838561125a578661125d565b60005b88604051610b0293929190612349565b60065481565b600061127d6113f4565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040161047593929190612349565b6005546001600160a01b031681565b6000546001600160a01b031633146112f05760405162461bcd60e51b815260040161017e90612403565b565b60006112fc611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b856040516020016113449291906121ec565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161137792919061231b565b60206040518083038186803b15801561138f57600080fd5b505afa1580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c79190810190611caa565b92915050565b60006104c56b53797374656d53746174757360a01b611a21565b60006104c5600754611a21565b60006104c56c45786368616e6765526174657360981b611a21565b6000828211156114315760405162461bcd60e51b815260040161017e906123d3565b50900390565b6000670de0b6b3a7640000611452848463ffffffff611a7e16565b8161145957fe5b049392505050565b6000828201838110156114865760405162461bcd60e51b815260040161017e906123b3565b9392505050565b6000611486826114ab85670de0b6b3a764000063ffffffff611a7e16565b9063ffffffff611ab816565b600060608484846040516024016114d0939291906122aa565b60408051601f19818403018152919052602080820180516001600160e01b03166323b872dd60e01b178152825160ff600090815293945092908390828b5af161151857600080fd5b60005160ff8114611536576001811461153657801561153f57600080fd5b60019350611544565b600093505b505050949350505050565b6000611559610444565b600854909150600090611572838563ffffffff61146116565b1161157e5760006115a1565b6008546115a190611595848663ffffffff61146116565b9063ffffffff61140f16565b905060006115ad6113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b81526004016115e593929190612349565b60206040518083038186803b1580156115fd57600080fd5b505afa158015611611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116359190810190611caa565b905061163f6113e7565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040161166c929190612274565b600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b505050506000811115611716576116af611aed565b6001600160a01b031663867904b46116c5611b04565b836040518363ffffffff1660e01b81526004016116e39291906122d2565b600060405180830381600087803b1580156116fd57600080fd5b505af1158015611711573d6000803e3d6000fd5b505050505b61171f83611b20565b50505050565b600061172f611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b856040516020016113449291906121ec565b60006114868383670de0b6b3a7640000611b95565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b835181101561184f5783818151811061182857fe5b602002602001015182828151811061183c57fe5b6020908102919091010152600101611813565b5060005b82518110156118925782818151811061186857fe5b602002602001015182828651018151811061187f57fe5b6020908102919091010152600101611853565b5092915050565b60006118a3611a08565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b856040516020016113449291906121ec565b60006118f3610444565b9050600061190c8360085461146190919063ffffffff16565b821161191957600061193d565b60085461193d90611930908563ffffffff61146116565b839063ffffffff61140f16565b905060006119496113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040161198193929190612349565b60206040518083038186803b15801561199957600080fd5b505afa1580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d19190810190611caa565b90506119db6113e7565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040161166c929190612274565b60006104c56e466c657869626c6553746f7261676560881b5b60008181526004602090815260408083205490516001600160a01b039091169182151591611a5191869101612212565b604051602081830303815290604052906118925760405162461bcd60e51b815260040161017e9190612372565b600082611a8d575060006113c7565b82820282848281611a9a57fe5b04146114865760405162461bcd60e51b815260040161017e90612413565b6000808211611ad95760405162461bcd60e51b815260040161017e906123e3565b6000828481611ae457fe5b04949350505050565b60006104c56814de5b9d1a1cd554d160ba1b611a21565b60006104c56d57726170706572466163746f727960901b611a21565b611b28611bd1565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b8152600401611b5b92919061231b565b600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b50505060089190915550565b600080600a8304611bac868663ffffffff611a7e16565b81611bb357fe5b0490506005600a820610611bc557600a015b600a9004949350505050565b60006104c56844656274436163686560b81b611a21565b80356113c781612511565b80516113c781612511565b80356113c781612525565b80516113c781612525565b80516113c78161252e565b80356113c78161252e565b600060208284031215611c3c57600080fd5b6000611c488484611be8565b949350505050565b600060208284031215611c6257600080fd5b6000611c488484611bf3565b600060208284031215611c8057600080fd5b6000611c488484611bfe565b600060208284031215611c9e57600080fd5b6000611c488484611c09565b600060208284031215611cbc57600080fd5b6000611c488484611c14565b600060208284031215611cda57600080fd5b6000611c488484611c1f565b6000611cf28383611d85565b505060200190565b611d03816124b2565b82525050565b611d0381612496565b611d03611d1e82612496565b6124f0565b6000611d2e82612484565b611d388185612488565b9350611d438361247e565b8060005b83811015611d71578151611d5b8882611ce6565b9750611d668361247e565b925050600101611d47565b509495945050505050565b611d03816124a1565b611d03816104c8565b611d03611d9a826104c8565b6104c8565b611d03816124b9565b6000611db382612484565b611dbd8185612488565b9350611dcd8185602086016124c4565b611dd681612501565b9093019392505050565b6000611ded603583612488565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611e44601d83612488565b7f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000815260200192915050565b6000611e7d601983612488565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000611eb6601b83612488565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611eef601883612488565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000611f28601e83612488565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611f61601a83612488565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611f9a601183612491565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611fc7601883612488565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b6000612000602f83612488565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612051602183612488565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612094601283612488565b7142616c616e636520697320746f6f206c6f7760701b815260200192915050565b60006120c2603c83612488565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000612121601983612491565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061215a602683612488565b7f436f6e747261637420686173206e6f20737061726520636170616369747920748152651bc81b5a5b9d60d21b602082015260400192915050565b60006121a2603583612488565b7f436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20815274746f6b656e2062616c616e6365206973207a65726f60581b602082015260400192915050565b60006121f88285611d8e565b6020820191506122088284611d12565b5060140192915050565b600061221d82611f8d565b91506122298284611d8e565b50602001919050565b600061221d82612114565b602081016113c78284611d09565b602081016113c78284611cfa565b604081016122678285611cfa565b6114866020830184611cfa565b604081016122828285611cfa565b6114866020830184611d85565b6040810161229d8285611d09565b6114866020830184611d09565b606081016122b88286611d09565b6122c56020830185611d09565b611c486040830184611d85565b604081016122828285611d09565b602080825281016114868184611d23565b602081016113c78284611d7c565b602081016113c78284611d85565b6040810161229d8285611d85565b604081016122828285611d85565b604081016123378285611d85565b8181036020830152611c488184611da8565b606081016123578286611d85565b6122c56020830185611d85565b602081016113c78284611d9f565b602080825281016114868184611da8565b602080825281016113c781611de0565b602080825281016113c781611e37565b602080825281016113c781611e70565b602080825281016113c781611ea9565b602080825281016113c781611ee2565b602080825281016113c781611f1b565b602080825281016113c781611f54565b602080825281016113c781611fba565b602080825281016113c781611ff3565b602080825281016113c781612044565b602080825281016113c781612087565b602080825281016113c7816120b5565b602080825281016113c78161214d565b602080825281016113c781612195565b604081016124718285611d85565b6114866020830184611d7c565b60200190565b5190565b90815260200190565b919050565b60006113c7826124a6565b151590565b6001600160a01b031690565b60006113c7825b60006113c782612496565b60005b838110156124df5781810151838201526020016124c7565b8381111561171f5750506000910152565b60006113c78260006113c78261250b565b601f01601f191690565b60601b90565b61251a81612496565b811461059b57600080fd5b61251a816124a1565b61251a816104c856fea365627a7a72315820b1c4b0e75aa342df894bad2f1424212f7596a6f05c247520dbb2ceecb0ea92b26c6578706572696d656e74616cf564736f6c63430005100040a365627a7a72315820af4384c43344e9c944b096cd446edcb79b19ffe4c702177fb9dee6a7ce0396b56c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "wrapperAddress", + "type": "address" + } + ], + "name": "WrapperCreated", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "token", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "synthContractName", + "type": "bytes32" + } + ], + "name": "createWrapper", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "distributeFees", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feesEscrowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "possibleWrapper", + "type": "address" + } + ], + "name": "isWrapper", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49", + "urls": [ + "bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481", + "dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "WrapperFactory.sol": "WrapperFactory" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "WrapperFactory.sol": { + "keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49", + "urls": [ + "bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481", + "dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV" + ] + } + }, + "version": 1 + } + }, + "DirectIntegrationManager": { + "bytecode": "60806040523480156200001157600080fd5b5060405162001b4038038062001b408339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61191d80620002236000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063697b659b11610066578063697b659b14610113578063741853601461013357806379ba50971461013b578063899ffef4146101435780638da5cb5b146101585761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d657806353a47bb7146100eb5780635a68456214610100575b600080fd5b6100ab610160565b6040516100b891906117c0565b60405180910390f35b6100d46100cf366004611280565b61016f565b005b6100de6101cd565b6040516100b8919061175b565b6100f36102e5565b6040516100b8919061171a565b6100d461010e3660046112c4565b6102f4565b61012661012136600461132f565b610343565b6040516100b8919061180f565b6100d46106a3565b6100d46107f9565b61014b61089e565b6040516100b8919061174a565b6100f36108ef565b6002546001600160a01b031681565b6101776108fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101c290839061171a565b60405180910390a150565b600060606101d961089e565b905060005b81518110156102db5760008282815181106101f557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610246908590600401611769565b60206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029691908101906112a6565b6001600160a01b03161415806102c157506000818152600360205260409020546001600160a01b0316155b156102d257600093505050506102e2565b506001016101de565b5060019150505b90565b6001546001600160a01b031681565b6102fc6108fe565b60005b8281101561033c576103348585858481811061031757fe5b905060200201358480360361032f9190810190611369565b61092a565b6001016102ff565b5050505050565b61034b611046565b610353611046565b506001600160a01b03808416600090815260046020818152604080842087855282529283902083516101a080820186528254825260018301548716828501908152600284015488168388015260038401546060840152948301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a830154610140830152600b830154610160830152600c90920154610180820152845191820190945286815291519293919290830191166104d15761042a610a54565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161047c929190611785565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104cc91908101906112a6565b6104d7565b82602001515b6001600160a01b0316815260200160006001600160a01b031683604001516001600160a01b031614156105125761050d85610a76565b610518565b82604001515b6001600160a01b0316815260200160008360600151116105405761053b85610b56565b610546565b82606001515b815260200160008360800151116105645761055f610c2e565b61056a565b82608001515b815260200160008360a001511161058857610583610cd9565b61058e565b8260a001515b815260200160008360c00151116105ad576105a885610d41565b6105b3565b8260c001515b815260200160008360e00151116105d2576105cd85610d9e565b6105d8565b8260e001515b81526020016000836101000151116105f8576105f385610dfb565b6105ff565b8261010001515b815260200160008361012001511161061e57610619610e4a565b610625565b8261012001515b81526020016000836101400151116106445761063f610eaa565b61064b565b8261014001515b815260200160008361016001511161066a57610665610f12565b610671565b8261016001515b81526020016000836101800151116106905761068b610f7a565b610697565b8261018001515b90529150505b92915050565b60606106ad61089e565b905060005b81518110156107f55760008282815181106106c957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161070b919061170f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016107379291906117a0565b60206040518083038186803b15801561074f57600080fd5b505afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061078791908101906112a6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906107e39084908490611777565b60405180910390a150506001016106b2565b5050565b6001546001600160a01b0316331461082c5760405162461bcd60e51b8152600401610823906117df565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261086f926001600160a01b0391821692911690611728565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108e057fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b8152600401610823906117ef565b565b6001600160a01b0383166109505760405162461bcd60e51b8152600401610823906117ff565b6001600160a01b03808416600081815260046020818152604080842088855282529283902086518155908601516001820180549187166001600160a01b031992831617905583870151600283018054919097169116179094556060850151600385015560808501519084015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b840155610180840151600c9093019290925590518391907fac520ced31ca01ad123194e41989084aeb335064dd7b37291e59a85eb9c972ec90610a4790859061180f565b60405180910390a3505050565b6000610a716e466c657869626c6553746f7261676560881b610fe2565b905090565b6000610a80610a54565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e6700000085604051602001610ad39291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610b06929190611785565b60206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906112a6565b6000610b60610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b85604051602001610bab9291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610bde929190611785565b60206040518083038186803b158015610bf657600080fd5b505afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d9190810190611388565b6000610c38610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401610c89929190611785565b60206040518083038186803b158015610ca157600080fd5b505afa158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a719190810190611388565b6000610ce3610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610d4b610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f770000000085604051602001610bab9291906116c9565b6000610da8610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c64000000000000000085604051602001610bab9291906116c9565b6000610e05610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b85604051602001610bab9291906116c9565b6000610e54610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7465786368616e67654d617844796e616d696346656560581b6040518363ffffffff1660e01b8152600401610c89929190611785565b6000610eb4610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d6963466565526f756e647300000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f1c610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d69634665655468726573686f6c6400000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f84610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d696346656557656967687444656361790000006040518363ffffffff1660e01b8152600401610c89929190611785565b60008181526003602090815260408083205490516001600160a01b039091169182151591611012918691016116ef565b6040516020818303038152906040529061103f5760405162461bcd60e51b815260040161082391906117ce565b5092915050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561069d816118ba565b805161069d816118ba565b60008083601f8401126110eb57600080fd5b50813567ffffffffffffffff81111561110357600080fd5b60208301915083602082028301111561111b57600080fd5b9250929050565b803561069d816118d1565b60006101a0828403121561114057600080fd5b50919050565b60006101a0828403121561115957600080fd5b6111646101a061181e565b905060006111728484611122565b8252506020611183848483016110c3565b6020830152506040611197848285016110c3565b60408301525060606111ab84828501611122565b60608301525060806111bf84828501611122565b60808301525060a06111d384828501611122565b60a08301525060c06111e784828501611122565b60c08301525060e06111fb84828501611122565b60e08301525061010061121084828501611122565b6101008301525061012061122684828501611122565b6101208301525061014061123c84828501611122565b6101408301525061016061125284828501611122565b6101608301525061018061126884828501611122565b6101808301525092915050565b805161069d816118d1565b60006020828403121561129257600080fd5b600061129e84846110c3565b949350505050565b6000602082840312156112b857600080fd5b600061129e84846110ce565b6000806000806101e085870312156112db57600080fd5b60006112e787876110c3565b945050602085013567ffffffffffffffff81111561130457600080fd5b611310878288016110d9565b935093505060406113238782880161112d565b91505092959194509250565b6000806040838503121561134257600080fd5b600061134e85856110c3565b925050602061135f85828601611122565b9150509250929050565b60006101a0828403121561137c57600080fd5b600061129e8484611146565b60006020828403121561139a57600080fd5b600061129e8484611275565b60006113b2838361142b565b505060200190565b6113c38161185d565b82525050565b60006113d48261184b565b6113de818561184f565b93506113e983611845565b8060005b8381101561141757815161140188826113a6565b975061140c83611845565b9250506001016113ed565b509495945050505050565b6113c381611868565b6113c3816102e2565b6113c3611440826102e2565b6102e2565b6113c381611879565b60006114598261184b565b611463818561184f565b9350611473818560208601611884565b61147c816118b0565b9093019392505050565b600061149360358361184f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006114ea601183611858565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611517602f8361184f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061156860138361184f565b720416464726573732063616e6e6f74206265203606c1b815260200192915050565b6000611597601983611858565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b80516101a08301906115d5848261142b565b5060208201516115e860208501826113ba565b5060408201516115fb60408501826113ba565b50606082015161160e606085018261142b565b506080820151611621608085018261142b565b5060a082015161163460a085018261142b565b5060c082015161164760c085018261142b565b5060e082015161165a60e085018261142b565b5061010082015161166f61010085018261142b565b5061012082015161168461012085018261142b565b5061014082015161169961014085018261142b565b506101608201516116ae61016085018261142b565b506101808201516116c361018085018261142b565b50505050565b60006116d58285611434565b6020820191506116e58284611434565b5060200192915050565b60006116fa826114dd565b91506117068284611434565b50602001919050565b60006116fa8261158a565b6020810161069d82846113ba565b6040810161173682856113ba565b61174360208301846113ba565b9392505050565b6020808252810161174381846113c9565b6020810161069d8284611422565b6020810161069d828461142b565b60408101611736828561142b565b60408101611793828561142b565b611743602083018461142b565b604081016117ae828561142b565b818103602083015261129e818461144e565b6020810161069d8284611445565b60208082528101611743818461144e565b6020808252810161069d81611486565b6020808252810161069d8161150a565b6020808252810161069d8161155b565b6101a0810161069d82846115c3565b60405181810167ffffffffffffffff8111828210171561183d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061069d8261186d565b151590565b6001600160a01b031690565b600061069d8261185d565b60005b8381101561189f578181015183820152602001611887565b838111156116c35750506000910152565b601f01601f191690565b6118c38161185d565b81146118ce57600080fd5b50565b6118c3816102e256fea365627a7a72315820e54e62efc2f7018972e7a23f74201cf4f611ed621ff24e26e6eeb92bff5967f66c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "integration", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "overrides", + "type": "tuple" + } + ], + "name": "IntegrationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "integration", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "getExchangeParameters", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "overrides", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "integration", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "currencyKeys", + "type": "bytes32[]" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "dexPriceAggregator", + "type": "address" + }, + { + "internalType": "address", + "name": "atomicEquivalentForDexPricing", + "type": "address" + }, + { + "internalType": "uint256", + "name": "atomicExchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicTwapWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicMaxVolumePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityConsiderationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "atomicVolatilityUpdateThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeFeeRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeMaxDynamicFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeRounds", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "exchangeDynamicFeeWeightDecay", + "type": "uint256" + } + ], + "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", + "name": "settings", + "type": "tuple" + } + ], + "name": "setExchangeParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5", + "urls": [ + "bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd", + "dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "DirectIntegrationManager.sol": "DirectIntegrationManager" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "DirectIntegrationManager.sol": { + "keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5", + "urls": [ + "bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd", + "dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4" + ] + } + }, + "version": 1 + } + }, + "TokenState": { + "bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582024b7cf3f357023bc943ad3ca5c11a62c6c29c5d9fa23fe3309cb5629f86a29ba64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "tokenOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setAllowance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "setBalanceOf", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3", + "urls": [ + "bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d", + "dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "TokenState.sol": "TokenState" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "TokenState.sol": { + "keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3", + "urls": [ + "bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d", + "dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH" + ] + } + }, + "version": 1 + } + }, + "MultiCollateralSynth": { + "bytecode": "60806040523480156200001157600080fd5b50604051620037af380380620037af833981016040819052620000349162000363565b878787878787878780888888888660128a86816001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620005a6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200054a565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000594565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001479083906200053a565b60405180910390a150600480546001600160a01b0319166001600160a01b03881617905584516200018090600590602088019062000235565b5083516200019690600690602087019062000235565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620001f35760405162461bcd60e51b8152600401620000709062000570565b6001600160a01b0384166200021c5760405162461bcd60e51b8152600401620000709062000582565b5050600a5550620006a69b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027857805160ff1916838001178555620002a8565b82800160010185558215620002a8579182015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b620002d791905b80821115620002b65760008155600101620002c1565b90565b8051620002e78162000676565b92915050565b8051620002e78162000690565b8051620002e7816200069b565b600082601f8301126200031957600080fd5b8151620003306200032a82620005df565b620005b8565b915080825260208301602083018583830111156200034d57600080fd5b6200035a83828462000643565b50505092915050565b600080600080600080600080610100898b0312156200038157600080fd5b60006200038f8b8b620002da565b9850506020620003a28b828c01620002fa565b97505060408901516001600160401b03811115620003bf57600080fd5b620003cd8b828c0162000307565b96505060608901516001600160401b03811115620003ea57600080fd5b620003f88b828c0162000307565b95505060806200040b8b828c01620002da565b94505060a06200041e8b828c01620002ed565b93505060c0620004318b828c01620002ed565b92505060e0620004448b828c01620002da565b9150509295985092959890939650565b6200045f8162000636565b82525050565b6200045f8162000610565b60006200047f60128362000607565b7105f70726f78792063616e6e6f7420626520360741b815260200192915050565b6000620004af60128362000607565b7105f6f776e65722063616e6e6f7420626520360741b815260200192915050565b6000620004df60118362000607565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200050e60198362000607565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002e7828462000454565b604081016200055a828562000454565b62000569602083018462000465565b9392505050565b60208082528101620002e78162000470565b60208082528101620002e781620004a0565b60208082528101620002e781620004d0565b60208082528101620002e781620004ff565b6040518181016001600160401b0381118282101715620005d757600080fd5b604052919050565b60006001600160401b03821115620005f657600080fd5b506020601f91909101601f19160190565b90815260200190565b6000620002e7826200062a565b6000620002e78262000610565b6001600160a01b031690565b6000620002e7826200061d565b60005b838110156200066057818101518382015260200162000646565b8381111562000670576000848401525b50505050565b620006818162000610565b81146200068d57600080fd5b50565b6200068181620002d7565b62000681816200061d565b6130f980620006b66000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146103d5578063eb1edd61146103dd578063ec556889146103e5578063f7ea7a3d146103ed578063ffff51d614610400576101fb565b8063d67bdd251461039f578063dbd06c85146103a7578063dd62ed3e146103af578063e73cced3146103c2576101fb565b80639f769807116100e95780639f76980714610353578063a9059cbb14610366578063b014c3a314610379578063bc67f8321461038c576101fb565b80638da5cb5b1461031d57806395d89b411461032557806397107d6d1461032d5780639dc29fac14610340576101fb565b8063313ce56711610192578063741853601161016157806374185360146102e557806379ba5097146102ed578063867904b4146102f5578063899ffef414610308576101fb565b8063313ce567146102ad57806353a47bb7146102b5578063614d08f8146102ca57806370a08231146102d2576101fb565b806318160ddd116101ce57806318160ddd1461026857806323b872dd1461027d5780632af64bd3146102905780632e0f262514610298576101fb565b806304f3bcec1461020057806306fdde031461021e578063095ea7b3146102335780631627540c14610253575b600080fd5b610208610413565b6040516102159190612ee7565b60405180910390f35b610226610427565b6040516102159190612ef5565b610246610241366004612595565b6104b5565b6040516102159190612dbd565b6102666102613660046124ca565b610542565b005b6102706105a0565b6040516102159190612dcb565b61024661028b366004612548565b6105a6565b6102466105cf565b6102a06106ec565b6040516102159190612fe7565b6102a06106f1565b6102bd6106fa565b6040516102159190612cae565b610270610709565b6102706102e03660046124ca565b610724565b6102666107ae565b610266610904565b610266610303366004612595565b6109a9565b6103106109d8565b6040516102159190612dac565b6102bd610a9c565b610226610aab565b61026661033b3660046124ca565b610b06565b61026661034e366004612595565b610b59565b6102666103613660046125e3565b610b8d565b610246610374366004612595565b610bbc565b610246610387366004612595565b610c4d565b61026661039a3660046124ca565b610daa565b6102bd610dd4565b610270610de3565b6102706103bd36600461250e565b610de9565b6102466103d0366004612548565b610e6d565b610208610fb7565b6102bd610fc6565b610208610fde565b6102666103fb366004612601565b610fed565b61027061040e3660046124ca565b610ffa565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b505050505081565b60006104bf611139565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c916104f99185918991899101612d69565b600060405180830381600087803b15801561051357600080fd5b505af1158015610527573d6000803e3d6000fd5b50505050610536818585611179565b60019150505b92915050565b61054a611230565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610595908390612cae565b60405180910390a150565b60075481565b60006105b061125a565b6105ba84836112af565b6105c58484846113e4565b90505b9392505050565b600060606105db6109d8565b905060005b81518110156106e25760008282815181106105f757fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061064d908590600401612dcb565b60206040518083038186803b15801561066557600080fd5b505afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906124f0565b6001600160a01b03161415806106c857506000818152600960205260409020546001600160a01b0316155b156106d957600093505050506106e9565b506001016105e0565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a082319161075691869101612cae565b60206040518083038186803b15801561076e57600080fd5b505afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107a6919081019061261f565b90505b919050565b60606107b86109d8565b905060005b81518110156109005760008282815181106107d457fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016108169190612c98565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610842929190612de7565b60206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089291908101906124f0565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ee9084908490612dd9565b60405180910390a150506001016107bd565b5050565b6001546001600160a01b031633146109375760405162461bcd60e51b815260040161092e90612f16565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261097a926001600160a01b0391821692911690612cca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6109b233611574565b6109ce5760405162461bcd60e51b815260040161092e90612f83565b61090082826116ba565b6060806109e36117d1565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610a2b57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610a5457fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610a7f57fe5b602002602001018181525050610a9582826118be565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b610b0e611230565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610595908390612cbc565b610b6233611574565b610b7e5760405162461bcd60e51b815260040161092e90612f83565b610b88828261197a565b505050565b610b95611a41565b600480546001600160a01b0319166001600160a01b038316179055610bb981611aaf565b50565b6000610bc661125a565b600354610bdc906001600160a01b0316836112af565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610c1257610c0b8383611b56565b905061053c565b6001600160a01b038316610c3657600354610c0b906001600160a01b03168361197a565b6003546105c8906001600160a01b03168484611cac565b6000610c5761125a565b6000610c61611e36565b600354600a546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93610c9593911691600401612d91565b606060405180830381600087803b158015610caf57600080fd5b505af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce7919081019061266d565b9250849150508115610d7857600480546003546040516370a0823160e01b81526001600160a01b03928316936370a0823193610d2593169101612cae565b60206040518083038186803b158015610d3d57600080fd5b505afa158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d75919081019061261f565b90505b808411610d855783610d87565b805b600354909450610da1906001600160a01b03168686611cac565b95945050505050565b610db2611e52565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91610e1d918791879101612cca565b60206040518083038186803b158015610e3557600080fd5b505afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105c8919081019061261f565b6000610e7761125a565b6000610e81611e36565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b8152600401610eb0929190612d91565b606060405180830381600087803b158015610eca57600080fd5b505af1158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f02919081019061266d565b9250849150508115610f9057600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191610f3d918a9101612cae565b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8d919081019061261f565b90505b80841015610f9e5783610fa0565b805b9350610fad8686866113e4565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b610ff5611a41565b600755565b600080611005611e36565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b8152600401611034929190612d91565b60606040518083038186803b15801561104c57600080fd5b505afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611084919081019061266d565b5050600480546040516370a0823160e01b81529293506000926001600160a01b03909116916370a08231916110bb91889101612cae565b60206040518083038186803b1580156110d357600080fd5b505afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110b919081019061261f565b905080821115611120576000925050506107a9565b611130818363ffffffff611e7c16565b925050506107a9565b6002546001600160a01b0316331480159061115f57506003546001600160a01b03163314155b1561117757600380546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff979061119f908490602001612dcb565b60405160208183030381529060405260036040516111bc90612c77565b60405180910390206111cd88611ea4565b6111d688611ea4565b60006040518763ffffffff1660e01b81526004016111f996959493929190612ea0565b600060405180830381600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612f73565b6002546001600160a01b031633141561127257611177565b61127b33611eb0565b1561129757600380546001600160a01b03191633179055611177565b60405162461bcd60e51b815260040161092e90612fca565b6112b7611e36565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b81526004016112e6929190612d91565b60206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611336919081019061261f565b156113535760405162461bcd60e51b815260040161092e90612fba565b8061135d83610ffa565b101561137b5760405162461bcd60e51b815260040161092e90612f53565b6113836121a7565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004016113b09190612dcb565b60006040518083038186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b505050505050565b60048054600354604051636eb1769f60e11b8152600093600019936001600160a01b039081169363dd62ed3e93611421938b939092169101612cca565b60206040518083038186803b15801561143957600080fd5b505afa15801561144d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611471919081019061261f565b146115695760048054600354604051636eb1769f60e11b81526001600160a01b039283169363da46098c9389931691611518918891879163dd62ed3e916114bc918891889101612cca565b60206040518083038186803b1580156114d457600080fd5b505afa1580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150c919081019061261f565b9063ffffffff611e7c16565b6040518463ffffffff1660e01b815260040161153693929190612d69565b600060405180830381600087803b15801561155057600080fd5b505af1158015611564573d6000803e3d6000fd5b505050505b6105c5848484611cac565b600061157f826121c1565b80611608575061158d612233565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016115b89190612cae565b60206040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061160891908101906125c5565b806116915750611616612252565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b81526004016116419190612cae565b60206040518083038186803b15801561165957600080fd5b505afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169191908101906125c5565b806107a6575061169f61226e565b6001600160a01b0316826001600160a01b0316149050919050565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f691859161175591869186916370a08231916116f991879101612cae565b60206040518083038186803b15801561171157600080fd5b505afa158015611725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611749919081019061261f565b9063ffffffff61228816565b6040518363ffffffff1660e01b8152600401611772929190612d91565b600060405180830381600087803b15801561178c57600080fd5b505af11580156117a0573d6000803e3d6000fd5b50506007546117b8925090508263ffffffff61228816565b6007556117c7600083836122ad565b61090082826122f0565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181157fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061183757fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061185a57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061187e57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b816004815181106118af57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156118ee578160200160208202803883390190505b50905060005b83518110156119305783818151811061190957fe5b602002602001015182828151811061191d57fe5b60209081029190910101526001016118f4565b5060005b82518110156119735782818151811061194957fe5b602002602001015182828651018151811061196057fe5b6020908102919091010152600101611934565b5092915050565b600480546040516370a0823160e01b81526000926001600160a01b039092169163b46310f69186916119bc91879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b81526004016119d9929190612d91565b600060405180830381600087803b1580156119f357600080fd5b505af1158015611a07573d6000803e3d6000fd5b5050600754611a1f925090508363ffffffff611e7c16565b600755611a2e836000846122ad565b611a388383612396565b50600192915050565b6002546001600160a01b03163314801590611a6757506003546001600160a01b03163314155b15611a7f57600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146111775760405162461bcd60e51b815260040161092e90612f33565b6002546040516001600160a01b039091169063907dff9790611ad5908490602001612cae565b6040516020818303038152906040526001604051611af290612c82565b6040519081900381206001600160e01b031960e086901b168252611b2193929160009081908190600401612e07565b600060405180830381600087803b158015611b3b57600080fd5b505af1158015611b4f573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b1415611b8a57506003548290611b84906001600160a01b03168583611cac565b50611c3d565b611b92611e36565b600354600a546040516327c319e960e11b81526001600160a01b0393841693634f8633d293611be893911691829190899073feefeefeefeefeefeefeefeefeefeefeefeefeef9060009081908190600401612ce5565b6040805180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c39919081019061263d565b5090505b611c456123d9565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b8152600401611c709190612dcb565b600060405180830381600087803b158015611c8a57600080fd5b505af1158015611c9e573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b03831615801590611ccf57506001600160a01b0383163014155b8015611ce957506002546001600160a01b03848116911614155b611d055760405162461bcd60e51b815260040161092e90612f06565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6918791611d4491879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b8152600401611d61929190612d91565b600060405180830381600087803b158015611d7b57600080fd5b505af1158015611d8f573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f692508691611dd291879186916370a08231916116f991879101612cae565b6040518363ffffffff1660e01b8152600401611def929190612d91565b600060405180830381600087803b158015611e0957600080fd5b505af1158015611e1d573d6000803e3d6000fd5b50505050611e2c8484846122ad565b5060019392505050565b6000611e4d6822bc31b430b733b2b960b91b6123ea565b905090565b6002546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612fca565b600082821115611e9e5760405162461bcd60e51b815260040161092e90612f63565b50900390565b6001600160a01b031690565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a72190611ee490600401612f93565b60206040518083038186803b158015611efc57600080fd5b505afa158015611f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f3491908101906124f0565b6001600160a01b0316826001600160a01b03161480611fe557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190611f8090600401612f26565b60206040518083038186803b158015611f9857600080fd5b505afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fd091908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061208257506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061201d90600401612fda565b60206040518083038186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206d91908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061211f57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906120ba90600401612fa0565b60206040518083038186803b1580156120d257600080fd5b505afa1580156120e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061210a91908101906124f0565b6001600160a01b0316826001600160a01b0316145b806107a657506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061215790600401612fad565b60206040518083038186803b15801561216f57600080fd5b505afa158015612183573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169f91908101906124f0565b6000611e4d6b53797374656d53746174757360a01b6123ea565b60006121cb6123d9565b6001600160a01b0316826001600160a01b0316148061220257506121ed611e36565b6001600160a01b0316826001600160a01b0316145b806122255750612210612447565b6001600160a01b0316826001600160a01b0316145b806107a6575061169f61245b565b6000611e4d7021b7b63630ba32b930b626b0b730b3b2b960791b6123ea565b6000611e4d6d57726170706572466163746f727960901b6123ea565b6000611e4d6b22ba3432b92bb930b83832b960a11b6123ea565b6000828201838110156105c85760405162461bcd60e51b815260040161092e90612f43565b6002546040516001600160a01b039091169063907dff97906122d3908490602001612dcb565b60405160208183030381529060405260036040516111bc90612ca3565b6002546040516001600160a01b039091169063907dff9790612316908490602001612dcb565b604051602081830303815290604052600260405161233390612c8d565b604051809103902061234487611ea4565b6000806040518763ffffffff1660e01b815260040161236896959493929190612e66565b600060405180830381600087803b15801561238257600080fd5b505af11580156113dc573d6000803e3d6000fd5b6002546040516001600160a01b039091169063907dff97906123bc908490602001612dcb565b604051602081830303815290604052600260405161233390612c6c565b6000611e4d66119959541bdbdb60ca1b5b60008181526009602090815260408083205490516001600160a01b03909116918215159161241a91869101612c4c565b604051602081830303815290604052906119735760405162461bcd60e51b815260040161092e9190612ef5565b6000611e4d6524b9b9bab2b960d11b6123ea565b6000611e4d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6123ea565b803561053c81613087565b805161053c81613087565b805161053c8161309b565b805161053c816130a4565b803561053c816130a4565b803561053c816130ad565b805161053c816130ad565b6000602082840312156124dc57600080fd5b60006124e8848461247d565b949350505050565b60006020828403121561250257600080fd5b60006124e88484612488565b6000806040838503121561252157600080fd5b600061252d858561247d565b925050602061253e8582860161247d565b9150509250929050565b60008060006060848603121561255d57600080fd5b6000612569868661247d565b935050602061257a8682870161247d565b925050604061258b868287016124b4565b9150509250925092565b600080604083850312156125a857600080fd5b60006125b4858561247d565b925050602061253e858286016124b4565b6000602082840312156125d757600080fd5b60006124e88484612493565b6000602082840312156125f557600080fd5b60006124e884846124a9565b60006020828403121561261357600080fd5b60006124e884846124b4565b60006020828403121561263157600080fd5b60006124e884846124bf565b6000806040838503121561265057600080fd5b600061265c85856124bf565b925050602061253e8582860161249e565b60008060006060848603121561268257600080fd5b600061268e86866124bf565b935050602061269f868287016124bf565b925050604061258b868287016124bf565b60006126bc838361273e565b505060200190565b6126cd81613029565b82525050565b6126cd81613008565b60006126e782612ffb565b6126f18185612fff565b93506126fc83612ff5565b8060005b8381101561272a57815161271488826126b0565b975061271f83612ff5565b925050600101612700565b509495945050505050565b6126cd81613013565b6126cd816106e9565b6126cd612753826106e9565b6106e9565b600061276382612ffb565b61276d8185612fff565b935061277d81856020860161304d565b6127868161307d565b9093019392505050565b6126cd81613018565b6126cd81613034565b6126cd81613042565b60006127b8601f83612fff565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006127f1603583612fff565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6c29bcb73a342932b232b2b6b2b960991b9052565b600061285d601383612fff565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b600061288c601b83612fff565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006128c5602f83612fff565b7f496e73756666696369656e742062616c616e636520616674657220616e79207381526e6574746c656d656e74206f77696e6760881b602082015260400192915050565b6000612916601e83612fff565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061294f6011836107a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061297c6017836107a9565b7f4275726e656428616464726573732c75696e7432353629000000000000000000815260170192915050565b60006129b5602f83612fff565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612a12601f83612fff565b7f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400815260200192915050565b6000612a4b6021836107a9565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612a8e601a836107a9565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000612ac76017836107a9565b7f49737375656428616464726573732c75696e7432353629000000000000000000815260170192915050565b6e10dbdb1b185d195c985b14da1bdc9d608a1b9052565b712730ba34bb32a2ba3432b92bb930b83832b960711b9052565b6000612b316019836107a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6411195c1bdd60da1b9052565b6000612b77602583612fff565b7f43616e6e6f74207472616e7366657220647572696e672077616974696e672070815264195c9a5bd960da1b602082015260400192915050565b6000612bbe6021836107a9565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612c01601783612fff565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6d57726170706572466163746f727960901b9052565b6126cd81613023565b6000612c5782612942565b9150612c638284612747565b50602001919050565b600061053c8261296f565b600061053c82612a3e565b600061053c82612a81565b600061053c82612aba565b6000612c5782612b24565b600061053c82612bb1565b6020810161053c82846126d3565b6020810161053c82846126c4565b60408101612cd882856126d3565b6105c860208301846126d3565b6101208101612cf4828b6126d3565b612d01602083018a6126d3565b612d0e604083018961273e565b612d1b606083018861273e565b612d27608083016129f9565b612d3460a08301876126d3565b612d4160c0830186612735565b612d4e60e08301856126c4565b612d5c61010083018461273e565b9998505050505050505050565b60608101612d7782866126d3565b612d8460208301856126d3565b6124e8604083018461273e565b60408101612d9f82856126d3565b6105c8602083018461273e565b602080825281016105c881846126dc565b6020810161053c8284612735565b6020810161053c828461273e565b60408101612cd8828561273e565b60408101612df5828561273e565b81810360208301526105c58184612758565b60c08082528101612e188189612758565b9050612e2760208301886127a2565b612e34604083018761273e565b612e416060830186612799565b612e4e6080830185612799565b612e5b60a0830184612799565b979650505050505050565b60c08082528101612e778189612758565b9050612e8660208301886127a2565b612e93604083018761273e565b612e41606083018661273e565b60c08082528101612eb18189612758565b9050612ec060208301886127a2565b612ecd604083018761273e565b612eda606083018661273e565b612e4e608083018561273e565b6020810161053c8284612790565b602080825281016105c88184612758565b602080825281016107a6816127ab565b602080825281016107a6816127e4565b602081016107a98261283b565b602080825281016107a681612850565b602080825281016107a68161287f565b602080825281016107a6816128b8565b602080825281016107a681612909565b602080825281016107a6816129a8565b602080825281016107a681612a05565b602081016107a982612af3565b602081016107a982612b0a565b602081016107a982612b5d565b602080825281016107a681612b6a565b602080825281016107a681612bf4565b602081016107a982612c2d565b6020810161053c8284612c43565b60200190565b5190565b90815260200190565b60006107a682611ea4565b151590565b60006107a682613008565b60ff1690565b60006107a682613018565b60006107a6612753836106e9565b60006107a6826106e9565b60005b83811015613068578181015183820152602001613050565b83811115613077576000848401525b50505050565b601f01601f191690565b61309081613008565b8114610bb957600080fd5b61309081613013565b61309081613018565b613090816106e956fea365627a7a72315820845bdc1a78eaffe4ecadefeaff13fc9da099a4b459aeb9193f61cfd23a8499cc6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + }, + { + "internalType": "string", + "name": "_tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "_tokenSymbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_currencyKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Issued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "proxyAddress", + "type": "address" + } + ], + "name": "ProxyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newTokenState", + "type": "address" + } + ], + "name": "TokenStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DECIMALS", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FEE_ADDRESS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currencyKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "issue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "messageSender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proxy", + "outputs": [ + { + "internalType": "contract Proxy", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "setMessageSender", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_proxy", + "type": "address" + } + ], + "name": "setProxy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract TokenState", + "name": "_tokenState", + "type": "address" + } + ], + "name": "setTokenState", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setTotalSupply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "tokenState", + "outputs": [ + { + "internalType": "contract TokenState", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferAndSettle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFromAndSettle", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "transferableSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d", + "urls": [ + "bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac", + "dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "MultiCollateralSynth.sol": "MultiCollateralSynth" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "MultiCollateralSynth.sol": { + "keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d", + "urls": [ + "bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac", + "dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G" + ] + } + }, + "version": 1 + } + }, + "Depot": { + "bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000809190810190620002a4565b603202600c5573__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620000cb57600080fd5b505af4158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001069190810190620002a4565b6101f402600d553480156200011a57600080fd5b506040516200379a3803806200379a8339810160408190526200013d9162000250565b80836001600160a01b038116620001715760405162461bcd60e51b815260040162000168906200038b565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001be91849062000353565b60405180910390a1506000546001600160a01b0316620001f25760405162461bcd60e51b8152600401620001689062000379565b6001600455600580546001600160a01b039283166001600160a01b031991821617909155600780549490921693169290921790915550620003f49050565b80516200023d81620003cf565b92915050565b80516200023d81620003e9565b6000806000606084860312156200026657600080fd5b600062000274868662000230565b9350506020620002878682870162000230565b92505060406200029a8682870162000230565b9150509250925092565b600060208284031215620002b757600080fd5b6000620002c5848462000243565b949350505050565b620002d881620003bb565b82525050565b620002d881620003a6565b6000620002f86011836200039d565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003276019836200039d565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620003638285620002cd565b620003726020830184620002de565b9392505050565b602080825281016200023d81620002e9565b602080825281016200023d8162000318565b90815260200190565b60006001600160a01b0382166200023d565b90565b60006200023d8260006200023d82620003a6565b620003da81620003a6565b8114620003e657600080fd5b50565b620003da81620003b8565b61339680620004046000396000f3fe6080604052600436106101f95760003560e01c806381b797dc1161010d578063b0c2cb96116100a0578063c8d889f21161006f578063c8d889f214610610578063dc8fa6c214610630578063e6d76a7614610650578063f852d39314610670578063fd12167f14610690576101f9565b8063b0c2cb961461059b578063b1338cc4146105bb578063bb7df172146105d0578063c6abb7c7146105f0576101f9565b80639342c0eb116100dc5780639342c0eb1461051a578063a3d8829b1461052d578063aab483d61461054d578063b02c43d01461056d576101f9565b806381b797dc146104b9578063899ffef4146104ce5780638da5cb5b146104f057806391b4ded914610505576101f9565b80632194f3a2116101905780635c975abb1161015f5780635c975abb1461044557806364e39b871461045a5780636d5ab4a91461047a578063741853601461048f57806379ba5097146104a4576101f9565b80632194f3a2146103d75780632af64bd3146103f95780634d0387fb1461041b57806353a47bb714610430576101f9565b80630c928f05116101cc5780630c928f051461036d5780631627540c1461038d57806316c38b3c146103af5780631f930115146103cf576101f9565b8063022794381461030557806304f3bcec14610323578063080c279a146103455780630c928bc21461035a575b60048054600101908190556208aa8960eb1b6102136106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161023e91906130d5565b60206040518083038186803b15801561025657600080fd5b505afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061028e919081019061297f565b156102b45760405162461bcd60e51b81526004016102ab906131ef565b60405180910390fd5b60035460ff16156102d75760405162461bcd60e51b81526004016102ab9061326f565b6102df6106c6565b505060045481146103025760405162461bcd60e51b81526004016102ab9061328f565b50005b61030d610e8f565b60405161031a91906130d5565b60405180910390f35b34801561032f57600080fd5b50610338611011565b60405161031a9190613111565b34801561035157600080fd5b5061030d611020565b61030d61036836600461299d565b611026565b34801561037957600080fd5b5061030d61038836600461299d565b6111a8565b34801561039957600080fd5b506103ad6103a8366004612925565b611249565b005b3480156103bb57600080fd5b506103ad6103ca366004612961565b6112a7565b61030d61131c565b3480156103e357600080fd5b506103ec611424565b60405161031a9190613013565b34801561040557600080fd5b5061040e611433565b60405161031a91906130c7565b34801561042757600080fd5b5061030d61154a565b34801561043c57600080fd5b506103ec611550565b34801561045157600080fd5b5061040e61155f565b34801561046657600080fd5b506103ad610475366004612925565b611568565b34801561048657600080fd5b5061030d6115c1565b34801561049b57600080fd5b506103ad6115c7565b3480156104b057600080fd5b506103ad61171d565b3480156104c557600080fd5b506103ad6117b9565b3480156104da57600080fd5b506104e36119c2565b60405161031a91906130b6565b3480156104fc57600080fd5b506103ec611a5d565b34801561051157600080fd5b5061030d611a6c565b61030d6105283660046129d9565b611a72565b34801561053957600080fd5b5061030d61054836600461299d565b611d44565b34801561055957600080fd5b506103ad61056836600461299d565b611ddf565b34801561057957600080fd5b5061058d61058836600461299d565b611eb6565b60405161031a929190613057565b3480156105a757600080fd5b5061030d6105b63660046129d9565b611edb565b3480156105c757600080fd5b5061030d61205f565b3480156105dc57600080fd5b506103ad6105eb36600461299d565b612065565b3480156105fc57600080fd5b5061030d61060b366004612925565b6120a2565b34801561061c57600080fd5b5061030d61062b36600461299d565b6120b4565b34801561063c57600080fd5b506103ad61064b36600461299d565b61215b565b34801561065c57600080fd5b506103ad61066b36600461299d565b61231b565b34801561067c57600080fd5b5061030d61068b36600461299d565b6123b0565b34801561069c57600080fd5b5061030d612485565b60006106c06c45786368616e6765526174657360981b61248b565b90505b90565b6000600d543411156106ea5760405162461bcd60e51b81526004016102ab9061320f565b6000806107866106f86106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b815260040161072991906130d5565b60206040518083038186803b15801561074157600080fd5b505afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061077991908101906129bb565b349063ffffffff6124ef16565b60095490915081905b6000821180156107a05750600a5481105b15610d65576107ad6128cc565b50600081815260086020908152604091829020825180840190935280546001600160a01b031680845260019091015491830191909152610803576009546107fb90600163ffffffff61251916565b600955610d5c565b8281602001511115610ab2576020810151600090610827908563ffffffff61253e16565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b5490915061087f908561253e565b600b5561091b61088d6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016108be91906130d5565b60206040518083038186803b1580156108d657600080fd5b505afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061090e91908101906129bb565b859063ffffffff61256616565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f193505050506109cd576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610982573d6000803e3d6000fd5b5081600001516001600160a01b03167ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c876040516109c091906130d5565b60405180910390a2610a20565b8282600001516001600160a01b0316336001600160a01b03167f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c8988604051610a1792919061329f565b60405180910390a45b610a28612590565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b8152600401610a55929190613072565b602060405180830381600087803b158015610a6f57600080fd5b505af1158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa7919081019061297f565b506000935050610d5c565b82816020015111610d5c57600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610af49163ffffffff61251916565b6009556020810151600b54610b0e9163ffffffff61253e16565b600b55610bae610b1c6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401610b4d91906130d5565b60206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9d91908101906129bb565b60208301519063ffffffff61256616565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610c60576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610c15573d6000803e3d6000fd5b5080600001516001600160a01b03167ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c86604051610c5391906130d5565b60405180910390a2610cb7565b8181600001516001600160a01b0316336001600160a01b03167f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c888560200151604051610cae92919061329f565b60405180910390a45b610cbf612590565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b8152600401610cf0929190613072565b602060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d42919081019061297f565b506020810151610d5990849063ffffffff61253e16565b92505b5060010161078f565b508015610e3357336108fc610e09610d7b6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401610dac91906130d5565b60206040518083038186803b158015610dc457600080fd5b505afa158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dfc91908101906129bb565b849063ffffffff61256616565b6040518115909202916000818181858888f19350505050158015610e31573d6000803e3d6000fd5b505b6000610e45838363ffffffff61253e16565b90508015610e87577fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd3482604051610e7e92919061322f565b60405180910390a15b935050505090565b6000620a69cb60eb1b610ea06106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610ecb91906130d5565b60206040518083038186803b158015610ee357600080fd5b505afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f1b919081019061297f565b15610f385760405162461bcd60e51b81526004016102ab906131ef565b6208aa8960eb1b610f476106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f7291906130d5565b60206040518083038186803b158015610f8a57600080fd5b505afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc2919081019061297f565b15610fdf5760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156110025760405162461bcd60e51b81526004016102ab9061326f565b61100a6125a7565b9250505090565b6005546001600160a01b031681565b600c5481565b60006208aa8960eb1b6110376106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161106291906130d5565b60206040518083038186803b15801561107a57600080fd5b505afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110b2919081019061297f565b156110cf5760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156110f25760405162461bcd60e51b81526004016102ab9061326f565b6110fa6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b815260040161112b91906130d5565b60206040518083038186803b15801561114357600080fd5b505afa158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117b91908101906129bb565b83146111995760405162461bcd60e51b81526004016102ab9061327f565b6111a16106c6565b9392505050565b60006112436111b56106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016111e691906130d5565b60206040518083038186803b1580156111fe57600080fd5b505afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061123691908101906129bb565b839063ffffffff6124ef16565b92915050565b6112516126b4565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061129c908390613013565b60405180910390a150565b6112af6126b4565b60035460ff16151581151514156112c557611319565b6003805460ff1916821515179081905560ff16156112e257426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161129c9160ff909116906130c7565b50565b60048054600101908190556000906208aa8960eb1b6113396106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161136491906130d5565b60206040518083038186803b15801561137c57600080fd5b505afa158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113b4919081019061297f565b156113d15760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156113f45760405162461bcd60e51b81526004016102ab9061326f565b6113fc6106c6565b92505060045481146114205760405162461bcd60e51b81526004016102ab9061328f565b5090565b6007546001600160a01b031681565b6000606061143f6119c2565b905060005b815181101561154157600082828151811061145b57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906114ac9085906004016130d5565b60206040518083038186803b1580156114c457600080fd5b505afa1580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114fc9190810190612943565b6001600160a01b031614158061152757506000818152600660205260409020546001600160a01b0316155b1561153857600093505050506106c3565b50600101611444565b50600191505090565b600b5481565b6001546001600160a01b031681565b60035460ff1681565b6115706126b4565b600780546001600160a01b0319166001600160a01b0383811691909117918290556040517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a0509261129c921690613021565b60095481565b60606115d16119c2565b905060005b81518110156117195760008282815181106115ed57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161162f9190613008565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161165b9291906130f1565b60206040518083038186803b15801561167357600080fd5b505afa158015611687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ab9190810190612943565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061170790849084906130e3565b60405180910390a150506001016115d6565b5050565b6001546001600160a01b031633146117475760405162461bcd60e51b81526004016102ab90613140565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261178a926001600160a01b039182169291169061309b565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6009546000905b600a548110156118a2576117d26128cc565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561189957602081015161182590849063ffffffff61251916565b600083815260086020908152604080832080546001600160a01b031916815560010192909255835190840151915192955084926001600160a01b03909116917f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f729161189091906130d5565b60405180910390a35b506001016117c0565b50600b546118b6908263ffffffff61253e16565b600b55336000908152600e60205260409020546118da90829063ffffffff61251916565b336000908152600e60205260408120559050806119095760405162461bcd60e51b81526004016102ab90613190565b611911612590565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161193e929190613072565b602060405180830381600087803b15801561195857600080fd5b505af115801561196c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611990919081019061297f565b507faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b338260405161129c929190613072565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106119fe57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611a2857fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600281518110611a4e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000620a69cb60eb1b611a836106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611aae91906130d5565b60206040518083038186803b158015611ac657600080fd5b505afa158015611ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611afe919081019061297f565b15611b1b5760405162461bcd60e51b81526004016102ab906131ef565b6208aa8960eb1b611b2a6106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611b5591906130d5565b60206040518083038186803b158015611b6d57600080fd5b505afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba5919081019061297f565b15611bc25760405162461bcd60e51b81526004016102ab906131ef565b60035460ff1615611be55760405162461bcd60e51b81526004016102ab9061326f565b611bed6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401611c1e91906130d5565b60206040518083038186803b158015611c3657600080fd5b505afa158015611c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c6e91908101906129bb565b8514611c8c5760405162461bcd60e51b81526004016102ab90613130565b611c946106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611cc591906130d5565b60206040518083038186803b158015611cdd57600080fd5b505afa158015611cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d1591908101906129bb565b8414611d335760405162461bcd60e51b81526004016102ab90613150565b611d3b6125a7565b95945050505050565b6000611243611d516106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611d8291906130d5565b60206040518083038186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd291908101906129bb565b839063ffffffff61256616565b611de76126b4565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2b57600080fd5b505af4158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6391908101906129bb565b8111611e815760405162461bcd60e51b81526004016102ab9061321f565b600c8190556040517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679061129c9083906130d5565b600860205260009081526040902080546001909101546001600160a01b039091169082565b6000620a69cb60eb1b611eec6106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611f1791906130d5565b60206040518083038186803b158015611f2f57600080fd5b505afa158015611f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f67919081019061297f565b15611f845760405162461bcd60e51b81526004016102ab906131ef565b60035460ff1615611fa75760405162461bcd60e51b81526004016102ab9061326f565b611faf6106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611fe091906130d5565b60206040518083038186803b158015611ff857600080fd5b505afa15801561200c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061203091908101906129bb565b831461204e5760405162461bcd60e51b81526004016102ab9061327f565b612057846126e0565b949350505050565b600d5481565b61206d6126b4565b600d8190556040517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439061129c9083906130d5565b600e6020526000908152604090205481565b6000806121506120c26106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016120f391906130d5565b60206040518083038186803b15801561210b57600080fd5b505afa15801561211f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061214391908101906129bb565b849063ffffffff6124ef16565b90506111a181611d44565b612163612590565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016121929392919061302f565b602060405180830381600087803b1580156121ac57600080fd5b505af11580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121e4919081019061297f565b50600c5481101561226557336000908152600e602052604090205461220f908263ffffffff61251916565b336000818152600e60205260409081902092909255600c5491517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2926122589291859190613080565b60405180910390a1611319565b604080518082018252338082526020808301858152600a80546000908152600890935291859020935184546001600160a01b0319166001600160a01b0390911617845551600190930192909255905491517fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4906122e39085906130d5565b60405180910390a3600a546122ff90600163ffffffff61251916565b600a55600b54612315908263ffffffff61251916565b600b5550565b6123236126b4565b61232b612846565b60005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261235e929116908590600401613057565b602060405180830381600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611719919081019061297f565b6000620a69cb60eb1b6123c16106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016123ec91906130d5565b60206040518083038186803b15801561240457600080fd5b505afa158015612418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061243c919081019061297f565b156124595760405162461bcd60e51b81526004016102ab906131ef565b60035460ff161561247c5760405162461bcd60e51b81526004016102ab9061326f565b6111a1836126e0565b600a5481565b60008181526006602090815260408083205490516001600160a01b0390911691821515916124bb91869101612fe8565b604051602081830303815290604052906124e85760405162461bcd60e51b81526004016102ab919061311f565b5092915050565b6000670de0b6b3a764000061250a848463ffffffff61285d16565b8161251157fe5b049392505050565b6000828201838110156111a15760405162461bcd60e51b81526004016102ab90613160565b6000828211156125605760405162461bcd60e51b81526004016102ab90613170565b50900390565b60006111a18261258485670de0b6b3a764000063ffffffff61285d16565b9063ffffffff61289716565b60006106c06814de5b9d1a1cd554d160ba1b61248b565b6000806125b3346120b4565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f193505050501580156125ed573d6000803e3d6000fd5b506125f6612846565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401612623929190613072565b602060405180830381600087803b15801561263d57600080fd5b505af1158015612651573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612675919081019061297f565b507fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd34826040516126a792919061325f565b60405180910390a1905090565b6000546001600160a01b031633146126de5760405162461bcd60e51b81526004016102ab906131a0565b565b6000806126ec83611d44565b90506126f6612590565b6007546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261272c92339290911690889060040161302f565b602060405180830381600087803b15801561274657600080fd5b505af115801561275a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061277e919081019061297f565b50612787612846565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016127b4929190613072565b602060405180830381600087803b1580156127ce57600080fd5b505af11580156127e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612806919081019061297f565b507fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd83826040516128389291906131b0565b60405180910390a192915050565b60006106c0680a6f2dce8d0cae8d2f60bb1b61248b565b60008261286c57506000611243565b8282028284828161287957fe5b04146111a15760405162461bcd60e51b81526004016102ab906131ff565b60008082116128b85760405162461bcd60e51b81526004016102ab90613180565b60008284816128c357fe5b04949350505050565b604080518082019091526000808252602082015290565b80356112438161332d565b80516112438161332d565b803561124381613341565b805161124381613341565b80356112438161334a565b80516112438161334a565b60006020828403121561293757600080fd5b600061205784846128e3565b60006020828403121561295557600080fd5b600061205784846128ee565b60006020828403121561297357600080fd5b600061205784846128f9565b60006020828403121561299157600080fd5b60006120578484612904565b6000602082840312156129af57600080fd5b6000612057848461290f565b6000602082840312156129cd57600080fd5b6000612057848461291a565b600080604083850312156129ec57600080fd5b60006129f8858561290f565b9250506020612a098582860161290f565b9150509250929050565b6000612a1f8383612aa1565b505060200190565b612a30816132e1565b82525050565b612a30816132c5565b6000612a4a826132b3565b612a5481856132b7565b9350612a5f836132ad565b8060005b83811015612a8d578151612a778882612a13565b9750612a82836132ad565b925050600101612a63565b509495945050505050565b612a30816132d0565b612a30816106c3565b612a30612ab6826106c3565b6106c3565b612a30816132e8565b6000612acf826132b3565b612ad981856132b7565b9350612ae98185602086016132f3565b612af281613323565b9093019392505050565b6000612b09602b836132b7565b7f47756172616e74656564206574686572207261746520776f756c64206e6f742081526a1899481c9958d95a5d995960aa1b602082015260400192915050565b6000612b566035836132b7565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612bad602f836132b7565b7f47756172616e746565642073796e746865746978207261746520776f756c642081526e1b9bdd081899481c9958d95a5d9959608a1b602082015260400192915050565b6000612bfe601b836132b7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612c37601e836132b7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612c70601a836132b7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612ca96011836132c0565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612cd66021836132b7565b7f596f752068617665206e6f206465706f7369747320746f2077697468647261778152601760f91b602082015260400192915050565b6000612d19602f836132b7565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612d6a6004836132b7565b631cd554d160e21b815260200192915050565b6000612d8a601b836132b7565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b6000612dc36021836132b7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612e066025836132b7565b7f45544820616d6f756e742061626f7665206d61784574685075726368617365208152641b1a5b5a5d60da1b602082015260400192915050565b6000612e4d6030836132b7565b7f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206781526f1c99585d195c881d1a185b881553925560821b602082015260400192915050565b6000612e9f6003836132b7565b6208aa8960eb1b815260200192915050565b6000612ebe603c836132b7565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000612f1d6019836132c0565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612f566003836132b7565b620a69cb60eb1b815260200192915050565b6000612f756025836132b7565b7f47756172616e74656564207261746520776f756c64206e6f7420626520726563815264195a5d995960da1b602082015260400192915050565b6000612fbc601f836132b7565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612ff382612c9c565b9150612fff8284612aaa565b50602001919050565b6000612ff382612f10565b602081016112438284612a36565b602081016112438284612a27565b6060810161303d8286612a27565b61304a6020830185612a27565b6120576040830184612aa1565b604081016130658285612a36565b6111a16020830184612aa1565b604081016130658285612a27565b6060810161308e8286612a27565b61304a6020830185612aa1565b604081016130a98285612a36565b6111a16020830184612a36565b602080825281016111a18184612a3f565b602081016112438284612a98565b602081016112438284612aa1565b604081016130a98285612aa1565b604081016130ff8285612aa1565b81810360208301526120578184612ac4565b602081016112438284612abb565b602080825281016111a18184612ac4565b6020808252810161124381612afc565b6020808252810161124381612b49565b6020808252810161124381612ba0565b6020808252810161124381612bf1565b6020808252810161124381612c2a565b6020808252810161124381612c63565b6020808252810161124381612cc9565b6020808252810161124381612d0c565b608080825281016131c081612d5d565b90506131cf6020830185612aa1565b81810360408301526131e081612f49565b90506111a16060830184612aa1565b6020808252810161124381612d7d565b6020808252810161124381612db6565b6020808252810161124381612df9565b6020808252810161124381612e40565b6080808252810161323f81612e92565b905061324e6020830185612aa1565b81810360408301526131e081612d5d565b608080825281016131c081612e92565b6020808252810161124381612eb1565b6020808252810161124381612f68565b6020808252810161124381612faf565b604081016130658285612aa1565b60200190565b5190565b90815260200190565b919050565b6000611243826132d5565b151590565b6001600160a01b031690565b6000611243825b6000611243826132c5565b60005b8381101561330e5781810151838201526020016132f6565b8381111561331d576000848401525b50505050565b601f01601f191690565b613336816132c5565b811461131957600080fd5b613336816132d0565b613336816106c356fea365627a7a72315820db238c99cdf29774a6cda7cf3bfde44f3cb33a9e82cafbf78c5aed17f768b2956c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address payable", + "name": "_fundsWallet", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "fromAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "toAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromETHAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositIndex", + "type": "uint256" + } + ], + "name": "ClearedDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "fromCurrency", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fromAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "toCurrency", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "toAmount", + "type": "uint256" + } + ], + "name": "Exchange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newFundsWallet", + "type": "address" + } + ], + "name": "FundsWalletUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "MaxEthPurchaseUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "MinimumDepositAmountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "NonPayableContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositIndex", + "type": "uint256" + } + ], + "name": "SynthDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimum", + "type": "uint256" + } + ], + "name": "SynthDepositNotAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "depositIndex", + "type": "uint256" + } + ], + "name": "SynthDepositRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "SynthWithdrawal", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "depositEndIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "depositStartIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "deposits", + "outputs": [ + { + "internalType": "address payable", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeEtherForSNX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "guaranteedEtherRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "guaranteedSynthetixRate", + "type": "uint256" + } + ], + "name": "exchangeEtherForSNXAtRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeEtherForSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "guaranteedRate", + "type": "uint256" + } + ], + "name": "exchangeEtherForSynthsAtRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "exchangeSynthsForSNX", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "guaranteedRate", + "type": "uint256" + } + ], + "name": "exchangeSynthsForSNXAtRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fundsWallet", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxEthPurchase", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minimumDepositAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "_fundsWallet", + "type": "address" + } + ], + "name": "setFundsWallet", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxEthPurchase", + "type": "uint256" + } + ], + "name": "setMaxEthPurchase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "setMinimumDepositAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "smallDeposits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "synthetixReceivedForEther", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "synthetixReceivedForSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "synthsReceivedForEther", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSellableDeposits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawMyDepositedSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawSynthetix", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x36c7236b53956b8b099102e8f1110e0db1e82da4ac8a140a31e12e9940944efd", + "urls": [ + "bzz-raw://7d5ba7e153f8bb511e244a7dc147ac6741c9986a410a8e441147123c15ef71a8", + "dweb:/ipfs/QmWF3fgA9ak4KtgJy3AjPgDa4pU5EH86CNNcSeiJVZ9atq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "Depot.sol": "Depot" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "Depot.sol": { + "keccak256": "0x36c7236b53956b8b099102e8f1110e0db1e82da4ac8a140a31e12e9940944efd", + "urls": [ + "bzz-raw://7d5ba7e153f8bb511e244a7dc147ac6741c9986a410a8e441147123c15ef71a8", + "dweb:/ipfs/QmWF3fgA9ak4KtgJy3AjPgDa4pU5EH86CNNcSeiJVZ9atq" + ] + } + }, + "version": 1 + } + }, + "WETH": { + "bytecode": "60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b50610115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b61011291905b808211156100f457600081556001016100fe565b90565b6107cc806101246000396000f3fe60806040526004361061009c5760003560e01c8063313ce56711610064578063313ce5671461021157806370a082311461023c57806395d89b411461026f578063a9059cbb14610284578063d0e30db01461009c578063dd62ed3e146102bd5761009c565b806306fdde03146100a6578063095ea7b31461013057806318160ddd1461017d57806323b872dd146101a45780632e1a7d4d146101e7575b6100a46102f8565b005b3480156100b257600080fd5b506100bb61035d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013c57600080fd5b506101696004803603604081101561015357600080fd5b506001600160a01b0381351690602001356103eb565b604080519115158252519081900360200190f35b34801561018957600080fd5b50610192610451565b60408051918252519081900360200190f35b3480156101b057600080fd5b50610169600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610457565b3480156101f357600080fd5b506100a46004803603602081101561020a57600080fd5b503561058b565b34801561021d57600080fd5b5061022661063a565b6040805160ff9092168252519081900360200190f35b34801561024857600080fd5b506101926004803603602081101561025f57600080fd5b50356001600160a01b0316610643565b34801561027b57600080fd5b506100bb610655565b34801561029057600080fd5b50610169600480360360408110156102a757600080fd5b506001600160a01b0381351690602001356106af565b3480156102c957600080fd5b50610192600480360360408110156102e057600080fd5b506001600160a01b03813581169160200135166106c3565b3360009081526004602052604090208054349081019091556003546103229163ffffffff6106e016565b60035560408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b6001600160a01b03831660009081526004602052604081205482111561047c57600080fd5b6001600160a01b03841633148015906104ba57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b1561051a576001600160a01b03841660009081526005602090815260408083203384529091529020548211156104ef57600080fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260046020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600460205260409020548111156105a757600080fd5b336000908152600460205260409020805482900390556003546105d0908263ffffffff61073a16565b600355604051339082156108fc029083906000818181858888f19350505050158015610600573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60046020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b60006106bc338484610457565b9392505050565b600560209081526000928352604080842090915290825290205481565b6000828201838110156106bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610791576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fea265627a7a723158209e6af16736ff24b0ef24bdb67c53128bf3601539b6b5a1142bdcb54d36600cac64736f6c63430005100032", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "guy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "guy", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "deposit", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x2d78a9c1ba594c571df03bcb586fc2253ed19bb248eb92ce5ca9a4426a96cc39", + "urls": [ + "bzz-raw://3afee083a8b6efd8e810f16f4975ab28f33a06ef7949ed8c2fd76790c7fdcf2e", + "dweb:/ipfs/QmYcuaeXVMZL1XZf5UxUnE45bXkT9sTYnjseC6zXmimyFq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "test-helpers/WETH.sol": "WETH" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "test-helpers/WETH.sol": { + "keccak256": "0x2d78a9c1ba594c571df03bcb586fc2253ed19bb248eb92ce5ca9a4426a96cc39", + "urls": [ + "bzz-raw://3afee083a8b6efd8e810f16f4975ab28f33a06ef7949ed8c2fd76790c7fdcf2e", + "dweb:/ipfs/QmYcuaeXVMZL1XZf5UxUnE45bXkT9sTYnjseC6zXmimyFq" + ] + } + }, + "version": 1 + } + }, + "EtherWrapper": { + "bytecode": "60806040526000600655600060075560006008553480156200002057600080fd5b506040516200275438038062002754833981016040819052620000439162000150565b8180846001600160a01b038116620000785760405162461bcd60e51b81526004016200006f9062000262565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c59184906200022a565b60405180910390a1506000546001600160a01b0316620000f95760405162461bcd60e51b81526004016200006f9062000250565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916939091169290921790915550620002bd915050565b80516200014a81620002a3565b92915050565b6000806000606084860312156200016657600080fd5b60006200017486866200013d565b935050602062000187868287016200013d565b92505060406200019a868287016200013d565b9150509250925092565b620001af816200028f565b82525050565b620001af816200027d565b6000620001cf60118362000274565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001fe60198362000274565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200023a8285620001a4565b620002496020830184620001b5565b9392505050565b602080825281016200014a81620001c0565b602080825281016200014a81620001ef565b90815260200190565b60006001600160a01b0382166200014a565b60006200014a8260006200014a826200027d565b620002ae816200027d565b8114620002ba57600080fd5b50565b61248780620002cd6000396000f3fe6080604052600436106101815760003560e01c80635cfc1a51116100d1578063899ffef41161008a578063a02a76f111610064578063a02a76f1146103f3578063a0712d6814610408578063bb57ad2014610428578063ee5f3f5c1461043d57610181565b8063899ffef4146103a75780638da5cb5b146103c957806391b4ded9146103de57610181565b80635cfc1a511461031e57806368eb5e4f146103335780636ad8826914610348578063741853601461036857806375d920a91461037d57806379ba50971461039257610181565b80632af64bd31161013e578063509bf42a11610118578063509bf42a146102b257806353a47bb7146102c75780635c095e54146102e95780635c975abb1461030957610181565b80632af64bd31461025b5780633fc8cef31461027d57806342966c681461029257610181565b806302814b86146101a257806304f3bcec146101cd5780630902f1ac146101ef5780631627540c1461020457806316c38b3c1461022657806318819a3114610246575b60405162461bcd60e51b8152600401610199906122d1565b60405180910390fd5b3480156101ae57600080fd5b506101b7610452565b6040516101c4919061223d565b60405180910390f35b3480156101d957600080fd5b506101e2610462565b6040516101c491906122a2565b3480156101fb57600080fd5b506101b7610476565b34801561021057600080fd5b5061022461021f366004611bb2565b6104f7565b005b34801561023257600080fd5b50610224610241366004611bf6565b610555565b34801561025257600080fd5b506101b76105ca565b34801561026757600080fd5b506102706105d4565b6040516101c4919061222f565b34801561028957600080fd5b506101e26106f0565b34801561029e57600080fd5b506102246102ad366004611c50565b6106ff565b3480156102be57600080fd5b506101b7610833565b3480156102d357600080fd5b506102dc61083d565b6040516101c4919061217b565b3480156102f557600080fd5b506101b7610304366004611c50565b61084c565b34801561031557600080fd5b5061027061086c565b34801561032a57600080fd5b506101b7610875565b34801561033f57600080fd5b506101b76108b8565b34801561035457600080fd5b506101b7610363366004611c50565b6108be565b34801561037457600080fd5b506102246108cb565b34801561038957600080fd5b506101b7610a21565b34801561039e57600080fd5b50610224610a27565b3480156103b357600080fd5b506103bc610ac3565b6040516101c4919061221e565b3480156103d557600080fd5b506102dc610bc3565b3480156103ea57600080fd5b506101b7610bd2565b3480156103ff57600080fd5b506101b7610bd8565b34801561041457600080fd5b50610224610423366004611c50565b610bde565b34801561043457600080fd5b50610224610d8c565b34801561044957600080fd5b506101b7611146565b600061045c6111c1565b90505b90565b60035461010090046001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906104a7903090600401612189565b60206040518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061045c9190810190611c6e565b6104ff61121e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061054a90839061217b565b60405180910390a150565b61055d61121e565b60035460ff1615158115151415610573576105c7565b6003805460ff1916821515179081905560ff161561059057426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161054a9160ff9091169061222f565b50565b600061045c61124a565b600060606105e0610ac3565b905060005b81518110156106e75760008282815181106105fc57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a721916106529186910161223d565b60206040518083038186803b15801561066a57600080fd5b505afa15801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a29190810190611bd8565b6001600160a01b03161415806106cd57506000818152600460205260409020546001600160a01b0316155b156106de576000935050505061045f565b506001016105e5565b50600191505090565b6005546001600160a01b031690565b60035460ff16156107225760405162461bcd60e51b815260040161019990612361565b600061072c610476565b90506000811161074e5760405162461bcd60e51b815260040161019990612381565b60006107f36107e661075e610833565b73__$d4f9e2232a762468832913f371b83514a4$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a257600080fd5b505af41580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107da9190810190611c6e565b9063ffffffff6112b216565b849063ffffffff6112de16565b90508181101561080c5761080781846112f3565b61082e565b61082e8261082961081c856108be565b859063ffffffff6112b216565b6112f3565b505050565b600061045c611628565b6001546001600160a01b031681565b60006108666108596105ca565b839063ffffffff61169016565b92915050565b60035460ff1681565b600080610880610476565b905061088a610452565b811061089a57600091505061045f565b6108b2816108a6610452565b9063ffffffff6116a516565b91505090565b60065481565b6000610866610859610833565b60606108d5610ac3565b905060005b8151811015610a1d5760008282815181106108f157fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109339190612170565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161095f929190612267565b60206040518083038186803b15801561097757600080fd5b505afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109af9190810190611bd8565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a0b908490849061224b565b60405180910390a150506001016108da565b5050565b60085481565b6001546001600160a01b03163314610a515760405162461bcd60e51b8152600401610199906122c1565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a94926001600160a01b03918216929116906121f5565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610ace6116cd565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050680a6f2dce8d0e68aa8960bb1b81600081518110610b0f57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610b3557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b5f57fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610b8257fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610ba657fe5b602002602001018181525050610bbc828261171e565b9250505090565b6000546001600160a01b031681565b60025481565b60075481565b60035460ff1615610c015760405162461bcd60e51b815260040161019990612361565b600554604051636eb1769f60e11b81526001600160a01b039091169063dd62ed3e90610c339033903090600401612197565b60206040518083038186803b158015610c4b57600080fd5b505afa158015610c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c839190810190611c6e565b811115610ca25760405162461bcd60e51b8152600401610199906122e1565b6005546040516370a0823160e01b81526001600160a01b03909116906370a0823190610cd2903390600401612189565b60206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d229190810190611c6e565b811115610d415760405162461bcd60e51b815260040161019990612351565b6000610d4b610875565b905060008111610d6d5760405162461bcd60e51b815260040161019990612371565b80821015610d8357610d7e826117da565b610a1d565b610a1d816117da565b610d946119b2565b6001600160a01b0316632528f0fe630e68aa8960e31b6040518263ffffffff1660e01b8152600401610dc6919061223d565b60206040518083038186803b158015610dde57600080fd5b505afa158015610df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e169190810190611c14565b15610e335760405162461bcd60e51b815260040161019990612301565b6000610e3d6119b2565b6001600160a01b031663654a60ac630e68aa8960e31b600854631cd554d160e21b6040518463ffffffff1660e01b8152600401610e7c93929190612287565b60206040518083038186803b158015610e9457600080fd5b505afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ecc9190810190611c6e565b9050610ed66119cd565b6001600160a01b0316639dc29fac306008546040518363ffffffff1660e01b8152600401610f059291906121da565b600060405180830381600087803b158015610f1f57600080fd5b505af1158015610f33573d6000803e3d6000fd5b5050505060085460065410610f5c57600854600654610f579163ffffffff6116a516565b610f5f565b60005b600655610f6a6119e4565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401610f9c919061223d565b60206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fec9190810190611c32565b6001600160a01b031663867904b46110026119f8565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110729190810190611bd8565b836040518363ffffffff1660e01b8152600401611090929190612210565b600060405180830381600087803b1580156110aa57600080fd5b505af11580156110be573d6000803e3d6000fd5b50506007546110d6925090508263ffffffff6112b216565b6007556110e16119f8565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040161110c919061223d565b600060405180830381600087803b15801561112657600080fd5b505af115801561113a573d6000803e3d6000fd5b50506000600855505050565b600061045c6007546111566119b2565b6001600160a01b031663654a60ac630e68aa8960e31b600654631cd554d160e21b6040518463ffffffff1660e01b815260040161119593929190612287565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156107b6573d6000803e3d6000fd5b60006111cb611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b81526004016104a7929190612259565b6000546001600160a01b031633146112485760405162461bcd60e51b815260040161019990612331565b565b6000611254611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724d696e74466565526174650000000000000000006040518363ffffffff1660e01b81526004016104a7929190612259565b6000828201838110156112d75760405162461bcd60e51b8152600401610199906122f1565b9392505050565b60006112d78383670de0b6b3a7640000611a2a565b6000611305828463ffffffff6116a516565b905061130f6119cd565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161133c929190612197565b60206040518083038186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061138c9190810190611c6e565b8211156113ab5760405162461bcd60e51b8152600401610199906122e1565b6113b36119cd565b6001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016113de9190612189565b60206040518083038186803b1580156113f657600080fd5b505afa15801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142e9190810190611c6e565b82111561144d5760405162461bcd60e51b815260040161019990612351565b6114556119cd565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016114829291906121da565b600060405180830381600087803b15801561149c57600080fd5b505af11580156114b0573d6000803e3d6000fd5b5050505082600654106114d5576006546114d0908463ffffffff6116a516565b6114d8565b60005b6006556114e36119cd565b6001600160a01b031663867904b430836040518363ffffffff1660e01b81526004016115109291906121da565b600060405180830381600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b5050600854611556925090508263ffffffff6112b216565b60085560055460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061158b90339087906004016121da565b602060405180830381600087803b1580156115a557600080fd5b505af11580156115b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115dd9190810190611c14565b50336001600160a01b03167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c084838560405161161b93929190612287565b60405180910390a2505050565b6000611632611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724275726e466565526174650000000000000000006040518363ffffffff1660e01b81526004016104a7929190612259565b60006112d78383670de0b6b3a7640000611a6e565b6000828211156116c75760405162461bcd60e51b815260040161019990612311565b50900390565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061170f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561174e578160200160208202803883390190505b50905060005b83518110156117905783818151811061176957fe5b602002602001015182828151811061177d57fe5b6020908102919091010152600101611754565b5060005b82518110156117d3578281815181106117a957fe5b60200260200101518282865101815181106117c057fe5b6020908102919091010152600101611794565b5092915050565b60006117e58261084c565b905060006117f9838363ffffffff6116a516565b6005546040516323b872dd60e01b81529192506001600160a01b0316906323b872dd9061182e903390309088906004016121b2565b602060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118809190810190611c14565b506118896119cd565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016118b69291906121da565b600060405180830381600087803b1580156118d057600080fd5b505af11580156118e4573d6000803e3d6000fd5b505050506118f06119cd565b6001600160a01b031663867904b430846040518363ffffffff1660e01b815260040161191d9291906121da565b600060405180830381600087803b15801561193757600080fd5b505af115801561194b573d6000803e3d6000fd5b5050600854611963925090508363ffffffff6112b216565b600855600654611979908463ffffffff6112b216565b60065560405133907f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d9199061161b90849086908890612287565b600061045c6c45786368616e6765526174657360981b611a99565b600061045c680a6f2dce8d0e68aa8960bb1b611a99565b600061045c6524b9b9bab2b960d11b611a99565b600061045c66119959541bdbdb60ca1b611a99565b600061045c6e466c657869626c6553746f7261676560881b611a99565b600080611a5084611a4487600a870263ffffffff611af616565b9063ffffffff611b3016565b90506005600a825b0610611a6257600a015b600a9004949350505050565b600080600a8304611a85868663ffffffff611af616565b81611a8c57fe5b0490506005600a82611a58565b60008181526004602090815260408083205490516001600160a01b039091169182151591611ac991869101612150565b604051602081830303815290604052906117d35760405162461bcd60e51b815260040161019991906122b0565b600082611b0557506000610866565b82820282848281611b1257fe5b04146112d75760405162461bcd60e51b815260040161019990612341565b6000808211611b515760405162461bcd60e51b815260040161019990612321565b6000828481611b5c57fe5b04949350505050565b803561086681612415565b805161086681612415565b803561086681612429565b805161086681612429565b805161086681612432565b80356108668161243b565b80516108668161243b565b600060208284031215611bc457600080fd5b6000611bd08484611b65565b949350505050565b600060208284031215611bea57600080fd5b6000611bd08484611b70565b600060208284031215611c0857600080fd5b6000611bd08484611b7b565b600060208284031215611c2657600080fd5b6000611bd08484611b86565b600060208284031215611c4457600080fd5b6000611bd08484611b91565b600060208284031215611c6257600080fd5b6000611bd08484611b9c565b600060208284031215611c8057600080fd5b6000611bd08484611ba7565b6000611c988383611d1a565b505060200190565b611ca9816123d0565b82525050565b611ca9816123a9565b6000611cc382612397565b611ccd818561239b565b9350611cd883612391565b8060005b83811015611d06578151611cf08882611c8c565b9750611cfb83612391565b925050600101611cdc565b509495945050505050565b611ca9816123b4565b611ca98161045f565b611ca9611d2f8261045f565b61045f565b611ca9816123b9565b6000611d4882612397565b611d52818561239b565b9350611d628185602086016123db565b611d6b8161240b565b9093019392505050565b6000611d8260358361239b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611dd9601d8361239b565b7f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000815260200192915050565b6000611e1260198361239b565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000611e4b601b8361239b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611e8460188361239b565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000611ebd601e8361239b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611ef6601a8361239b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611f2f6011836123a4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611f5c602f8361239b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611fad60218361239b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611ff060128361239b565b7142616c616e636520697320746f6f206c6f7760701b815260200192915050565b600061201e603c8361239b565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b600061207d6019836123a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006120b660268361239b565b7f436f6e747261637420686173206e6f20737061726520636170616369747920748152651bc81b5a5b9d60d21b602082015260400192915050565b60006120fe60388361239b565b7f436f6e74726163742063616e6e6f74206275726e207345544820666f7220574581527f54482c20574554482062616c616e6365206973207a65726f0000000000000000602082015260400192915050565b600061215b82611f22565b91506121678284611d23565b50602001919050565b600061215b82612070565b602081016108668284611caf565b602081016108668284611ca0565b604081016121a58285611ca0565b6112d76020830184611ca0565b606081016121c08286611ca0565b6121cd6020830185611ca0565b611bd06040830184611d1a565b604081016121e88285611ca0565b6112d76020830184611d1a565b604081016122038285611caf565b6112d76020830184611caf565b604081016121e88285611caf565b602080825281016112d78184611cb8565b602081016108668284611d11565b602081016108668284611d1a565b604081016122038285611d1a565b604081016121e88285611d1a565b604081016122758285611d1a565b8181036020830152611bd08184611d3d565b606081016122958286611d1a565b6121cd6020830185611d1a565b602081016108668284611d34565b602080825281016112d78184611d3d565b6020808252810161086681611d75565b6020808252810161086681611dcc565b6020808252810161086681611e05565b6020808252810161086681611e3e565b6020808252810161086681611e77565b6020808252810161086681611eb0565b6020808252810161086681611ee9565b6020808252810161086681611f4f565b6020808252810161086681611fa0565b6020808252810161086681611fe3565b6020808252810161086681612011565b60208082528101610866816120a9565b60208082528101610866816120f1565b60200190565b5190565b90815260200190565b919050565b6000610866826123c4565b151590565b6000610866826123a9565b6001600160a01b031690565b6000610866826123b9565b60005b838110156123f65781810151838201526020016123de565b83811115612405576000848401525b50505050565b601f01601f191690565b61241e816123a9565b81146105c757600080fd5b61241e816123b4565b61241e816123b9565b61241e8161045f56fea365627a7a72315820e881e71595b7b72b28aa77cd6f5ae648ba0f9c37354e842b71c3bdffb8f0d06c6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "address payable", + "name": "_WETH", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "name": "Minted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "burnFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "calculateBurnFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "calculateMintFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "capacity", + "outputs": [ + { + "internalType": "uint256", + "name": "_capacity", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "distributeFees", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feesEscrowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "mintFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "sETHIssued", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "sUSDIssued", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalIssuedSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "weth", + "outputs": [ + { + "internalType": "contract IWETH", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x077459bb6c9cb091f985a3e5c022b69f3f71ecd3160ed24c344645e9de75779e", + "urls": [ + "bzz-raw://9b7e3e825df5a9564a5ab848acf21fce7dabd2a7c0453e8d608630e0f5adb471", + "dweb:/ipfs/Qmeccvri4uGQbVEYjgd8HNMhijw6EPc6D37esHewJwRMFq" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "EtherWrapper.sol": "EtherWrapper" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "EtherWrapper.sol": { + "keccak256": "0x077459bb6c9cb091f985a3e5c022b69f3f71ecd3160ed24c344645e9de75779e", + "urls": [ + "bzz-raw://9b7e3e825df5a9564a5ab848acf21fce7dabd2a7c0453e8d608630e0f5adb471", + "dweb:/ipfs/Qmeccvri4uGQbVEYjgd8HNMhijw6EPc6D37esHewJwRMFq" + ] + } + }, + "version": 1 + } + }, + "NativeEtherWrapper": { + "bytecode": "608060405234801561001057600080fd5b506040516110703803806110708339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050610f4c806101246000396000f3fe6080604052600436106100915760003560e01c806353a47bb71161005957806353a47bb714610152578063741853601461016757806379ba50971461017c578063899ffef4146101915780638da5cb5b146101f657610091565b806304f3bcec146100935780631249c58b146100c45780631627540c146100cc5780632af64bd3146100ff57806342966c6814610128575b005b34801561009f57600080fd5b506100a861020b565b604080516001600160a01b039092168252519081900360200190f35b61009161021a565b3480156100d857600080fd5b50610091600480360360208110156100ef57600080fd5b50356001600160a01b031661051c565b34801561010b57600080fd5b50610114610578565b604080519115158252519081900360200190f35b34801561013457600080fd5b506100916004803603602081101561014b57600080fd5b5035610683565b34801561015e57600080fd5b506100a86109c2565b34801561017357600080fd5b506100916109d1565b34801561018857600080fd5b50610091610b99565b34801561019d57600080fd5b506101a6610c55565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b506100a8610ccc565b6002546001600160a01b031681565b348061026d576040805162461bcd60e51b815260206004820181905260248201527f6d73672e76616c7565206d7573742062652067726561746572207468616e2030604482015290519081900360640190fd5b610275610cdb565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b50505050506102d0610cdb565b6001600160a01b031663095ea7b36102e6610d4e565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b505050506040513d602081101561036057600080fd5b5061036b9050610d4e565b6001600160a01b031663a0712d68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103b057600080fd5b505af11580156103c4573d6000803e3d6000fd5b505050506103d0610d6d565b6001600160a01b031663a9059cbb336103e7610d6d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561043c57600080fd5b505afa158015610450573d6000803e3d6000fd5b505050506040513d602081101561046657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156104b757600080fd5b505af11580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b505060408051828152905133917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a250565b610524610d84565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610584610c55565b905060005b81518110156106795760008282815181106105a057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50516001600160a01b031614158061065f57506000818152600360205260409020546001600160a01b0316155b156106705760009350505050610680565b50600101610589565b5060019150505b90565b600081116106d8576040805162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b60006106e2610cdb565b90506106ec610d6d565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561074457600080fd5b505af1158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b506107799050610d6d565b6001600160a01b031663095ea7b361078f610d4e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107df57600080fd5b505af11580156107f3573d6000803e3d6000fd5b505050506040513d602081101561080957600080fd5b506108149050610d4e565b6001600160a01b03166342966c68836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050604080516370a0823160e01b815230600482015290516001600160a01b0385169350632e1a7d4d925083916370a08231916024808301926020929190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050604051339250479150600081818185875af1925050503d8060008114610981576040519150601f19603f3d011682016040523d82523d6000602084013e610986565b606091505b50506040805184815290513392507f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79181900360200190a25050565b6001546001600160a01b031681565b60606109db610c55565b905060005b8151811015610b955760008282815181106109f757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610aad578181015183820152602001610a95565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610af857600080fd5b505afa158015610b0c573d6000803e3d6000fd5b505050506040513d6020811015610b2257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109e0565b5050565b6001546001600160a01b03163314610be25760405162461bcd60e51b8152600401808060200182810382526035815260200180610eb46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506b22ba3432b92bb930b83832b960a11b81600081518110610c9657fe5b602002602001018181525050680a6f2dce8d0e68aa8960bb1b81600181518110610cbc57fe5b6020908102919091010152905090565b6000546001600160a01b031681565b6000610ce5610d4e565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1d57600080fd5b505afa158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b5051905090565b6000610d686b22ba3432b92bb930b83832b960a11b610dcf565b905090565b6000610d68680a6f2dce8d0e68aa8960bb1b610dcf565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ee9602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610eac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578181015183820152602001610e59565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204d8bbc2807773da1d874c8e9b46a4b43fb5814f272ed67f308d88e41b7031c9164736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Minted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "mint", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0xaccd2965fbc857b7c945bdd3358483ee7b6593b78397dfd9b097258066b38690", + "urls": [ + "bzz-raw://f4cbe2d06437f51a212105ed17cfae7e2300079e8c6329aafd5414f167923146", + "dweb:/ipfs/QmawghFxLboug8maQsJZcBXXHrpJaKt8YWJX2NKsVrVj5b" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "NativeEtherWrapper.sol": "NativeEtherWrapper" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "NativeEtherWrapper.sol": { + "keccak256": "0xaccd2965fbc857b7c945bdd3358483ee7b6593b78397dfd9b097258066b38690", + "urls": [ + "bzz-raw://f4cbe2d06437f51a212105ed17cfae7e2300079e8c6329aafd5414f167923146", + "dweb:/ipfs/QmawghFxLboug8maQsJZcBXXHrpJaKt8YWJX2NKsVrVj5b" + ] + } + }, + "version": 1 + } + }, + "CollateralUtil": { + "bytecode": "60806040523480156200001157600080fd5b506040516200160f3803806200160f83398101604081905262000034916200006d565b600080546001600160a01b0319166001600160a01b0392909216919091179055620000c2565b80516200006781620000a8565b92915050565b6000602082840312156200008057600080fd5b60006200008e84846200005a565b949350505050565b60006001600160a01b03821662000067565b620000b38162000096565b8114620000bf57600080fd5b50565b61153d80620000d26000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063899ffef41161005b578063899ffef4146100ea5780638a739975146100ff578063e99f964714610112578063fbfeca401461012557610088565b806304f3bcec1461008d5780632af64bd3146100ab5780633c4aa0f3146100c057806374185360146100e0575b600080fd5b610095610138565b6040516100a29190611402565b60405180910390f35b6100b3610147565b6040516100a29190611349565b6100d36100ce366004610f52565b61025d565b6040516100a29190611357565b6100e861039a565b005b6100f26104ef565b6040516100a29190611338565b6100d361010d36600461103f565b61055b565b6100d3610120366004610f9f565b61068f565b6100d3610133366004610fdb565b6107ee565b6000546001600160a01b031681565b600060606101536104ef565b905060005b815181101561025357600082828151811061016f57fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a721906101be908590600401611357565b60206040518083038186803b1580156101d657600080fd5b505afa1580156101ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061020e9190810190610f34565b6001600160a01b031614158061023957506000818152600160205260409020546001600160a01b0316155b1561024a576000935050505061025a565b50600101610158565b5060019150505b90565b600080610268610acb565b9050610272610b7d565b6001600160a01b031663654a60ac8686866040518463ffffffff1660e01b81526004016102a1939291906113da565b60206040518083038186803b1580156102b957600080fd5b505afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f19190810190611021565b915061038f6103828273__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561033e57600080fd5b505af4158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103769190810190611021565b9063ffffffff610c0e16565b839063ffffffff610c3c16565b9150505b9392505050565b60606103a46104ef565b905060005b81518110156104eb5760008282815181106103c057fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610401919061132d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161042d92919061139b565b60206040518083038186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047d9190810190610f34565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104d99084908490611365565b60405180910390a150506001016103a9565b5050565b6060806104fa610c66565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b8160008151811061053e57fe5b6020026020010181815250506105548282610cb7565b9250505090565b6000806105ea8473__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a657600080fd5b505af41580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105de9190810190611021565b9063ffffffff610d7316565b90506106836105f7610b7d565b6001600160a01b031663654a60ac8589896040518463ffffffff1660e01b8152600401610626939291906113da565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190611021565b829063ffffffff610c3c16565b9150505b949350505050565b60008061069a610b7d565b6001600160a01b031663654a60ac848660400135631cd554d160e21b6040518463ffffffff1660e01b81526004016106d4939291906113da565b60206040518083038186803b1580156106ec57600080fd5b505afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107249190810190611021565b90506000610730610b7d565b6001600160a01b031663654a60ac606087013561075b608089013560c08a013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610781939291906113da565b60206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107d19190810190611021565b90506107e3828263ffffffff610d8816565b925050505b92915050565b6000806107f9610acb565b90506000610805610b7d565b6001600160a01b031663654a60ac606088013561083060808a013560c08b013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610856939291906113da565b60206040518083038186803b15801561086e57600080fd5b505afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108a69190810190611021565b905060006108b2610b7d565b6001600160a01b031663654a60ac868960400135631cd554d160e21b6040518463ffffffff1660e01b81526004016108ec939291906113da565b60206040518083038186803b15801561090457600080fd5b505afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093c9190810190611021565b9050600073__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561098457600080fd5b505af4158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109bc9190810190611021565b905060006109e06109d3848a63ffffffff610d8816565b859063ffffffff610db216565b90506000610a14610a078a6109fb868a63ffffffff610c0e16565b9063ffffffff610d8816565b849063ffffffff610db216565b90506000610a28838363ffffffff610d8816565b9050610a32610b7d565b6001600160a01b031663654a60ac631cd554d160e21b838e606001356040518463ffffffff1660e01b8152600401610a6c939291906113da565b60206040518083038186803b158015610a8457600080fd5b505afa158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610abc9190810190611021565b9b9a5050505050505050505050565b6000610ad5610dda565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401610b28929190611380565b60206040518083038186803b158015610b4057600080fd5b505afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190611021565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610bbe906c45786368616e6765526174657360981b906004016113bb565b60206040518083038186803b158015610bd657600080fd5b505afa158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190610f34565b6000828201838110156103935760405162461bcd60e51b8152600401610c3390611421565b60405180910390fd5b6000670de0b6b3a7640000610c57848463ffffffff610df716565b81610c5e57fe5b049392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610ca857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610ce7578160200160208202803883390190505b50905060005b8351811015610d2957838181518110610d0257fe5b6020026020010151828281518110610d1657fe5b6020908102919091010152600101610ced565b5060005b8251811015610d6c57828181518110610d4257fe5b6020026020010151828286510181518110610d5957fe5b6020908102919091010152600101610d2d565b5092915050565b60006103938383670de0b6b3a7640000610e31565b600061039382610da685670de0b6b3a764000063ffffffff610df716565b9063ffffffff610e6816565b600082821115610dd45760405162461bcd60e51b8152600401610c3390611431565b50900390565b6000610b786e466c657869626c6553746f7261676560881b610e9d565b600082610e06575060006107e8565b82820282848281610e1357fe5b04146103935760405162461bcd60e51b8152600401610c3390611451565b600080610e4b84610da687600a870263ffffffff610df716565b90506005600a820610610e5c57600a015b600a9004949350505050565b6000808211610e895760405162461bcd60e51b8152600401610c3390611441565b6000828481610e9457fe5b04949350505050565b60008181526001602090815260408083205490516001600160a01b039091169182151591610ecd9186910161130d565b60405160208183030381529060405290610d6c5760405162461bcd60e51b8152600401610c339190611410565b80516107e8816114da565b80356107e8816114f1565b60006101208284031215610f2357600080fd5b50919050565b80516107e8816114f1565b600060208284031215610f4657600080fd5b60006106878484610efa565b600080600060608486031215610f6757600080fd5b6000610f738686610f05565b9350506020610f8486828701610f05565b9250506040610f9586828701610f05565b9150509250925092565b6000806101408385031215610fb357600080fd5b6000610fbf8585610f10565b925050610120610fd185828601610f05565b9150509250929050565b60008060006101608486031215610ff157600080fd5b6000610ffd8686610f10565b93505061012061100f86828701610f05565b925050610140610f9586828701610f05565b60006020828403121561103357600080fd5b60006106878484610f29565b6000806000806080858703121561105557600080fd5b60006110618787610f05565b945050602061107287828801610f05565b935050604061108387828801610f05565b925050606061109487828801610f05565b91505092959194509250565b60006110ac8383611125565b505060200190565b6110bd81611479565b82525050565b60006110ce82611467565b6110d8818561146b565b93506110e383611461565b8060005b838110156111115781516110fb88826110a0565b975061110683611461565b9250506001016110e7565b509495945050505050565b6110bd81611484565b6110bd8161025a565b6110bd61113a8261025a565b61025a565b6110bd81611495565b600061115382611467565b61115d818561146b565b935061116d8185602086016114a0565b611176816114d0565b9093019392505050565b600061118d601b8361146b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006111c6601e8361146b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006111ff601a8361146b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611238601183611474565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061126560218361146b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112a8601e8361146b565b7f4d697373696e672045786368616e6765526174657320636f6e74726163740000815260200192915050565b60006112e1601983611474565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006113188261122b565b9150611324828461112e565b50602001919050565b6000611318826112d4565b6020808252810161039381846110c3565b602081016107e8828461111c565b602081016107e88284611125565b604081016113738285611125565b61039360208301846110b4565b6040810161138e8285611125565b6103936020830184611125565b604081016113a98285611125565b81810360208301526106878184611148565b604081016113c98284611125565b81810360208301526103938161129b565b606081016113e88286611125565b6113f56020830185611125565b6106876040830184611125565b602081016107e8828461113f565b602080825281016103938184611148565b602080825281016107e881611180565b602080825281016107e8816111b9565b602080825281016107e8816111f2565b602080825281016107e881611258565b60200190565b5190565b90815260200190565b919050565b60006107e882611489565b151590565b6001600160a01b031690565b60006107e882611479565b60005b838110156114bb5781810151838201526020016114a3565b838111156114ca576000848401525b50505050565b601f01601f191690565b6114e381611479565b81146114ee57600080fd5b50565b6114e38161025a56fea365627a7a72315820be04d82aebb54ce767309e3d506d29666dcd7ada38d5615ac8e1df1d6c8017ae6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "collateralRedeemed", + "outputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "internalType": "struct ICollateralLoan.Loan", + "name": "loan", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "getCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "internalType": "struct ICollateralLoan.Loan", + "name": "loan", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "minCratio", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "minCratio", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collateralKey", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c", + "urls": [ + "bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68", + "dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralUtil.sol": "CollateralUtil" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralUtil.sol": { + "keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c", + "urls": [ + "bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68", + "dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN" + ] + } + }, + "version": 1 + } + }, + "CollateralManagerState": { + "bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a72315820564c21bf069c74a21ecf15d016131f6d3bed30e9ca2d69ee992e0e758c6444ae6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "associatedContract", + "type": "address" + } + ], + "name": "AssociatedContractUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "addShortCurrency", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "associatedContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "borrowRates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRateAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getRatesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getShortRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "getShortRatesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "incrementTotalLoans", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "long", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ratesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "removeShortCurrency", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_associatedContract", + "type": "address" + } + ], + "name": "setAssociatedContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "short", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "shortRates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortRatesLastUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "totalIssuedSynths", + "outputs": [ + { + "internalType": "uint256", + "name": "long", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "short", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLoans", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateBorrowRates", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateShortRates", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709", + "urls": [ + "bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33", + "dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralManagerState.sol": "CollateralManagerState" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralManagerState.sol": { + "keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709", + "urls": [ + "bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33", + "dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt" + ] + } + }, + "version": 1 + } + }, + "CollateralManager": { + "bytecode": "670de0b6b3a764000060105560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a0526200004390601590600262000369565b503480156200005157600080fd5b5060405162004093380380620040938339810160408190526200007491620003f9565b84866001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f906200061f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f5918490620005c3565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f906200060d565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169189169190911790556200017a84620001e4565b6200018e836001600160e01b036200025c16565b620001a2826001600160e01b03620002a616565b620001b6816001600160e01b03620002f016565b5050600080546001600160a01b0319166001600160a01b03959095169490941790935550620006ad92505050565b620001f76001600160e01b036200033a16565b600081116200021a5760405162461bcd60e51b81526004016200009f90620005e9565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200025190839062000631565b60405180910390a150565b6200026f6001600160e01b036200033a16565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906200025190839062000631565b620002b96001600160e01b036200033a16565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200025190839062000631565b620003036001600160e01b036200033a16565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200025190839062000631565b6000546001600160a01b03163314620003675760405162461bcd60e51b81526004016200009f90620005fb565b565b82601881019282156200039a579160200282015b828111156200039a5782518255916020019190600101906200037d565b50620003a8929150620003ac565b5090565b620003c991905b80821115620003a85760008155600101620003b3565b90565b8051620003d9816200067d565b92915050565b8051620003d98162000697565b8051620003d981620006a2565b600080600080600080600060e0888a0312156200041557600080fd5b6000620004238a8a620003df565b9750506020620004368a828b01620003cc565b9650506040620004498a828b01620003cc565b95505060606200045c8a828b01620003ec565b94505060806200046f8a828b01620003ec565b93505060a0620004828a828b01620003ec565b92505060c0620004958a828b01620003ec565b91505092959891949750929550565b620004af8162000670565b82525050565b620004af816200064a565b6000620004cf60168362000641565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b60006200050a602f8362000641565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006200055d60118362000641565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200058c60198362000641565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620004af81620003c9565b60408101620005d38285620004a4565b620005e26020830184620004b5565b9392505050565b60208082528101620003d981620004c0565b60208082528101620003d981620004fb565b60208082528101620003d9816200054e565b60208082528101620003d9816200057d565b60208101620003d98284620005b8565b90815260200190565b6000620003d98262000664565b6000620003d9826200064a565b6001600160a01b031690565b6000620003d98262000657565b62000688816200064a565b81146200069457600080fd5b50565b620006888162000657565b6200068881620003c9565b6139d680620006bd6000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c80638da5cb5b116101b8578063bbb601cd11610104578063e31f27c1116100a2578063eb94bbde1161007c578063eb94bbde146106a7578063edc77dc2146106ba578063ee81f790146106c2578063ffa749cd146106d557610342565b8063e31f27c11461066e578063e32261fe14610681578063e50a31b31461069457610342565b8063c9e18015116100de578063c9e1801514610638578063ca969f2314610640578063d0064c0014610653578063d2f004751461065b57610342565b8063bbb601cd14610615578063bf38668214610628578063c19d93fb1461063057610342565b8063af07aa9d11610171578063b4d6cb401161014b578063b4d6cb40146105c6578063b9e2451c146105e7578063ba1c5e80146105fa578063baa380361461060257610342565b8063af07aa9d14610598578063b38988f7146105ab578063b3b46732146105be57610342565b80638da5cb5b1461054757806391b4ded91461054f57806393a72fbe146105575780639f7eac371461056a578063a894a14b1461057d578063ad79a8581461059057610342565b8063614d08f81161029257806379ba509711610230578063899ffef41161020a578063899ffef4146105045780638b173e81146105195780638d1341901461052c5780638d6ad02d1461053f57610342565b806379ba5097146104c857806380054666146104d05780638471db13146104f157610342565b806372e18b6a1161026c57806372e18b6a14610487578063741853601461049a578063744d646e146104a25780637687402a146104b557610342565b8063614d08f8146104595780636526941b14610461578063710388d11461047457610342565b806323d60e2e116102ff5780634db7764c116102d95780634db7764c146104215780635246f2b91461042957806353a47bb71461043c5780635c975abb1461045157610342565b806323d60e2e146103d95780632af64bd3146103ec578063382453771461040157610342565b806303f048b01461034757806304f3bcec146103735780630c9c81a1146103885780631627540c1461039d57806316c38b3c146103b05780631e33fc6b146103c3575b600080fd5b61035a61035536600461317d565b6106e8565b60405161036a9493929190613877565b60405180910390f35b61037b61077f565b60405161036a91906137a8565b61039b61039636600461317d565b610793565b005b61039b6103ab366004612fcd565b6107db565b61039b6103be366004613141565b61082e565b6103cb6108a3565b60405161036a929190613737565b61039b6103e7366004613080565b610b1e565b6103f4610c4e565b60405161036a91906136f2565b61041461040f36600461317d565b610d6b565b60405161036a919061371b565b610414610d7d565b61039b6104373660046131b9565b610d83565b610444610e16565b60405161036a91906136b8565b6103f4610e25565b610414610e2e565b61039b61046f36600461317d565b610e46565b61039b610482366004613080565b610ea3565b6103f4610495366004613080565b610fb7565b61039b611051565b6103f46104b036600461304b565b6111a7565b61039b6104c33660046131b9565b6111f1565b61039b61124d565b6104e36104de366004613208565b6112e9565b60405161036a929190613765565b6103f46104ff36600461317d565b611414565b61050c611428565b60405161036a91906136e1565b61039b61052736600461317d565b611595565b61039b61053a36600461317d565b6115d2565b610414611662565b610444611668565b610414611677565b6103f4610565366004613080565b61167d565b61039b61057836600461317d565b611760565b61039b61058b366004613080565b6117bd565b6103cb61190c565b61035a6105a63660046131b9565b611afa565b6103f46105b9366004612fcd565b611b95565b610414611bae565b6105d96105d43660046131b9565b611c67565b60405161036a929190613700565b6104146105f536600461317d565b611d2f565b6103cb611d41565b61039b61061036600461317d565b611e64565b61039b610623366004613009565b611ea1565b610414611f81565b61037b611f87565b610414611f96565b61039b61064e366004613009565b611f9c565b610414612155565b61041461066936600461317d565b61215b565b61039b61067c3660046131b9565b6121dc565b61041461068f36600461317d565b612238565b61039b6106a23660046131b9565b612269565b61039b6106b53660046131b9565b6122c5565b6103cb612321565b6103cb6106d036600461317d565b612515565b61039b6106e3366004613009565b612745565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b09061072090889060040161371b565b60806040518083038186803b15801561073857600080fd5b505afa15801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107709190810190613255565b92989197509550909350915050565b60035461010090046001600160a01b031681565b61079b6127fe565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906107d090839061371b565b60405180910390a150565b6107e36127fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107d09083906136b8565b6108366127fe565b60035460ff161515811515141561084c576108a0565b6003805460ff1916821515179081905560ff161561086957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107d09160ff909116906136f2565b50565b600880546040805160208084028201810190925282815260009384936060938301828280156108f157602002820191906000526020600020905b8154815260200190600101908083116108dd575b50505050509050600081511115610b195760005b8151811015610b1757600082828151811061091c57fe5b60200260200101519050631cd554d160e21b8114156109cb5760055460405163d2f0047560e01b81526109c4916001600160a01b03169063d2f004759061096790859060040161371b565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b7919081019061319b565b869063ffffffff61282a16565b9450610b0e565b6000806109d6612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610a01919061371b565b604080518083038186803b158015610a1857600080fd5b505afa158015610a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5091908101906131e9565b60055460405163d2f0047560e01b8152929450909250600091610aeb9185916001600160a01b039091169063d2f0047590610a8f90899060040161371b565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061319b565b9063ffffffff61287616565b9050610afd888263ffffffff61282a16565b97508115610b0a57600196505b5050505b50600101610905565b505b509091565b610b266127fe565b828114610b4e5760405162461bcd60e51b8152600401610b45906137c7565b60405180910390fd5b60005b83811015610c3f57610b7f858583818110610b6857fe5b90506020020135600a6128a090919063ffffffff16565b610c37576000858583818110610b9157fe5b905060200201359050610bae81600a6128f090919063ffffffff16565b610bd4848484818110610bbd57fe5b9050602002013560086128f090919063ffffffff16565b80600c6000868686818110610be557fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610c2d919061371b565b60405180910390a1505b600101610b51565b50610c48611051565b50505050565b60006060610c5a611428565b905060005b8151811015610d61576000828281518110610c7657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610ccc9186910161371b565b60206040518083038186803b158015610ce457600080fd5b505afa158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1c9190810190612feb565b6001600160a01b0316141580610d4757506000818152600460205260409020546001600160a01b0316155b15610d585760009350505050610d68565b50600101610c5f565b5060019150505b90565b600c6020526000908152604090205481565b60145481565b6000610d8e33611b95565b905080610dad5760405162461bcd60e51b8152600401610b4590613857565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610ddf9086908690600401613765565b600060405180830381600087803b158015610df957600080fd5b505af1158015610e0d573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e4e6127fe565b60008111610e6e5760405162461bcd60e51b8152600401610b4590613827565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906107d090839061371b565b610eab6127fe565b828114610eca5760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610fb057610ee4858583818110610b6857fe5b15610fa857610f0f858583818110610ef857fe5b90506020020135600a61292890919063ffffffff16565b610f35838383818110610f1e57fe5b90506020020135600861292890919063ffffffff16565b600c6000848484818110610f4557fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f8b57fe5b90506020020135604051610f9f919061371b565b60405180910390a15b600101610ecd565b5050505050565b600a546000908414610fcb57506000611049565b60005b8481101561104357610fe5868683818110610b6857fe5b610ff3576000915050611049565b858582818110610fff57fe5b90506020020135600c600086868581811061101657fe5b905060200201358152602001908152602001600020541461103b576000915050611049565b600101610fce565b50600190505b949350505050565b606061105b611428565b905060005b81518110156111a357600082828151811061107757fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110b991906136ad565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110e5929190613745565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111359190810190612feb565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906111919084908490613729565b60405180910390a15050600101611060565b5050565b6000805b82518110156111e6576111d08382815181106111c357fe5b6020026020010151611b95565b6111de5760009150506111ec565b6001016111ab565b50600190505b919050565b60006111fc33611b95565b90508061121b5760405162461bcd60e51b8152600401610b4590613857565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610ddf9086908690600401613765565b6001546001600160a01b031633146112775760405162461bcd60e51b8152600401610b45906137d7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926112ba926001600160a01b03918216929116906136c6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60008060006112f733611b95565b9050806113165760405162461bcd60e51b8152600401610b4590613857565b6000806000808761132f5761132a8a6106e8565b611339565b611339898b611afa565b93509350935093506000808961135657611351611d41565b61135f565b61135f8b612515565b9150915080156113815760405162461bcd60e51b8152600401610b4590613867565b60006113ab670de0b6b3a764000061139f428863ffffffff6129fc16565b9063ffffffff612a2416565b905060006113cf6113c2858463ffffffff61287616565b889063ffffffff61282a16565b90506113e1818963ffffffff6129fc16565b9a508499508b6113f9576113f481612a5e565b611403565b6114038d82612abc565b505050505050505050935093915050565b6000908152600c6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061146357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061148d57fe5b6020908102919091010152600d54606090801561151657806040519080825280602002602001820160405280156114ce578160200160208202803883390190505b50915060005b8181101561151457600d8054829081106114ea57fe5b906000526020600020015483828151811061150157fe5b60209081029190910101526001016114d4565b505b600a80546040805160208084028201810190925282815260609361156f93879383018282801561156557602002820191906000526020600020905b815481526020019060010190808311611551575b5050505050612aee565b80519091501561158a576115838185612aee565b945061158e565b8394505b5050505090565b61159d6127fe565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906107d090839061371b565b60006115dd33611b95565b9050806115fc5760405162461bcd60e51b8152600401610b4590613857565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b69061162c90859060040161371b565b600060405180830381600087803b15801561164657600080fd5b505af115801561165a573d6000803e3d6000fd5b505050505050565b60125481565b6000546001600160a01b031681565b60025481565b600083821461169e5760405162461bcd60e51b8152600401610b45906137c7565b600d5484146116af57506000611049565b60005b82811015611043576005546001600160a01b031663a0356f6e8585848181106116d757fe5b905060200201356040518263ffffffff1660e01b81526004016116fa919061371b565b60206040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174a919081019061319b565b611758576000915050611049565b6001016116b2565b6117686127fe565b600081116117885760405162461bcd60e51b8152600401610b4590613827565b60108190556040517fcf53b24098da84a81615c6450c76443db743815230079981717af7ff9d647fd4906107d090839061371b565b6117c56127fe565b8281146117e45760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610c3f5760008585838181106117fd57fe5b90506020020135905061181a81600d6128a090919063ffffffff16565b6119035761182f600d8263ffffffff6128f016565b80600f600086868681811061184057fe5b905060200201358152602001908152602001600020819055507fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a81604051611888919061371b565b60405180910390a16005546001600160a01b031663ed0391548585858181106118ad57fe5b905060200201356040518263ffffffff1660e01b81526004016118d0919061371b565b600060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050505b506001016117e7565b600d805460408051602080840282018101909252828152600093849360609383018282801561195a57602002820191906000526020600020905b815481526020019060010190808311611946575b50505050509050600081511115610b195760005b8151811015610b1757600061199583838151811061198857fe5b6020026020010151612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a05919081019061319b565b9050600080611a12612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401611a3d919061371b565b604080518083038186803b158015611a5457600080fd5b505afa158015611a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a8c91908101906131e9565b60055460405163719130ff60e11b8152929450909250600091611acb9185916001600160a01b039091169063e32261fe90610a8f90899060040161371b565b9050611add888263ffffffff61282a16565b97508115611aea57600196505b50506001909201915061196e9050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d90611b359089908990600401613765565b60806040518083038186803b158015611b4d57600080fd5b505afa158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b859190810190613255565b9299919850965090945092505050565b6000611ba860068363ffffffff612bb516565b92915050565b600080611bba33611b95565b905080611bd95760405162461bcd60e51b8152600401610b4590613857565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c2957600080fd5b505af1158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c61919081019061319b565b91505090565b6000806000611c74612856565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b8152600401611caa93929190613780565b60206040518083038186803b158015611cc257600080fd5b505afa158015611cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cfa919081019061319b565b9050600080611d07612321565b6011549193509150611d1f838563ffffffff61282a16565b11159450925050505b9250929050565b600f6020526000908152604090205481565b6000806000611d4e612c22565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611d83929190613737565b60206040518083038186803b158015611d9b57600080fd5b505afa158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd3919081019061319b565b9050600080611de06108a3565b90925090506000611df7848463ffffffff61282a16565b90506000611e266a1a1a7062e5185d7e380000611e1a868563ffffffff612c3616565b9063ffffffff612c3616565b90506000611e3f6010548361287690919063ffffffff16565b9050611e566013548261282a90919063ffffffff16565b989397509295505050505050565b611e6c6127fe565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906107d090839061371b565b611ea96127fe565b60005b81811015611f7c57611ee6838383818110611ec357fe5b9050602002016020611ed89190810190612fcd565b60069063ffffffff612bb516565b611f7457611f1c838383818110611ef957fe5b9050602002016020611f0e9190810190612fcd565b60069063ffffffff612c6016565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611f4957fe5b9050602002016020611f5e9190810190612fcd565b604051611f6b91906136b8565b60405180910390a15b600101611eac565b505050565b60135481565b6005546001600160a01b031681565b60105481565b611fa46127fe565b60005b81811015611f7c57611fd5838383818110611fbe57fe5b90506020020135600d6128a090919063ffffffff16565b1561214d57612000838383818110611fe957fe5b90506020020135600d61292890919063ffffffff16565b600061201d84848481811061201157fe5b90506020020135612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061208d919081019061319b565b6000818152600f6020526040808220919091556005549051636431e0bd60e01b81529192506001600160a01b031690636431e0bd906120d090849060040161371b565b600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b505050507f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b84848481811061212f57fe5b90506020020135604051612143919061371b565b60405180910390a1505b600101611fa7565b60115481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f004759061218c90859060040161371b565b60206040518083038186803b1580156121a457600080fd5b505afa1580156121b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba8919081019061319b565b60006121e733611b95565b9050806122065760405162461bcd60e51b8152600401610b4590613857565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610ddf9086908690600401613765565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe9061218c90859060040161371b565b600061227433611b95565b9050806122935760405162461bcd60e51b8152600401610b4590613857565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610ddf9086908690600401613765565b60006122d033611b95565b9050806122ef5760405162461bcd60e51b8152600401610b4590613857565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610ddf9086908690600401613765565b6008805460408051602080840282018101909252828152600093849360609383018282801561236f57602002820191906000526020600020905b81548152602001906001019080831161235b575b50505050509050600081511115610b19576060600061238c612856565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016123b791906136e1565b60006040518083038186803b1580156123cf57600080fd5b505afa1580156123e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261240b91908101906130f0565b909250905060005b825181101561250d57600061248984838151811061242d57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663d2f0047588868151811061246557fe5b60200260200101516040518263ffffffff1660e01b8152600401610a8f919061371b565b905060006124d485848151811061249c57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663e32261fe89878151811061246557fe5b90506124f6816124ea8a8563ffffffff61282a16565b9063ffffffff61282a16565b9750831561250357600196505b5050600101612413565b505050509091565b600080612520612856565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161254b919061371b565b60206040518083038186803b15801561256357600080fd5b505afa158015612577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259b919081019061315f565b6000848152600f6020526040812054919250906125b790612baa565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125ef57600080fd5b505afa158015612603573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612627919081019061319b565b60055460405163719130ff60e11b81529192506000916001600160a01b039091169063e32261fe9061265d90889060040161371b565b60206040518083038186803b15801561267557600080fd5b505afa158015612689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126ad919081019061319b565b9050808211156126c35750600092506127409050565b60006126d5828463ffffffff6129fc16565b905060006127086a1a1a7062e5185d7e380000611e1a6126fb878763ffffffff61282a16565b859063ffffffff612c3616565b905060006127216012548361287690919063ffffffff16565b90506127386014548261282a90919063ffffffff16565b965050505050505b915091565b61274d6127fe565b60005b81811015611f7c57612767838383818110611ec357fe5b156127f65761279e83838381811061277b57fe5b90506020020160206127909190810190612fcd565b60069063ffffffff612cb216565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a5938383838181106127cb57fe5b90506020020160206127e09190810190612fcd565b6040516127ed91906136b8565b60405180910390a15b600101612750565b6000546001600160a01b031633146128285760405162461bcd60e51b8152600401610b4590613837565b565b60008282018381101561284f5760405162461bcd60e51b8152600401610b45906137e7565b9392505050565b60006128716c45786368616e6765526174657360981b612dc8565b905090565b6000670de0b6b3a7640000612891848463ffffffff612a2416565b8161289857fe5b049392505050565b81546000906128b157506000611ba8565b600082815260018401602052604090205480151580611049575082846000016000815481106128dc57fe5b906000526020600020015414949350505050565b6128fa82826128a0565b6111a35781546000828152600180850160209081526040832084905590830185558482529020018190555050565b61293282826128a0565b61294e5760405162461bcd60e51b8152600401610b45906137f7565b60008181526001830160205260409020548254600019018082146129bc57600084600001828154811061297d57fe5b906000526020600020015490508085600001848154811061299a57fe5b6000918252602080832090910192909255918252600186019052604090208290555b83548490806129c757fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b600082821115612a1e5760405162461bcd60e51b8152600401610b4590613807565b50900390565b600082612a3357506000611ba8565b82820282848281612a4057fe5b041461284f5760405162461bcd60e51b8152600401610b4590613847565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612a8e90849060040161371b565b600060405180830381600087803b158015612aa857600080fd5b505af1158015610fb0573d6000803e3d6000fd5b600554604051632462063960e01b81526001600160a01b039091169063246206399061162c9085908590600401613765565b60608151835101604051908082528060200260200182016040528015612b1e578160200160208202803883390190505b50905060005b8351811015612b6057838181518110612b3957fe5b6020026020010151828281518110612b4d57fe5b6020908102919091010152600101612b24565b5060005b8251811015612ba357828181518110612b7957fe5b6020026020010151828286510181518110612b9057fe5b6020908102919091010152600101612b64565b5092915050565b6000611ba882612dc8565b8154600090612bc657506000611ba8565b6001600160a01b0382166000908152600184016020526040902054801515806110495750826001600160a01b031684600001600081548110612c0457fe5b6000918252602090912001546001600160a01b031614949350505050565b60006128716524b9b9bab2b960d11b612dc8565b600061284f82612c5485670de0b6b3a764000063ffffffff612a2416565b9063ffffffff612e2516565b612c6a8282612bb5565b6111a35781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b612cbc8282612bb5565b612cd85760405162461bcd60e51b8152600401610b45906137f7565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612d77576000846000018281548110612d1157fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612d3a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612d8257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612df89186910161368d565b60405160208183030381529060405290612ba35760405162461bcd60e51b8152600401610b4591906137b6565b6000808211612e465760405162461bcd60e51b8152600401610b4590613817565b6000828481612e5157fe5b04949350505050565b8035611ba88161396d565b8051611ba88161396d565b60008083601f840112612e8257600080fd5b50813567ffffffffffffffff811115612e9a57600080fd5b602083019150836020820283011115611d2857600080fd5b600082601f830112612ec357600080fd5b8135612ed6612ed1826138dc565b6138b5565b91508181835260208401935060208101905083856020840282011115612efb57600080fd5b60005b83811015612f275781612f118882612e5a565b8452506020928301929190910190600101612efe565b5050505092915050565b600082601f830112612f4257600080fd5b8151612f50612ed1826138dc565b91508181835260208401935060208101905083856020840282011115612f7557600080fd5b60005b83811015612f275781612f8b8882612fc2565b8452506020928301929190910190600101612f78565b8035611ba881613981565b8051611ba881613981565b8035611ba88161398a565b8051611ba88161398a565b600060208284031215612fdf57600080fd5b60006110498484612e5a565b600060208284031215612ffd57600080fd5b60006110498484612e65565b6000806020838503121561301c57600080fd5b823567ffffffffffffffff81111561303357600080fd5b61303f85828601612e70565b92509250509250929050565b60006020828403121561305d57600080fd5b813567ffffffffffffffff81111561307457600080fd5b61104984828501612eb2565b6000806000806040858703121561309657600080fd5b843567ffffffffffffffff8111156130ad57600080fd5b6130b987828801612e70565b9450945050602085013567ffffffffffffffff8111156130d857600080fd5b6130e487828801612e70565b95989497509550505050565b6000806040838503121561310357600080fd5b825167ffffffffffffffff81111561311a57600080fd5b61312685828601612f31565b925050602061313785828601612fac565b9150509250929050565b60006020828403121561315357600080fd5b60006110498484612fa1565b60006020828403121561317157600080fd5b60006110498484612fac565b60006020828403121561318f57600080fd5b60006110498484612fb7565b6000602082840312156131ad57600080fd5b60006110498484612fc2565b600080604083850312156131cc57600080fd5b60006131d88585612fb7565b925050602061313785828601612fb7565b600080604083850312156131fc57600080fd5b60006131268585612fc2565b60008060006060848603121561321d57600080fd5b60006132298686612fb7565b935050602061323a86828701612fb7565b925050604061324b86828701612fa1565b9150509250925092565b6000806000806080858703121561326b57600080fd5b60006132778787612fc2565b945050602061328887828801612fc2565b935050604061329987828801612fc2565b92505060606132aa87828801612fc2565b91505092959194509250565b60006132c2838361333b565b505060200190565b6132d381613910565b82525050565b60006132e482613903565b6132ee8185613907565b93506132f9836138fd565b8060005b8381101561332757815161331188826132b6565b975061331c836138fd565b9250506001016132fd565b509495945050505050565b6132d38161391b565b6132d381610d68565b6132d361335082610d68565b610d68565b6132d38161392c565b600061336982613903565b6133738185613907565b9350613383818560208601613937565b61338c81613963565b9093019392505050565b60006133a3601b83613907565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006133dc603583613907565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613433601b83613907565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061346c601383613907565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061349b601e83613907565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006134d4601a83613907565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061350d6011836111ec565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061353a601683613907565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b600061356c602f83613907565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006135bd602183613907565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613600601983613907565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006136396019836111ec565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613672600c83613907565b6b496e76616c6964207261746560a01b815260200192915050565b600061369882613500565b91506136a48284613344565b50602001919050565b60006136988261362c565b60208101611ba882846132ca565b604081016136d482856132ca565b61284f60208301846132ca565b6020808252810161284f81846132d9565b60208101611ba88284613332565b6040810161370e8285613332565b61284f6020830184613332565b60208101611ba8828461333b565b604081016136d4828561333b565b6040810161370e828561333b565b60408101613753828561333b565b8181036020830152611049818461335e565b60408101613773828561333b565b61284f602083018461333b565b6060810161378e828661333b565b61379b602083018561333b565b611049604083018461333b565b60208101611ba88284613355565b6020808252810161284f818461335e565b60208082528101611ba881613396565b60208082528101611ba8816133cf565b60208082528101611ba881613426565b60208082528101611ba88161345f565b60208082528101611ba88161348e565b60208082528101611ba8816134c7565b60208082528101611ba88161352d565b60208082528101611ba88161355f565b60208082528101611ba8816135b0565b60208082528101611ba8816135f3565b60208082528101611ba881613665565b60808101613885828761333b565b613892602083018661333b565b61389f604083018561333b565b6138ac606083018461333b565b95945050505050565b60405181810167ffffffffffffffff811182821017156138d457600080fd5b604052919050565b600067ffffffffffffffff8211156138f357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000611ba882613920565b151590565b6001600160a01b031690565b6000611ba882613910565b60005b8381101561395257818101518382015260200161393a565b83811115610c485750506000910152565b601f01601f191690565b61397681613910565b81146108a057600080fd5b6139768161391b565b61397681610d6856fea365627a7a72315820574487fe17eeec2752cfb340e849e5e1b4623fdb32a5c2d6e52e205ff3b1febf6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "contract CollateralManagerState", + "name": "_state", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxDebt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSkewRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_baseBorrowRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_baseShortRate", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "baseBorrowRate", + "type": "uint256" + } + ], + "name": "BaseBorrowRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "baseShortRate", + "type": "uint256" + } + ], + "name": "BaseShortRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "CollateralAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "CollateralRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "liquidationPenalty", + "type": "uint256" + } + ], + "name": "LiquidationPenaltyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxDebt", + "type": "uint256" + } + ], + "name": "MaxDebtUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSkewRate", + "type": "uint256" + } + ], + "name": "MaxSkewRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "ShortableSynthAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "ShortableSynthRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "SynthAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "SynthRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "utilisationMultiplier", + "type": "uint256" + } + ], + "name": "UtilisationMultiplierUpdated", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "isShort", + "type": "bool" + } + ], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "difference", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "addCollaterals", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "addShortableSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "areShortableSynthsSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "requiredSynthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "baseShortRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "decrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "exceedsDebtLimit", + "outputs": [ + { + "internalType": "bool", + "name": "canIssue", + "type": "bool" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getBorrowRate", + "outputs": [ + { + "internalType": "uint256", + "name": "borrowRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "getNewLoanId", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synthKey", + "type": "bytes32" + } + ], + "name": "getShortRate", + "outputs": [ + { + "internalType": "uint256", + "name": "shortRate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "rateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getShortRatesAndTime", + "outputs": [ + { + "internalType": "uint256", + "name": "entryRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "newIndex", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "hasAllCollaterals", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "hasCollateral", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementLongs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "incrementShorts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "isSynthManaged", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "long", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxSkewRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "collaterals", + "type": "address[]" + } + ], + "name": "removeCollaterals", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synths", + "type": "bytes32[]" + } + ], + "name": "removeShortableSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "synthKeys", + "type": "bytes32[]" + } + ], + "name": "removeSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_baseBorrowRate", + "type": "uint256" + } + ], + "name": "setBaseBorrowRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_baseShortRate", + "type": "uint256" + } + ], + "name": "setBaseShortRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxDebt", + "type": "uint256" + } + ], + "name": "setMaxDebt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSkewRate", + "type": "uint256" + } + ], + "name": "setMaxSkewRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_utilisationMultiplier", + "type": "uint256" + } + ], + "name": "setUtilisationMultiplier", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "short", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortableSynthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "state", + "outputs": [ + { + "internalType": "contract CollateralManagerState", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLong", + "outputs": [ + { + "internalType": "uint256", + "name": "susdValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLongAndShort", + "outputs": [ + { + "internalType": "uint256", + "name": "susdValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalShort", + "outputs": [ + { + "internalType": "uint256", + "name": "susdValue", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "anyRateIsInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateBorrowRatesCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "updateShortRatesCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "utilisationMultiplier", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad", + "urls": [ + "bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd", + "dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralManager.sol": "CollateralManager" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralManager.sol": { + "keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad", + "urls": [ + "bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd", + "dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi" + ] + } + }, + "version": 1 + } + }, + "CollateralEth": { + "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b506040516200476938038062004769833981016040819052620000419162000150565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b8152600401620000739062000261565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c99184906200023b565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550506001600e5550620002e295505050505050565b80516200013081620002b2565b92915050565b80516200013081620002cc565b80516200013081620002d7565b60008060008060008060c087890312156200016a57600080fd5b600062000178898962000123565b96505060206200018b89828a0162000143565b95505060406200019e89828a0162000123565b9450506060620001b189828a0162000136565b9350506080620001c489828a0162000136565b92505060a0620001d789828a0162000136565b9150509295509295509295565b620001ef81620002a5565b82525050565b620001ef816200027c565b60006200020f60198362000273565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200024b8285620001e4565b6200025a6020830184620001f5565b9392505050565b60208082528101620001308162000200565b90815260200190565b6000620001308262000299565b90565b600062000130826200027c565b6001600160a01b031690565b600062000130826200028c565b620002bd816200027c565b8114620002c957600080fd5b50565b620002bd8162000289565b620002bd816200028c565b61447780620002f26000396000f3fe60806040526004361061020f5760003560e01c806372e18b6a11610118578063925ead11116100a0578063ba2de9bc1161006f578063ba2de9bc146105b0578063d2b8035a146105c5578063de81eda9146105e5578063e1ec3c6814610605578063f3f437031461063a5761020f565b8063925ead1114610546578063a76cdfa51461055b578063aa2d8ce31461057b578063b562a1ab1461059b5761020f565b8063846321a4116100e7578063846321a4146104af578063899ffef4146104cf5780638cd2e0c7146104f15780638da5cb5b1461051157806390abb4d9146105265761020f565b806372e18b6a14610445578063741853601461046557806379ba50971461047a5780637e1323551461048f5761020f565b8063379607f51161019b578063441a3e701161016a578063441a3e70146103bb57806347e7ef24146103db578063481c6a75146103ee57806353a47bb7146104035780635eb2ad01146104255761020f565b8063379607f51461034657806338245377146103665780634065b81b1461038657806341c738011461039b5761020f565b80631627540c116101e25780631627540c146102af57806323d60e2e146102cf5780632af64bd3146102ef57806330edd96114610311578063361e2086146103315761020f565b806304f3bcec1461021457806306c19e3f1461023f5780630710285c1461025f5780630aebeb4e14610281575b600080fd5b34801561022057600080fd5b5061022961065a565b6040516102369190614009565b60405180910390f35b61025261024d3660046136c0565b610669565b6040516102369190613f97565b34801561026b57600080fd5b5061027f61027a36600461355b565b61067f565b005b34801561028d57600080fd5b506102a161029c366004613684565b6106c5565b604051610236929190613fb3565b3480156102bb57600080fd5b5061027f6102ca3660046134e5565b61070e565b3480156102db57600080fd5b5061027f6102ea3660046135a8565b61076c565b3480156102fb57600080fd5b5061030461083b565b6040516102369190613f89565b34801561031d57600080fd5b5061025261032c366004613684565b610953565b34801561033d57600080fd5b50610252610971565b34801561035257600080fd5b5061027f610361366004613684565b610977565b34801561037257600080fd5b50610252610381366004613684565b610a4c565b34801561039257600080fd5b50610304610a5e565b3480156103a757600080fd5b506102526103b6366004613684565b610a67565b3480156103c757600080fd5b506102a16103d63660046136c0565b610b7f565b6102a16103e9366004613521565b610bca565b3480156103fa57600080fd5b50610229610be3565b34801561040f57600080fd5b50610418610bf2565b6040516102369190613f26565b34801561043157600080fd5b5061027f610440366004613521565b610c01565b34801561045157600080fd5b506103046104603660046135a8565b610c37565b34801561047157600080fd5b5061027f610cfb565b34801561048657600080fd5b5061027f610e4d565b34801561049b57600080fd5b506102526104aa3660046136c0565b610ee9565b3480156104bb57600080fd5b5061027f6104ca366004613684565b610f2e565b3480156104db57600080fd5b506104e4610f6b565b6040516102369190613f78565b3480156104fd57600080fd5b506102a161050c36600461355b565b6110fb565b34801561051d57600080fd5b50610418611116565b34801561053257600080fd5b5061027f610541366004613618565b611125565b34801561055257600080fd5b50610252611171565b34801561056757600080fd5b5061027f610576366004613684565b611177565b34801561058757600080fd5b50610252610596366004613684565b6111b4565b3480156105a757600080fd5b50610252611278565b3480156105bc57600080fd5b5061025261127e565b3480156105d157600080fd5b506102a16105e03660046136c0565b611284565b3480156105f157600080fd5b50610418610600366004613684565b611291565b34801561061157600080fd5b50610625610620366004613684565b6112ac565b604051610236999897969594939291906141ee565b34801561064657600080fd5b506102526106553660046134e5565b611306565b6002546001600160a01b031681565b60006106783484846000611318565b9392505050565b600061068c8484846119c0565b336000908152600f60205260409020549091506106af908263ffffffff611d2716565b336000908152600f602052604090205550505050565b6000806106d23384611d4c565b336000908152600f602052604090205491935091506106f7908263ffffffff611d2716565b336000908152600f60205260409020559092909150565b610716611e42565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610761908390613f26565b60405180910390a150565b610774611e42565b82811461079c5760405162461bcd60e51b815260040161079390614048565b60405180910390fd5b60005b8381101561082c5760008585838181106107b557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061080957fe5b60209081029290920135835250810191909152604001600020555060010161079f565b50610835610cfb565b50505050565b60006060610847610f6b565b905060005b815181101561094957600082828151811061086357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906108b4908590600401613f97565b60206040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109049190810190613503565b6001600160a01b031614158061092f57506000818152600360205260409020546001600160a01b0316155b156109405760009350505050610950565b5060010161084c565b5060019150505b90565b6007818154811061096057fe5b600091825260209091200154905081565b600c5481565b600e805460010190819055336000908152600f60205260409020546109a2908363ffffffff611e6e16565b336000818152600f602052604080822093909355915184906109c390613f1b565b60006040518083038185875af1925050503d8060008114610a00576040519150601f19603f3d011682016040523d82523d6000602084013e610a05565b606091505b5050905080610a265760405162461bcd60e51b815260040161079390614058565b50600e548114610a485760405162461bcd60e51b815260040161079390614168565b5050565b60086020526000908152604090205481565b600d5460ff1681565b6000610a71613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610afc611e96565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610b2f939291906141a5565b60206040518083038186803b158015610b4757600080fd5b505afa158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067891908101906136a2565b600080610b8c8484611eb7565b336000908152600f60205260409020549193509150610bb1908463ffffffff611d2716565b336000908152600f602052604090205590939092509050565b600080610bd8848434611f5c565b909590945092505050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610c09611e42565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c4b57506000610cf3565b60005b84811015610ced576000868683818110610c6457fe5b9050602002013590508060078381548110610c7b57fe5b906000526020600020015414610c9657600092505050610cf3565b60078281548110610ca357fe5b906000526020600020015460086000878786818110610cbe57fe5b9050602002013581526020019081526020016000205414610ce457600092505050610cf3565b50600101610c4e565b50600190505b949350505050565b6060610d05610f6b565b905060005b8151811015610a48576000828281518110610d2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d639190613f10565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d8f929190613fc1565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ddf9190810190613503565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e3b9084908490613fa5565b60405180910390a15050600101610d0a565b6001546001600160a01b03163314610e775760405162461bcd60e51b815260040161079390614038565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610eba926001600160a01b0391821692911690613f4f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610ef3611e96565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610b2f94939291906142da565b92915050565b610f36611e42565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d90610761908390613f97565b606080610f7661202d565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fb557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610fdf57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061100557fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061102e57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061105457fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b8160058151811061107f57fe5b6020026020010181815250506060611097838361207e565b90506110f38160078054806020026020016040519081016040528092919081815260200182805480156110e957602002820191906000526020600020905b8154815260200190600101908083116110d5575b505050505061207e565b935050505090565b60008061110a8533868661213a565b90969095509350505050565b6000546001600160a01b031681565b61112d611e42565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107619160ff90911690613f89565b600a5481565b61117f611e42565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610761908390613f97565b60006111be613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152611249611e96565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610b2f929190614188565b60045481565b600b5481565b600080610bd884846122e9565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b600f6020526000908152604090205481565b600061132261272b565b61132a6127cd565b600d5460ff1661134c5760405162461bcd60e51b815260040161079390614118565b6000838152600860205260409020546113775760405162461bcd60e51b815260040161079390614068565b61137f612821565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016113aa9190613f97565b60206040518083038186803b1580156113c257600080fd5b505afa1580156113d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113fa9190810190613636565b156114175760405162461bcd60e51b8152600401610793906140f8565b600b548510156114395760405162461bcd60e51b815260040161079390614148565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb40906114709089908990600401613fb3565b604080518083038186803b15801561148757600080fd5b505afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bf9190810190613654565b915091508180156114ce575080155b6114ea5760405162461bcd60e51b8152600401610793906140d8565b6114f48786610ee9565b8611156115135760405162461bcd60e51b815260040161079390614138565b600061152a600c548861283c90919063ffffffff16565b9050600061153e888363ffffffff611e6e16565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115c891908101906136a2565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061169290612851565b61169c8288612943565b851561188f576116aa612b2f565b6001600160a01b031663867904b4336116c1612821565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016116f793929190613fe1565b60206040518083038186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174791908101906136a2565b6040518363ffffffff1660e01b8152600401611764929190613f34565b600060405180830381600087803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c191506117c8908a908c90600401613fb3565b600060405180830381600087803b1580156117e257600080fd5b505af11580156117f6573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b031615905061188a576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906118579033908c90600401613f34565b600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050505b61196b565b6000878152600860205260409020546118a790612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016118d4929190613f34565b600060405180830381600087803b1580156118ee57600080fd5b505af1158015611902573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150611938908a908c90600401613fb3565b600060405180830381600087803b15801561195257600080fd5b505af1158015611966573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516119ac9594939291906142f5565b60405180910390a250505050949350505050565b60006119ca61272b565b6119d26127cd565b600082116119f25760405162461bcd60e51b815260040161079390614178565b60006119fe8486612b51565b9050611a0f33826003015485612ba5565b600a54611a1a611e96565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b8152600401611a499291906141d0565b60206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9991908101906136a2565b10611ab65760405162461bcd60e51b815260040161079390614158565b6000611ac0611e96565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b8152600401611af3939291906141df565b60206040518083038186803b158015611b0b57600080fd5b505afa158015611b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b4391908101906136a2565b90506000848210611b545784611b56565b815b90506000611b7584600601548560040154611d2790919063ffffffff16565b9050808210611b9657611b89883386612c5d565b9550610678945050505050565b611ba533856003015484612ba5565b611baf8483612cce565b611bb7611e96565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b8152600401611bec93929190613fe1565b60206040518083038186803b158015611c0457600080fd5b505afa158015611c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3c91908101906136a2565b6002850154909550611c54908663ffffffff611e6e16565b60028501556003840154600090815260086020526040902054611c7690612b46565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611ca3929190613f34565b600060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d149493929190614274565b60405180910390a2505050509392505050565b6000828201838110156106785760405162461bcd60e51b815260040161079390614078565b600080611d5761272b565b611d5f6127cd565b6000611d6b8486612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611de790612ebd565b611df2858683612f0a565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f90611e32908790613f97565b60405180910390a2509250929050565b6000546001600160a01b03163314611e6c5760405162461bcd60e51b8152600401610793906140b8565b565b600082821115611e905760405162461bcd60e51b815260040161079390614098565b50900390565b6000611eb26d10dbdb1b185d195c985b155d1a5b60921b613170565b905090565b600080611ec261272b565b611eca6127cd565b6000611ed68533612b51565b6002810154909150611eee908563ffffffff611e6e16565b6002820155611efc816131cd565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611f3d93929190613fe1565b60405180910390a28060040154816002015492509250505b9250929050565b600080611f6761272b565b611f6f6127cd565b60008311611f8f5760405162461bcd60e51b815260040161079390614128565b60008481526005602052604090206007810154611fab90613206565b611fb481612851565b6002810154611fc9908563ffffffff611d2716565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c9161200e918991899190613fe1565b60405180910390a2806004015481600201549250925050935093915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061206f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156120ae578160200160208202803883390190505b50905060005b83518110156120f0578381815181106120c957fe5b60200260200101518282815181106120dd57fe5b60209081029190910101526001016120b4565b5060005b82518110156121335782818151811061210957fe5b602002602001015182828651018151811061212057fe5b60209081029190910101526001016120f4565b5092915050565b60008061214561272b565b61214d6127cd565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e082015260088201546101008201526121d790612ebd565b6121e686826003015486612ba5565b6121ef81612851565b6121f98185612cce565b600381015460009081526008602052604090205461221690612b46565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401612243929190613f6a565b600060405180830381600087803b15801561225d57600080fd5b505af1158015612271573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f878785600401546040516122c993929190613fe1565b60405180910390a380600401548160020154925092505094509492505050565b6000806122f461272b565b6122fc6127cd565b60006123088533612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061238490612ebd565b6004810154612399908563ffffffff611d2716565b60048201556123a7816131cd565b60006123be600c548661283c90919063ffffffff16565b905060006123d2868363ffffffff611e6e16565b600584015490915060ff16156125df57600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c191612417918a90600401613fb3565b600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b50505050612451612b2f565b6001600160a01b031663867904b433612468612821565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b81526004016124a293929190613fe1565b60206040518083038186803b1580156124ba57600080fd5b505afa1580156124ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124f291908101906136a2565b6040518363ffffffff1660e01b815260040161250f929190613f34565b600060405180830381600087803b15801561252957600080fd5b505af115801561253d573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156125da5760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906125a79033908a90600401613f34565b600060405180830381600087803b1580156125c157600080fd5b505af11580156125d5573d6000803e3d6000fd5b505050505b6126c3565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde91612614918a90600401613fb3565b600060405180830381600087803b15801561262e57600080fd5b505af1158015612642573d6000803e3d6000fd5b50505060038401546000908152600860205260409020546126639150612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612690929190613f34565b600060405180830381600087803b1580156126aa57600080fd5b505af11580156126be573d6000803e3d6000fd5b505050505b6126d1828460030154612943565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106549061270b908a908a90613fb3565b60405180910390a282600401548360020154945094505050509250929050565b612733612821565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127609190613f97565b60206040518083038186803b15801561277857600080fd5b505afa15801561278c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127b09190810190613636565b15611e6c5760405162461bcd60e51b8152600401610793906140f8565b6127d5613223565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561280d57600080fd5b505afa158015610835573d6000803e3d6000fd5b6000611eb26c45786368616e6765526174657360981b613170565b60006106788383670de0b6b3a764000061323d565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936128999360ff909116906004016142b2565b6040805180830381600087803b1580156128b257600080fd5b505af11580156128c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ea91908101906136df565b9150915060008360070154600014612916576004840154612911908463ffffffff61327916565b612919565b60005b6006850154909150612931908263ffffffff611d2716565b60068501555060079092019190915550565b8115610a4857631cd554d160e21b81146129e85761295f612821565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161299593929190613fe1565b60206040518083038186803b1580156129ad57600080fd5b505afa1580156129c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129e591908101906136a2565b91505b6129f0612b2f565b6001600160a01b031663867904b4612a066132a3565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190613503565b846040518363ffffffff1660e01b8152600401612a94929190613f6a565b600060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b50505050612ace6132a3565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401612af99190613f97565b600060405180830381600087803b158015612b1357600080fd5b505af1158015612b27573d6000803e3d6000fd5b505050505050565b6000611eb26814de5b9d1a1cd554d160ba1b613170565b6000610f2882613170565b60008281526005602052604090206007810154612b6d90613206565b60018101546001600160a01b03838116911614612b9c5760405162461bcd60e51b815260040161079390614108565b610f2881612851565b6000828152600860205260409020548190612bbf90612b46565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612bea9190613f26565b60206040518083038186803b158015612c0257600080fd5b505afa158015612c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c3a91908101906136a2565b1015612c585760405162461bcd60e51b8152600401610793906140a8565b505050565b600080612c6b858585612f0a565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612cbe93929190613fe1565b60405180910390a3935093915050565b60008111612cee5760405162461bcd60e51b815260040161079390614178565b600682015415612d5057600082600601548211612d0b5781612d11565b82600601545b6006840154909150612d29908263ffffffff611e6e16565b6006840155612d3e828263ffffffff611e6e16565b9150612d4e818460030154612943565b505b8015610a48576004820154612d6b908263ffffffff611e6e16565b6004830155600582015460ff1615612e88576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612db2918590600401613fb3565b600060405180830381600087803b158015612dcc57600080fd5b505af1158015612de0573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612e8357600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612e50929116908590600401613f34565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b610a48565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b391612af9918590600401613fb3565b612eca8160e00151613206565b42612ee9612ed7306132b8565b6101008401519063ffffffff611d2716565b1115612f075760405162461bcd60e51b8152600401610793906140e8565b50565b6000806000612f2a84600601548560040154611d2790919063ffffffff16565b90508360040154925083600201549150612f4985856003015483612ba5565b6003840154600090815260086020526040902054612f6690612b46565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612f93929190613f6a565b600060405180830381600087803b158015612fad57600080fd5b505af1158015612fc1573d6000803e3d6000fd5b50505050600584015460ff16156130df576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361300c9390929101613fb3565b600060405180830381600087803b15801561302657600080fd5b505af115801561303a573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156130da5760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926130a7928b929101613f6a565b600060405180830381600087803b1580156130c157600080fd5b505af11580156130d5573d6000803e3d6000fd5b505050505b61314c565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b3936131199390929101613fb3565b600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b505050505b61315e84600601548560030154612943565b6131678461338b565b50935093915050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916131a091869101613ef0565b604051602081830303815290604052906121335760405162461bcd60e51b81526004016107939190614017565b60048101546131db57612f07565b600a5481546131e9906111b4565b11612f075760405162461bcd60e51b815260040161079390614028565b80612f075760405162461bcd60e51b815260040161079390614088565b6000611eb26b53797374656d53746174757360a01b613170565b600080600a8304613254868663ffffffff6133b016565b8161325b57fe5b0490506005600a82061061326d57600a015b600a9004949350505050565b6000670de0b6b3a7640000613294848463ffffffff6133b016565b8161329b57fe5b049392505050565b6000611eb266119959541bdbdb60ca1b613170565b60006132c26133ea565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b85604051602001613308929190613eca565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161333b929190613fb3565b60206040518083038186803b15801561335357600080fd5b505afa158015613367573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f2891908101906136a2565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000826133bf57506000610f28565b828202828482816133cc57fe5b04146106785760405162461bcd60e51b8152600401610793906140c8565b6000611eb26e466c657869626c6553746f7261676560881b613170565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f288161440e565b8051610f288161440e565b60008083601f84011261348957600080fd5b50813567ffffffffffffffff8111156134a157600080fd5b602083019150836020820283011115611f5557600080fd5b8035610f2881614422565b8051610f2881614422565b8035610f288161442b565b8051610f288161442b565b6000602082840312156134f757600080fd5b6000610cf38484613461565b60006020828403121561351557600080fd5b6000610cf3848461346c565b6000806040838503121561353457600080fd5b60006135408585613461565b9250506020613551858286016134cf565b9150509250929050565b60008060006060848603121561357057600080fd5b600061357c8686613461565b935050602061358d868287016134cf565b925050604061359e868287016134cf565b9150509250925092565b600080600080604085870312156135be57600080fd5b843567ffffffffffffffff8111156135d557600080fd5b6135e187828801613477565b9450945050602085013567ffffffffffffffff81111561360057600080fd5b61360c87828801613477565b95989497509550505050565b60006020828403121561362a57600080fd5b6000610cf384846134b9565b60006020828403121561364857600080fd5b6000610cf384846134c4565b6000806040838503121561366757600080fd5b600061367385856134c4565b9250506020613551858286016134c4565b60006020828403121561369657600080fd5b6000610cf384846134cf565b6000602082840312156136b457600080fd5b6000610cf384846134da565b600080604083850312156136d357600080fd5b600061354085856134cf565b600080604083850312156136f257600080fd5b60006136fe85856134da565b9250506020613551858286016134da565b600061371b83836137ae565b505060200190565b61372c8161437b565b82525050565b61372c8161436b565b61372c6137478261436b565b6143ed565b600061375782614347565b613761818561434b565b935061376c83614341565b8060005b8381101561379a578151613784888261370f565b975061378f83614341565b925050600101613770565b509495945050505050565b61372c81614376565b61372c81610950565b61372c6137c382610950565b610950565b61372c81614382565b60006137dc82614347565b6137e6818561434b565b93506137f681856020860161438d565b6137ff816143fe565b9093019392505050565b6000613816600e8361434b565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061384060358361434b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061389760158361434b565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b60006138c8600f8361434b565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b60006138f360148361434b565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613923601b8361434b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061395c600e8361434b565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613986601e8361434b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006139bf601183614354565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006139ec60128361434b565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613a1a602f8361434b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613a6b60218361434b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613aae601a8361434b565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000613ae760138361434b565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000613b16601983614354565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4f600c8361434b565b6b496e76616c6964207261746560a01b815260200192915050565b6000613b7760108361434b565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000610f28600083614354565b6000613bb0600d8361434b565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000613bd960178361434b565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000613c1260178361434b565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b6000613c4b60158361434b565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b6000613c7c60168361434b565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000613cae601f8361434b565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000613ce760178361434b565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b8051610120830190613d2584826137ae565b506020820151613d386020850182613732565b506040820151613d4b60408501826137ae565b506060820151613d5e60608501826137ae565b506080820151613d7160808501826137ae565b5060a0820151613d8460a08501826137a5565b5060c0820151613d9760c08501826137ae565b5060e0820151613daa60e08501826137ae565b506101008201516108356101008501826137ae565b8054610120830190613dd0816143df565b613dda85826137ae565b50506001820154613dea816143b9565b613df76020860182613732565b50506002820154613e07816143df565b613e1460408601826137ae565b50506003820154613e24816143df565b613e3160608601826137ae565b50506004820154613e41816143df565b613e4e60808601826137ae565b50506005820154613e5e816143cc565b613e6b60a08601826137a5565b50506006820154613e7b816143df565b613e8860c08601826137ae565b50506007820154613e98816143df565b613ea560e08601826137ae565b50506008820154613eb5816143df565b613ec36101008601826137ae565b5050505050565b6000613ed682856137b7565b602082019150613ee6828461373b565b5060140192915050565b6000613efb826139b2565b9150613f0782846137b7565b50602001919050565b6000613efb82613b09565b6000610f2882613b96565b60208101610f288284613732565b60408101613f428285613723565b61067860208301846137ae565b60408101613f5d8285613732565b6106786020830184613732565b60408101613f428285613732565b60208082528101610678818461374c565b60208101610f2882846137a5565b60208101610f2882846137ae565b60408101613f5d82856137ae565b60408101613f4282856137ae565b60408101613fcf82856137ae565b8181036020830152610cf381846137d1565b60608101613fef82866137ae565b613ffc60208301856137ae565b610cf360408301846137ae565b60208101610f2882846137c8565b6020808252810161067881846137d1565b60208082528101610f2881613809565b60208082528101610f2881613833565b60208082528101610f288161388a565b60208082528101610f28816138bb565b60208082528101610f28816138e6565b60208082528101610f2881613916565b60208082528101610f288161394f565b60208082528101610f2881613979565b60208082528101610f28816139df565b60208082528101610f2881613a0d565b60208082528101610f2881613a5e565b60208082528101610f2881613aa1565b60208082528101610f2881613ada565b60208082528101610f2881613b42565b60208082528101610f2881613b6a565b60208082528101610f2881613ba3565b60208082528101610f2881613bcc565b60208082528101610f2881613c05565b60208082528101610f2881613c3e565b60208082528101610f2881613c6f565b60208082528101610f2881613ca1565b60208082528101610f2881613cda565b61014081016141978285613d13565b6106786101208301846137ae565b61016081016141b48286613d13565b6141c26101208301856137ae565b610cf36101408301846137ae565b61014081016141978285613dbf565b61016081016141b48286613dbf565b61012081016141fd828c6137ae565b61420a602083018b613732565b614217604083018a6137ae565b61422460608301896137ae565b61423160808301886137ae565b61423e60a08301876137a5565b61424b60c08301866137ae565b61425860e08301856137ae565b6142666101008301846137ae565b9a9950505050505050505050565b6080810161428282876137ae565b61428f6020830186613723565b61429c60408301856137ae565b6142a960608301846137ae565b95945050505050565b606081016142c082866137ae565b6142cd60208301856137ae565b610cf360408301846137a5565b608081016142e882876137ae565b61428f60208301866137ae565b60a0810161430382886137ae565b61431060208301876137ae565b61431d60408301866137ae565b61432a60608301856137ae565b61433760808301846137ae565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f2882614359565b151590565b6000610f28825b6000610f288261436b565b60005b838110156143a8578181015183820152602001614390565b838111156108355750506000910152565b6000610f286143c783610950565b614359565b6000610f286143da83610950565b614365565b6000610f286137c383610950565b6000610f28826000610f2882614408565b601f01601f191690565b60601b90565b6144178161436b565b8114612f0757600080fd5b61441781614376565b6144178161095056fea365627a7a723158204e3f97b3f5802dab33a13b27f84889972a099dcf1e4dd1f2e1f4db2ce2ef17d36c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ICollateralManager", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_collateralKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_minCratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "canOpenLoans", + "type": "bool" + } + ], + "name": "CanOpenLoansUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "issueFeeRate", + "type": "uint256" + } + ], + "name": "IssueFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "LoanClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanClosedByLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "LoanClosedByRepayment", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "issuanceFee", + "type": "uint256" + } + ], + "name": "LoanCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LoanDrawnDown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanPartiallyLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "repayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountAfter", + "type": "uint256" + } + ], + "name": "LoanRepaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minCollateral", + "type": "uint256" + } + ], + "name": "MinCollateralUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "rewardsContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "addRewardsContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "canOpenLoans", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "claim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "close", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "collateralKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "collateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "draw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issueFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "liqAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "loans", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "contract ICollateralManager", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCratio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "open", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "pendingWithdrawals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repay", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_canOpenLoans", + "type": "bool" + } + ], + "name": "setCanOpenLoans", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_issueFeeRate", + "type": "uint256" + } + ], + "name": "setIssueFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "name": "setMinCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortingRewards", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4", + "urls": [ + "bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06", + "dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralEth.sol": "CollateralEth" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralEth.sol": { + "keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4", + "urls": [ + "bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06", + "dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1" + ] + } + }, + "version": 1 + } + }, + "MockToken": { + "bytecode": "60806040523480156200001157600080fd5b5060405162000cc738038062000cc7833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052602090810151855190935085925084918491620001c091600391908601906200036c565b508151620001d69060049060208501906200036c565b506005805460ff191660ff9283161790556200020092503391508316600a0a620f42400262000209565b50505062000411565b6001600160a01b03821662000265576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000281816002546200030a60201b620007821790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002b4918390620007826200030a821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000365576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003af57805160ff1916838001178555620003df565b82800160010185558215620003df579182015b82811115620003df578251825591602001919060010190620003c2565b50620003ed929150620003f1565b5090565b6200040e91905b80821115620003ed5760008155600101620003f8565b90565b6108a680620004216000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b610173610365565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b0381358116916020810135909116906040013561036b565b6101c36103c2565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b0381351690602001356103cb565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610407565b6100b6610422565b6101576004803603604081101561024957600080fd5b506001600160a01b038135169060200135610483565b6101576004803603604081101561027557600080fd5b506001600160a01b0381351690602001356104bf565b610173600480360360408110156102a157600080fd5b506001600160a01b03813581169160200135166104cc565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061035c3384846104f7565b50600192915050565b60025490565b60006103788484846105e3565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546103b89186916103b3908663ffffffff61072516565b6104f7565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161035c9185906103b3908663ffffffff61078216565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161035c9185906103b3908663ffffffff61072516565b600061035c3384846105e3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661053c5760405162461bcd60e51b815260040180806020018281038252602481526020018061084e6024913960400191505060405180910390fd5b6001600160a01b0382166105815760405162461bcd60e51b81526004018080602001828103825260228152602001806108076022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106285760405162461bcd60e51b81526004018080602001828103825260258152602001806108296025913960400191505060405180910390fd5b6001600160a01b03821661066d5760405162461bcd60e51b81526004018080602001828103825260238152602001806107e46023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610696908263ffffffff61072516565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106cb908263ffffffff61078216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561077c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107dc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820206b2eaf55d2533343aa0dbb186f41bca8fc3d9a1262a51258e3359410ad4a3b64736f6c63430005100032", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x6de9974eadfbbb6ab75fc482e48820cf25dedc348295adb385b626b62ccdcc1a", + "urls": [ + "bzz-raw://dec9c9e6c89ff9b515c8b154173f517ed7f411d1b5ca07c74422f4293c460edb", + "dweb:/ipfs/QmRmVr5VawH3pSt6nBeXkMmSRQ4TgxPHRva6SF4TWYoh8Z" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "test-helpers/MockToken.sol": "MockToken" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "test-helpers/MockToken.sol": { + "keccak256": "0x6de9974eadfbbb6ab75fc482e48820cf25dedc348295adb385b626b62ccdcc1a", + "urls": [ + "bzz-raw://dec9c9e6c89ff9b515c8b154173f517ed7f411d1b5ca07c74422f4293c460edb", + "dweb:/ipfs/QmRmVr5VawH3pSt6nBeXkMmSRQ4TgxPHRva6SF4TWYoh8Z" + ] + } + }, + "version": 1 + } + }, + "CollateralErc20": { + "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b5060405162004aa538038062004aa583398101604081905262000041916200016c565b8787878787878380876001600160a01b0381166200007c5760405162461bcd60e51b81526004016200007390620002aa565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c991849062000284565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600680549091169782169790971790965550600492909255600a55600b5550600d8054610100600160a81b031916610100959092169490940217909255600e55506200032b95505050505050565b80516200014c81620002fb565b92915050565b80516200014c8162000315565b80516200014c8162000320565b600080600080600080600080610100898b0312156200018a57600080fd5b6000620001988b8b6200013f565b9850506020620001ab8b828c016200015f565b9750506040620001be8b828c016200013f565b9650506060620001d18b828c0162000152565b9550506080620001e48b828c0162000152565b94505060a0620001f78b828c0162000152565b93505060c06200020a8b828c016200013f565b92505060e06200021d8b828c0162000152565b9150509295985092959890939650565b6200023881620002ee565b82525050565b6200023881620002c5565b600062000258601983620002bc565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200029482856200022d565b620002a360208301846200023e565b9392505050565b602080825281016200014c8162000249565b90815260200190565b60006200014c82620002e2565b90565b60006200014c82620002c5565b6001600160a01b031690565b60006200014c82620002d5565b6200030681620002c5565b81146200031257600080fd5b50565b6200030681620002d2565b6200030681620002d5565b61476a806200033b6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637418536011610130578063925ead11116100b8578063ba2de9bc1161007c578063ba2de9bc1461046a578063d2b8035a14610472578063de81eda914610485578063e1ec3c6814610498578063f93451ed146104c057610232565b8063925ead1114610421578063a76cdfa514610429578063aa2d8ce31461043c578063b094f2c41461044f578063b562a1ab1461046257610232565b8063883a2209116100ff578063883a2209146103cb578063899ffef4146103de5780638cd2e0c7146103f35780638da5cb5b1461040657806390abb4d91461040e57610232565b8063741853601461039557806379ba50971461039d5780637e132355146103a5578063846321a4146103b857610232565b8063361e2086116101be578063441a3e7011610182578063441a3e701461034c578063481c6a751461035f57806353a47bb7146103675780635eb2ad011461036f57806372e18b6a1461038257610232565b8063361e20861461030e57806338245377146103165780633cc3ffc7146103295780634065b81b1461033157806341c738011461033957610232565b806310cfe9061161020557806310cfe9061461029e5780631627540c146102b357806323d60e2e146102c65780632af64bd3146102d957806330edd961146102ee57610232565b806304f3bcec146102375780630710285c146102555780630aebeb4e1461026a5780630efe6a8b1461028b575b600080fd5b61023f6104d3565b60405161024c91906142d5565b60405180910390f35b6102686102633660046136f5565b6104e2565b005b61027d61027836600461381e565b610522565b60405161024c92919061428c565b61027d6102993660046136f5565b610564565b6102a6610659565b60405161024c91906141c9565b6102686102c136600461367f565b61066d565b6102686102d4366004613742565b6106cb565b6102e1610791565b60405161024c9190614262565b6103016102fc36600461381e565b6108a9565b60405161024c9190614270565b6103016108c7565b61030161032436600461381e565b6108cd565b6103016108df565b6102e16108e5565b61030161034736600461381e565b6108ee565b61027d61035a36600461385a565b610a0d565b61023f610a5f565b6102a6610a6e565b61026861037d3660046136bb565b610a7d565b6102e1610390366004613742565b610ab3565b610268610b77565b610268610ccd565b6103016103b336600461385a565b610d69565b6102686103c636600461381e565b610e01565b6103016103d936600461381e565b610e3e565b6103e6610e63565b60405161024c9190614251565b61027d6104013660046136f5565b610ff3565b6102a661100e565b61026861041c3660046137b2565b61101d565b610301611069565b61026861043736600461381e565b61106f565b61030161044a36600461381e565b6110ac565b61030161045d36600461381e565b611170565b610301611195565b61030161119b565b61027d61048036600461385a565b6111a1565b6102a661049336600461381e565b6111b9565b6104ab6104a636600461381e565b6111d4565b60405161024c999897969594939291906144ea565b6103016104ce3660046138a9565b61122e565b6002546001600160a01b031681565b60006104ef848484611315565b905060006104fc82611170565b600d5490915061051b9061010090046001600160a01b0316338361167c565b5050505050565b60008061052f33846116da565b9092509050600061053f82611170565b600d5490915061055e9061010090046001600160a01b0316338361167c565b50915091565b600d54604051636eb1769f60e11b815260009182916101009091046001600160a01b03169063dd62ed3e9061059f90339030906004016141d7565b60206040518083038186803b1580156105b757600080fd5b505afa1580156105cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105ef919081019061383c565b8311156106175760405162461bcd60e51b815260040161060e90614324565b60405180910390fd5b600d546106349061010090046001600160a01b03163330866117d0565b600061063f84610e3e565b905061064c8686836117f4565b9097909650945050505050565b600d5461010090046001600160a01b031681565b6106756118c5565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906106c09083906141c9565b60405180910390a150565b6106d36118c5565b8281146106f25760405162461bcd60e51b815260040161060e90614314565b60005b8381101561078257600085858381811061070b57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061075f57fe5b6020908102929092013583525081019190915260400160002055506001016106f5565b5061078b610b77565b50505050565b6000606061079d610e63565b905060005b815181101561089f5760008282815181106107b957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061080a908590600401614270565b60206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061085a919081019061369d565b6001600160a01b031614158061088557506000818152600360205260409020546001600160a01b0316155b1561089657600093505050506108a6565b506001016107a2565b5060019150505b90565b600781815481106108b657fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600e5481565b600d5460ff1681565b60006108f86135a1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526109836118f1565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b81526004016109b6939291906144a1565b60206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a06919081019061383c565b9392505050565b6000806000610a1b84610e3e565b9050610a278582611912565b90935091506000610a3783611170565b600d54909150610a569061010090046001600160a01b0316338361167c565b50509250929050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610a856118c5565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ac757506000610b6f565b60005b84811015610b69576000868683818110610ae057fe5b9050602002013590508060078381548110610af757fe5b906000526020600020015414610b1257600092505050610b6f565b60078281548110610b1f57fe5b906000526020600020015460086000878786818110610b3a57fe5b9050602002013581526020019081526020016000205414610b6057600092505050610b6f565b50600101610aca565b50600190505b949350505050565b6060610b81610e63565b905060005b8151811015610cc9576000828281518110610b9d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bdf91906141be565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0b92919061429a565b60206040518083038186803b158015610c2357600080fd5b505afa158015610c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5b919081019061369d565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cb7908490849061427e565b60405180910390a15050600101610b86565b5050565b6001546001600160a01b03163314610cf75760405162461bcd60e51b815260040161060e90614304565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d3a926001600160a01b039182169291169061420d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610d736118f1565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610da894939291906145cd565b60206040518083038186803b158015610dc057600080fd5b505afa158015610dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610df8919081019061383c565b90505b92915050565b610e096118c5565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d906106c0908390614270565b600080610e4e6012600e546119b7565b600a0a9050610a06838263ffffffff6119df16565b606080610e6e611a19565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610ead57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610ed757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110610efd57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610f2657fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600481518110610f4c57fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b81600581518110610f7757fe5b6020026020010181815250506060610f8f8383611a6a565b9050610feb816007805480602002602001604051908101604052809291908181526020018280548015610fe157602002820191906000526020600020905b815481526020019060010190808311610fcd575b5050505050611a6a565b935050505090565b60008061100285338686611b26565b90969095509350505050565b6000546001600160a01b031681565b6110256118c5565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916106c09160ff90911690614262565b600a5481565b6110776118c5565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906106c0908390614270565b60006110b66135a1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526111416118f1565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b81526004016109b6929190614484565b6000806111806012600e546119b7565b600a0a9050610a06838263ffffffff611cd516565b60045481565b600b5481565b6000806111ae8484611d0a565b909590945092505050565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b600d54604051636eb1769f60e11b815260009161010090046001600160a01b03169063dd62ed3e9061126690339030906004016141d7565b60206040518083038186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112b6919081019061383c565b8411156112d55760405162461bcd60e51b815260040161060e90614324565b600d546112f29061010090046001600160a01b03163330876117d0565b60006112fd85610e3e565b905061130c818585600061214c565b95945050505050565b600061131f6127f4565b611327612896565b600082116113475760405162461bcd60e51b815260040161060e90614474565b600061135384866128ea565b90506113643382600301548561293e565b600a5461136f6118f1565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b815260040161139e9291906144cc565b60206040518083038186803b1580156113b657600080fd5b505afa1580156113ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ee919081019061383c565b1061140b5760405162461bcd60e51b815260040161060e90614454565b60006114156118f1565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b8152600401611448939291906144db565b60206040518083038186803b15801561146057600080fd5b505afa158015611474573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611498919081019061383c565b905060008482106114a957846114ab565b815b905060006114ca846006015485600401546129f190919063ffffffff16565b90508082106114eb576114de883386612a16565b9550610a06945050505050565b6114fa3385600301548461293e565b6115048483612a87565b61150c6118f1565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b8152600401611541939291906142ba565b60206040518083038186803b15801561155957600080fd5b505afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611591919081019061383c565b60028501549095506115a9908663ffffffff6119b716565b600285015560038401546000908152600860205260409020546115cb90612cac565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016115f89291906141f2565b600060405180830381600087803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516116699493929190614570565b60405180910390a2505050509392505050565b6040516116d590849063a9059cbb60e01b9061169e9086908690602401614243565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cb7565b505050565b6000806116e56127f4565b6116ed612896565b60006116f984866128ea565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061177590612d9c565b611780858683612de9565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f906117c0908790614270565b60405180910390a2509250929050565b60405161078b9085906323b872dd60e01b9061169e9087908790879060240161421b565b6000806117ff6127f4565b611807612896565b600083116118275760405162461bcd60e51b815260040161060e90614414565b600084815260056020526040902060078101546118439061304f565b61184c8161306c565b6002810154611861908563ffffffff6129f116565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c916118a69189918991906142ba565b60405180910390a2806004015481600201549250925050935093915050565b6000546001600160a01b031633146118ef5760405162461bcd60e51b815260040161060e906143a4565b565b600061190d6d10dbdb1b185d195c985b155d1a5b60921b61315e565b905090565b60008061191d6127f4565b611925612896565b600061193185336128ea565b6002810154909150611949908563ffffffff6119b716565b6002820155611957816131bb565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611998939291906142ba565b60405180910390a28060040154816002015492509250505b9250929050565b6000828211156119d95760405162461bcd60e51b815260040161060e90614374565b50900390565b6000826119ee57506000610dfb565b828202828482816119fb57fe5b0414610df85760405162461bcd60e51b815260040161060e906143b4565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611a5b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611a9a578160200160208202803883390190505b50905060005b8351811015611adc57838181518110611ab557fe5b6020026020010151828281518110611ac957fe5b6020908102919091010152600101611aa0565b5060005b8251811015611b1f57828181518110611af557fe5b6020026020010151828286510181518110611b0c57fe5b6020908102919091010152600101611ae0565b5092915050565b600080611b316127f4565b611b39612896565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152611bc390612d9c565b611bd28682600301548661293e565b611bdb8161306c565b611be58185612a87565b6003810154600090815260086020526040902054611c0290612cac565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401611c2f929190614243565b600060405180830381600087803b158015611c4957600080fd5b505af1158015611c5d573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f87878560040154604051611cb5939291906142ba565b60405180910390a380600401548160020154925092505094509492505050565b6000808211611cf65760405162461bcd60e51b815260040161060e90614384565b6000828481611d0157fe5b04949350505050565b600080611d156127f4565b611d1d612896565b6000611d2985336128ea565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611da590612d9c565b6004810154611dba908563ffffffff6129f116565b6004820155611dc8816131bb565b6000611ddf600c54866131f490919063ffffffff16565b90506000611df3868363ffffffff6119b716565b600584015490915060ff161561200057600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c191611e38918a9060040161428c565b600060405180830381600087803b158015611e5257600080fd5b505af1158015611e66573d6000803e3d6000fd5b50505050611e72613209565b6001600160a01b031663867904b433611e89613220565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b8152600401611ec3939291906142ba565b60206040518083038186803b158015611edb57600080fd5b505afa158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f13919081019061383c565b6040518363ffffffff1660e01b8152600401611f309291906141f2565b600060405180830381600087803b158015611f4a57600080fd5b505af1158015611f5e573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b031615611ffb5760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fc89033908a906004016141f2565b600060405180830381600087803b158015611fe257600080fd5b505af1158015611ff6573d6000803e3d6000fd5b505050505b6120e4565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde91612035918a9060040161428c565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b50505060038401546000908152600860205260409020546120849150612cac565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016120b19291906141f2565b600060405180830381600087803b1580156120cb57600080fd5b505af11580156120df573d6000803e3d6000fd5b505050505b6120f282846003015461323b565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106549061212c908a908a9061428c565b60405180910390a282600401548360020154945094505050509250929050565b60006121566127f4565b61215e612896565b600d5460ff166121805760405162461bcd60e51b815260040161060e90614404565b6000838152600860205260409020546121ab5760405162461bcd60e51b815260040161060e90614334565b6121b3613220565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016121de9190614270565b60206040518083038186803b1580156121f657600080fd5b505afa15801561220a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061222e91908101906137d0565b1561224b5760405162461bcd60e51b815260040161060e906143e4565b600b5485101561226d5760405162461bcd60e51b815260040161060e90614444565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb40906122a4908990899060040161428c565b604080518083038186803b1580156122bb57600080fd5b505afa1580156122cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f391908101906137ee565b91509150818015612302575080155b61231e5760405162461bcd60e51b815260040161060e906143c4565b6123288786610d69565b8611156123475760405162461bcd60e51b815260040161060e90614434565b600061235e600c54886131f490919063ffffffff16565b90506000612372888363ffffffff6119b716565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156123c457600080fd5b505af11580156123d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123fc919081019061383c565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff19169215159290921790915590516006830155516007820155905160088201559095506124c69061306c565b6124d0828861323b565b85156126c3576124de613209565b6001600160a01b031663867904b4336124f5613220565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b815260040161252b939291906142ba565b60206040518083038186803b15801561254357600080fd5b505afa158015612557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061257b919081019061383c565b6040518363ffffffff1660e01b81526004016125989291906141f2565b600060405180830381600087803b1580156125b257600080fd5b505af11580156125c6573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c191506125fc908a908c9060040161428c565b600060405180830381600087803b15801561261657600080fd5b505af115801561262a573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b03161590506126be576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061268b9033908c906004016141f2565b600060405180830381600087803b1580156126a557600080fd5b505af11580156126b9573d6000803e3d6000fd5b505050505b61279f565b6000878152600860205260409020546126db90612cac565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016127089291906141f2565b600060405180830381600087803b15801561272257600080fd5b505af1158015612736573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde915061276c908a908c9060040161428c565b600060405180830381600087803b15801561278657600080fd5b505af115801561279a573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516127e09594939291906145e8565b60405180910390a250505050949350505050565b6127fc613220565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016128299190614270565b60206040518083038186803b15801561284157600080fd5b505afa158015612855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287991908101906137d0565b156118ef5760405162461bcd60e51b815260040161060e906143e4565b61289e6133f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156128d657600080fd5b505afa15801561078b573d6000803e3d6000fd5b600082815260056020526040902060078101546129069061304f565b60018101546001600160a01b038381169116146129355760405162461bcd60e51b815260040161060e906143f4565b610dfb8161306c565b600082815260086020526040902054819061295890612cac565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161298391906141c9565b60206040518083038186803b15801561299b57600080fd5b505afa1580156129af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129d3919081019061383c565b10156116d55760405162461bcd60e51b815260040161060e90614394565b600082820183811015610df85760405162461bcd60e51b815260040161060e90614344565b600080612a24858585612de9565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612a77939291906142ba565b60405180910390a3935093915050565b60008111612aa75760405162461bcd60e51b815260040161060e90614474565b600682015415612b0957600082600601548211612ac45781612aca565b82600601545b6006840154909150612ae2908263ffffffff6119b716565b6006840155612af7828263ffffffff6119b716565b9150612b0781846003015461323b565b505b8015610cc9576004820154612b24908263ffffffff6119b716565b6004830155600582015460ff1615612c41576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612b6b91859060040161428c565b600060405180830381600087803b158015612b8557600080fd5b505af1158015612b99573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612c3c57600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612c099291169085906004016141f2565b600060405180830381600087803b158015612c2357600080fd5b505af1158015612c37573d6000803e3d6000fd5b505050505b610cc9565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b391612c7691859060040161428c565b600060405180830381600087803b158015612c9057600080fd5b505af1158015612ca4573d6000803e3d6000fd5b505050505050565b6000610dfb8261315e565b612cc9826001600160a01b031661340b565b612ce55760405162461bcd60e51b815260040161060e90614464565b60006060836001600160a01b031683604051612d019190614192565b6000604051808303816000865af19150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509150915081612d655760405162461bcd60e51b815260040161060e90614364565b80511561078b5780806020019051612d8091908101906137d0565b61078b5760405162461bcd60e51b815260040161060e90614424565b612da98160e0015161304f565b42612dc8612db630613411565b6101008401519063ffffffff6129f116565b1115612de65760405162461bcd60e51b815260040161060e906143d4565b50565b6000806000612e09846006015485600401546129f190919063ffffffff16565b90508360040154925083600201549150612e288585600301548361293e565b6003840154600090815260086020526040902054612e4590612cac565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612e72929190614243565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b50505050600584015460ff1615612fbe576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b993612eeb939092910161428c565b600060405180830381600087803b158015612f0557600080fd5b505af1158015612f19573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b031615612fb95760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a392612f86928b929101614243565b600060405180830381600087803b158015612fa057600080fd5b505af1158015612fb4573d6000803e3d6000fd5b505050505b61302b565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b393612ff8939092910161428c565b600060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050505b61303d8460060154856003015461323b565b613046846134e4565b50935093915050565b80612de65760405162461bcd60e51b815260040161060e90614354565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936130b49360ff909116906004016145a5565b6040805180830381600087803b1580156130cd57600080fd5b505af11580156130e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131059190810190613879565b915091506000836007015460001461313157600484015461312c908463ffffffff61350916565b613134565b60005b600685015490915061314c908263ffffffff6129f116565b60068501555060079092019190915550565b60008181526003602090815260408083205490516001600160a01b03909116918215159161318e9186910161419e565b60405160208183030381529060405290611b1f5760405162461bcd60e51b815260040161060e91906142e3565b60048101546131c957612de6565b600a5481546131d7906110ac565b11612de65760405162461bcd60e51b815260040161060e906142f4565b6000610df88383670de0b6b3a7640000613533565b600061190d6814de5b9d1a1cd554d160ba1b61315e565b600061190d6c45786368616e6765526174657360981b61315e565b8115610cc957631cd554d160e21b81146132e057613257613220565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161328d939291906142ba565b60206040518083038186803b1580156132a557600080fd5b505afa1580156132b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132dd919081019061383c565b91505b6132e8613209565b6001600160a01b031663867904b46132fe61356f565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561333657600080fd5b505afa15801561334a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061336e919081019061369d565b846040518363ffffffff1660e01b815260040161338c929190614243565b600060405180830381600087803b1580156133a657600080fd5b505af11580156133ba573d6000803e3d6000fd5b505050506133c661356f565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401612c769190614270565b600061190d6b53797374656d53746174757360a01b61315e565b3b151590565b600061341b613584565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161346192919061416c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161349492919061428c565b60206040518083038186803b1580156134ac57600080fd5b505afa1580156134c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dfb919081019061383c565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000670de0b6b3a7640000613524848463ffffffff6119df16565b8161352b57fe5b049392505050565b600080600a830461354a868663ffffffff6119df16565b8161355157fe5b0490506005600a82061061356357600a015b600a9004949350505050565b600061190d66119959541bdbdb60ca1b61315e565b600061190d6e466c657869626c6553746f7261676560881b61315e565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610dfb81614701565b8051610dfb81614701565b60008083601f84011261362357600080fd5b50813567ffffffffffffffff81111561363b57600080fd5b6020830191508360208202830111156119b057600080fd5b8035610dfb81614715565b8051610dfb81614715565b8035610dfb8161471e565b8051610dfb8161471e565b60006020828403121561369157600080fd5b6000610b6f84846135fb565b6000602082840312156136af57600080fd5b6000610b6f8484613606565b600080604083850312156136ce57600080fd5b60006136da85856135fb565b92505060206136eb85828601613669565b9150509250929050565b60008060006060848603121561370a57600080fd5b600061371686866135fb565b935050602061372786828701613669565b925050604061373886828701613669565b9150509250925092565b6000806000806040858703121561375857600080fd5b843567ffffffffffffffff81111561376f57600080fd5b61377b87828801613611565b9450945050602085013567ffffffffffffffff81111561379a57600080fd5b6137a687828801613611565b95989497509550505050565b6000602082840312156137c457600080fd5b6000610b6f8484613653565b6000602082840312156137e257600080fd5b6000610b6f848461365e565b6000806040838503121561380157600080fd5b600061380d858561365e565b92505060206136eb8582860161365e565b60006020828403121561383057600080fd5b6000610b6f8484613669565b60006020828403121561384e57600080fd5b6000610b6f8484613674565b6000806040838503121561386d57600080fd5b60006136da8585613669565b6000806040838503121561388c57600080fd5b60006138988585613674565b92505060206136eb85828601613674565b6000806000606084860312156138be57600080fd5b60006137168686613669565b60006138d68383613969565b505060200190565b6138e78161466e565b82525050565b6138e78161465e565b6138e76139028261465e565b6146e0565b60006139128261463a565b61391c818561463e565b935061392783614634565b8060005b8381101561395557815161393f88826138ca565b975061394a83614634565b92505060010161392b565b509495945050505050565b6138e781614669565b6138e7816108a6565b6138e761397e826108a6565b6108a6565b600061398e8261463a565b6139988185614647565b93506139a8818560208601614680565b9290920192915050565b6138e781614675565b60006139c68261463a565b6139d0818561463e565b93506139e0818560208601614680565b6139e9816146f1565b9093019392505050565b6000613a00600e8361463e565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000613a2a60358361463e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613a8160158361463e565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b6000613ab260198361463e565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000613aeb60148361463e565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613b1b601b8361463e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613b54600e8361463e565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613b7e60208361463e565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000613bb7601e8361463e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613bf0601a8361463e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613c29601183614647565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613c5660128361463e565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613c84602f8361463e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613cd560218361463e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613d18601a8361463e565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000613d5160138361463e565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000613d80601983614647565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613db9600c8361463e565b6b496e76616c6964207261746560a01b815260200192915050565b6000613de160108361463e565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000613e0d600d8361463e565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000613e3660178361463e565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000613e6f602a8361463e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613ebb60178361463e565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b6000613ef460158361463e565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b6000613f2560168361463e565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000613f57601f8361463e565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000613f9060178361463e565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b8051610120830190613fce8482613969565b506020820151613fe160208501826138ed565b506040820151613ff46040850182613969565b5060608201516140076060850182613969565b50608082015161401a6080850182613969565b5060a082015161402d60a0850182613960565b5060c082015161404060c0850182613969565b5060e082015161405360e0850182613969565b5061010082015161078b610100850182613969565b8054610120830190614079816146d2565b6140838582613969565b50506001820154614093816146ac565b6140a060208601826138ed565b505060028201546140b0816146d2565b6140bd6040860182613969565b505060038201546140cd816146d2565b6140da6060860182613969565b505060048201546140ea816146d2565b6140f76080860182613969565b50506005820154614107816146bf565b61411460a0860182613960565b50506006820154614124816146d2565b61413160c0860182613969565b50506007820154614141816146d2565b61414e60e0860182613969565b5050600882015461415e816146d2565b61051b610100860182613969565b60006141788285613972565b60208201915061418882846138f6565b5060140192915050565b6000610a068284613983565b60006141a982613c1c565b91506141b58284613972565b50602001919050565b60006141a982613d73565b60208101610dfb82846138ed565b604081016141e582856138de565b610a0660208301846138ed565b6040810161420082856138de565b610a066020830184613969565b604081016141e582856138ed565b6060810161422982866138ed565b61423660208301856138ed565b610b6f6040830184613969565b6040810161420082856138ed565b60208082528101610df88184613907565b60208101610dfb8284613960565b60208101610dfb8284613969565b604081016141e58285613969565b604081016142008285613969565b604081016142a88285613969565b8181036020830152610b6f81846139bb565b606081016142c88286613969565b6142366020830185613969565b60208101610dfb82846139b2565b60208082528101610df881846139bb565b60208082528101610dfb816139f3565b60208082528101610dfb81613a1d565b60208082528101610dfb81613a74565b60208082528101610dfb81613aa5565b60208082528101610dfb81613ade565b60208082528101610dfb81613b0e565b60208082528101610dfb81613b47565b60208082528101610dfb81613b71565b60208082528101610dfb81613baa565b60208082528101610dfb81613be3565b60208082528101610dfb81613c49565b60208082528101610dfb81613c77565b60208082528101610dfb81613cc8565b60208082528101610dfb81613d0b565b60208082528101610dfb81613d44565b60208082528101610dfb81613dac565b60208082528101610dfb81613dd4565b60208082528101610dfb81613e00565b60208082528101610dfb81613e29565b60208082528101610dfb81613e62565b60208082528101610dfb81613eae565b60208082528101610dfb81613ee7565b60208082528101610dfb81613f18565b60208082528101610dfb81613f4a565b60208082528101610dfb81613f83565b61014081016144938285613fbc565b610a06610120830184613969565b61016081016144b08286613fbc565b6144be610120830185613969565b610b6f610140830184613969565b61014081016144938285614068565b61016081016144b08286614068565b61012081016144f9828c613969565b614506602083018b6138ed565b614513604083018a613969565b6145206060830189613969565b61452d6080830188613969565b61453a60a0830187613960565b61454760c0830186613969565b61455460e0830185613969565b614562610100830184613969565b9a9950505050505050505050565b6080810161457e8287613969565b61458b60208301866138de565b6145986040830185613969565b61130c6060830184613969565b606081016145b38286613969565b6145c06020830185613969565b610b6f6040830184613960565b608081016145db8287613969565b61458b6020830186613969565b60a081016145f68288613969565b6146036020830187613969565b6146106040830186613969565b61461d6060830185613969565b61462a6080830184613969565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610dfb8261464c565b151590565b6000610dfb825b6000610dfb8261465e565b60005b8381101561469b578181015183820152602001614683565b8381111561078b5750506000910152565b6000610dfb6146ba836108a6565b61464c565b6000610dfb6146cd836108a6565b614658565b6000610dfb61397e836108a6565b6000610dfb826000610dfb826146fb565b601f01601f191690565b60601b90565b61470a8161465e565b8114612de657600080fd5b61470a81614669565b61470a816108a656fea365627a7a723158205ba499aac798c0526b761ef00ffad78cf0e39e162ed9fb7d08b170e74d45f5016c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ICollateralManager", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_collateralKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_minCratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_underlyingContract", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_underlyingDecimals", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "canOpenLoans", + "type": "bool" + } + ], + "name": "CanOpenLoansUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "issueFeeRate", + "type": "uint256" + } + ], + "name": "IssueFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "LoanClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanClosedByLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "LoanClosedByRepayment", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "issuanceFee", + "type": "uint256" + } + ], + "name": "LoanCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LoanDrawnDown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanPartiallyLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "repayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountAfter", + "type": "uint256" + } + ], + "name": "LoanRepaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minCollateral", + "type": "uint256" + } + ], + "name": "MinCollateralUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "rewardsContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "addRewardsContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "canOpenLoans", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "close", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "collateralKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "collateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "draw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issueFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "liqAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "loans", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "contract ICollateralManager", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCratio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "open", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repay", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "name": "scaleDownCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "scaledDown", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "name": "scaleUpCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "scaledUp", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_canOpenLoans", + "type": "bool" + } + ], + "name": "setCanOpenLoans", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_issueFeeRate", + "type": "uint256" + } + ], + "name": "setIssueFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "name": "setMinCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortingRewards", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "underlyingContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "underlyingContractDecimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x0549f3a699e35374a6e82bb091e0669ecadc6734c69471357ffa3793ce043a62", + "urls": [ + "bzz-raw://82eccaa0e6bcd3a03155b197ba0b42a33810532be362b3c9d88f9a33c71bd827", + "dweb:/ipfs/QmZRRMuW31brYaNpn6XNjyagyGaXesbfjRvjJDjEssxPQt" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralErc20.sol": "CollateralErc20" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralErc20.sol": { + "keccak256": "0x0549f3a699e35374a6e82bb091e0669ecadc6734c69471357ffa3793ce043a62", + "urls": [ + "bzz-raw://82eccaa0e6bcd3a03155b197ba0b42a33810532be362b3c9d88f9a33c71bd827", + "dweb:/ipfs/QmZRRMuW31brYaNpn6XNjyagyGaXesbfjRvjJDjEssxPQt" + ] + } + }, + "version": 1 + } + }, + "CollateralShort": { + "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b5060405162004c7138038062004c7183398101604081905262000041916200014b565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b815260040162000073906200025c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c991849062000236565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550620002dd975050505050505050565b80516200012b81620002ad565b92915050565b80516200012b81620002c7565b80516200012b81620002d2565b60008060008060008060c087890312156200016557600080fd5b60006200017389896200011e565b96505060206200018689828a016200013e565b95505060406200019989828a016200011e565b9450506060620001ac89828a0162000131565b9350506080620001bf89828a0162000131565b92505060a0620001d289828a0162000131565b9150509295509295509295565b620001ea81620002a0565b82525050565b620001ea8162000277565b60006200020a6019836200026e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002468285620001df565b620002556020830184620001f0565b9392505050565b602080825281016200012b81620001fb565b90815260200190565b60006200012b8262000294565b90565b60006200012b8262000277565b6001600160a01b031690565b60006200012b8262000287565b620002b88162000277565b8114620002c457600080fd5b50565b620002b88162000284565b620002b88162000287565b61498480620002ed6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806379ba509711610130578063981bddf2116100b8578063c799bd5c1161007c578063c799bd5c14610457578063d2b8035a1461046a578063de81eda91461047d578063e1ec3c6814610490578063f93451ed146104b857610227565b8063981bddf21461040e578063a76cdfa514610421578063aa2d8ce314610434578063b562a1ab14610447578063ba2de9bc1461044f57610227565b8063899ffef4116100ff578063899ffef4146103c35780638cd2e0c7146103d85780638da5cb5b146103eb57806390abb4d9146103f3578063925ead111461040657610227565b806379ba5097146103825780637e1323551461038a5780637e9c9b741461039d578063846321a4146103b057610227565b806338245377116101b3578063481c6a7511610182578063481c6a751461033757806353a47bb71461033f5780635eb2ad011461035457806372e18b6a14610367578063741853601461037a57610227565b806338245377146102f65780634065b81b1461030957806341c7380114610311578063441a3e701461032457610227565b80631627540c116101fa5780631627540c1461029357806323d60e2e146102a65780632af64bd3146102b957806330edd961146102ce578063361e2086146102ee57610227565b806304f3bcec1461022c5780630710285c1461024a5780630aebeb4e1461025f5780630efe6a8b14610280575b600080fd5b6102346104cb565b6040516102419190614516565b60405180910390f35b61025d610258366004613a05565b6104da565b005b61027261026d366004613b2e565b610577565b6040516102419291906144cd565b61027261028e366004613a05565b610616565b61025d6102a136600461398f565b610767565b61025d6102b4366004613a52565b6107c5565b6102c161088b565b60405161024191906144a3565b6102e16102dc366004613b2e565b6109a3565b60405161024191906144b1565b6102e16109c1565b6102e1610304366004613b2e565b6109c7565b6102c16109d9565b6102e161031f366004613b2e565b6109e2565b610272610332366004613b6a565b610b01565b610234610ba2565b610347610bb1565b604051610241919061440a565b61025d6103623660046139cb565b610bc0565b6102c1610375366004613a52565b610bf6565b61025d610cba565b61025d610e10565b6102e1610398366004613b6a565b610eac565b6102726103ab366004613b6a565b610f44565b61025d6103be366004613b2e565b610f5d565b6103cb610f9a565b6040516102419190614492565b6102726103e6366004613a05565b61112a565b610347611139565b61025d610401366004613ac2565b611148565b6102e1611194565b61027261041c3660046139cb565b61119a565b61025d61042f366004613b2e565b611233565b6102e1610442366004613b2e565b611270565b6102e1611334565b6102e161133a565b610272610465366004613b2e565b611340565b610272610478366004613b6a565b611365565b61034761048b366004613b2e565b611372565b6104a361049e366004613b2e565b61138d565b604051610241999897969594939291906146fb565b6102e16104c6366004613bb9565b6113e7565b6002546001600160a01b031681565b60006104e7848484611480565b90506104f16117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161051e92919061445b565b602060405180830381600087803b15801561053857600080fd5b505af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105709190810190613ae0565b5050505050565b6000806105843384611803565b90925090506105916117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105be92919061445b565b602060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106109190810190613ae0565b50915091565b6000806106216117e7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161064e929190614418565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190613b4c565b8311156106c65760405162461bcd60e51b81526004016106bd906145e5565b60405180910390fd5b6106ce6117e7565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b81526004016106fd93929190614433565b602060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074f9190810190613ae0565b5061075b8585856118f9565b90969095509350505050565b61076f6119ca565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107ba90839061440a565b60405180910390a150565b6107cd6119ca565b8281146107ec5760405162461bcd60e51b81526004016106bd90614555565b60005b8381101561087c57600085858381811061080557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061085957fe5b6020908102929092013583525081019190915260400160002055506001016107ef565b50610885610cba565b50505050565b60006060610897610f9a565b905060005b81518110156109995760008282815181106108b357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906109049085906004016144b1565b60206040518083038186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095491908101906139ad565b6001600160a01b031614158061097f57506000818152600360205260409020546001600160a01b0316155b1561099057600093505050506109a0565b5060010161089c565b5060019150505b90565b600781815481106109b057fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600d5460ff1681565b60006109ec6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610a776119f6565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610aaa939291906146b2565b60206040518083038186803b158015610ac257600080fd5b505afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afa9190810190613b4c565b9392505050565b600080610b0e8484611a12565b9092509050610b1b6117e7565b6001600160a01b031663a9059cbb33856040518363ffffffff1660e01b8152600401610b4892919061445b565b602060405180830381600087803b158015610b6257600080fd5b505af1158015610b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9a9190810190613ae0565b509250929050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610bc86119ca565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c0a57506000610cb2565b60005b84811015610cac576000868683818110610c2357fe5b9050602002013590508060078381548110610c3a57fe5b906000526020600020015414610c5557600092505050610cb2565b60078281548110610c6257fe5b906000526020600020015460086000878786818110610c7d57fe5b9050602002013581526020019081526020016000205414610ca357600092505050610cb2565b50600101610c0d565b50600190505b949350505050565b6060610cc4610f9a565b905060005b8151811015610e0c576000828281518110610ce057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d2291906143ff565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d4e9291906144db565b60206040518083038186803b158015610d6657600080fd5b505afa158015610d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d9e91908101906139ad565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610dfa90849084906144bf565b60405180910390a15050600101610cc9565b5050565b6001546001600160a01b03163314610e3a5760405162461bcd60e51b81526004016106bd90614545565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610e7d926001600160a01b0391821692911690614476565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610eb66119f6565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610eeb94939291906147e7565b60206040518083038186803b158015610f0357600080fd5b505afa158015610f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3b9190810190613b4c565b90505b92915050565b600080610f52338585611ab6565b909590945092505050565b610f656119ca565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d906107ba9083906144b1565b606080610fa5611d4f565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fe457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061100e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061103457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061105d57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061108357fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b816005815181106110ae57fe5b60200260200101818152505060606110c68383611da0565b905061112281600780548060200260200160405190810160405280929190818152602001828054801561111857602002820191906000526020600020905b815481526020019060010190808311611104575b5050505050611da0565b935050505090565b60008061075b85338686611e5c565b6000546001600160a01b031681565b6111506119ca565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107ba9160ff909116906144a3565b600a5481565b6000806111a56138b1565b5050506000818152600560208181526040928390208351610120810185528154815260018201546001600160a01b0316928101929092526002810154938201849052600381015460608301526004810154608083018190529281015460ff16151560a0830152600681015460c0830152600781015460e08301526008015461010090910152905b9250929050565b61123b6119ca565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906107ba9083906144b1565b600061127a6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526113056119f6565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610aaa929190614695565b60045481565b600b5481565b60008061134d338461200b565b90925090508015611360576105916117e7565b915091565b600080610f5284846120a2565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b60006113f16117e7565b6001600160a01b03166323b872dd3330876040518463ffffffff1660e01b815260040161142093929190614433565b602060405180830381600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114729190810190613ae0565b50610cb284848460016124e4565b600061148a612b8c565b611492612c2e565b600082116114b25760405162461bcd60e51b81526004016106bd90614685565b60006114be8486612c82565b90506114cf33826003015485612cd6565b600a546114da6119f6565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b81526004016115099291906146dd565b60206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115599190810190613b4c565b106115765760405162461bcd60e51b81526004016106bd90614675565b60006115806119f6565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b81526004016115b3939291906146ec565b60206040518083038186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116039190810190613b4c565b905060008482106116145784611616565b815b9050600061163584600601548560040154612d8e90919063ffffffff16565b905080821061165657611649883386612db3565b9550610afa945050505050565b61166533856003015484612cd6565b61166f8483612e24565b6116776119f6565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b81526004016116ac939291906144fb565b60206040518083038186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116fc9190810190613b4c565b6002850154909550611714908663ffffffff61304916565b6002850155600384015460009081526008602052604090205461173690613071565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161176392919061445b565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516117d49493929190614781565b60405180910390a2505050509392505050565b60006117fe6814de5b9d1a1cd554d160ba1b613078565b905090565b60008061180e612b8c565b611816612c2e565b60006118228486612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061189e906130d5565b6118a9858683613122565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f906118e99087906144b1565b60405180910390a2509250929050565b600080611904612b8c565b61190c612c2e565b6000831161192c5760405162461bcd60e51b81526004016106bd90614645565b6000848152600560205260409020600781015461194890613388565b611951816133a5565b6002810154611966908563ffffffff612d8e16565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c916119ab9189918991906144fb565b60405180910390a2806004015481600201549250925050935093915050565b6000546001600160a01b031633146119f45760405162461bcd60e51b81526004016106bd906145c5565b565b60006117fe6d10dbdb1b185d195c985b155d1a5b60921b613078565b600080611a1d612b8c565b611a25612c2e565b6000611a318533612c82565b6002810154909150611a49908563ffffffff61304916565b6002820155611a5781613497565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611a98939291906144fb565b60405180910390a28060040154816002015492509250509250929050565b600080611ac1612b8c565b611ac9612c2e565b6000611ad58587612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611b51906130d5565b60068101546004820154611b6a9163ffffffff612d8e16565b841115611b895760405162461bcd60e51b81526004016106bd906145b5565b611b938185612e24565b600080611b9e6134d0565b6001600160a01b031663f450aa34878560030154631cd554d160e21b6040518463ffffffff1660e01b8152600401611bd8939291906144fb565b60606040518083038186803b158015611bf057600080fd5b505afa158015611c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c289190810190613bda565b5090925090506000611c40838363ffffffff612d8e16565b90506000611c54828463ffffffff612d8e16565b6002860154909150611c6c908263ffffffff61304916565b6002860155611c8283631cd554d160e21b6134e7565b611c8a6117e7565b6001600160a01b0316639dc29fac30836040518363ffffffff1660e01b8152600401611cb7929190614484565b600060405180830381600087803b158015611cd157600080fd5b505af1158015611ce5573d6000803e3d6000fd5b5050426008880155505060048501546040516001600160a01b038c169182917fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f91611d33918e918e916144fb565b60405180910390a3505050506002015492959294509192505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611d9157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611dd0578160200160208202803883390190505b50905060005b8351811015611e1257838181518110611deb57fe5b6020026020010151828281518110611dff57fe5b6020908102919091010152600101611dd6565b5060005b8251811015611e5557828181518110611e2b57fe5b6020026020010151828286510181518110611e4257fe5b6020908102919091010152600101611e16565b5092915050565b600080611e67612b8c565b611e6f612c2e565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152611ef9906130d5565b611f0886826003015486612cd6565b611f11816133a5565b611f1b8185612e24565b6003810154600090815260086020526040902054611f3890613071565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401611f65929190614484565b600060405180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f87878560040154604051611feb939291906144fb565b60405180910390a380600401548160020154925092505094509492505050565b600080600061201a8486612c82565b9050600061203982600601548360040154612d8e90919063ffffffff16565b9050612046868683611ab6565b90945092506120548261369d565b856001600160a01b03167f70346f402be1b9ee8737498472823400f3a14730d534d309f1d2d365ca7511e6868686604051612091939291906144fb565b60405180910390a250509250929050565b6000806120ad612b8c565b6120b5612c2e565b60006120c18533612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061213d906130d5565b6004810154612152908563ffffffff612d8e16565b600482015561216081613497565b6000612177600c54866136c290919063ffffffff16565b9050600061218b868363ffffffff61304916565b600584015490915060ff161561239857600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c1916121d0918a906004016144cd565b600060405180830381600087803b1580156121ea57600080fd5b505af11580156121fe573d6000803e3d6000fd5b5050505061220a6117e7565b6001600160a01b031663867904b4336122216136d7565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b815260040161225b939291906144fb565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122ab9190810190613b4c565b6040518363ffffffff1660e01b81526004016122c892919061445b565b600060405180830381600087803b1580156122e257600080fd5b505af11580156122f6573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156123935760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906123609033908a9060040161445b565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505b61247c565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde916123cd918a906004016144cd565b600060405180830381600087803b1580156123e757600080fd5b505af11580156123fb573d6000803e3d6000fd5b505050600384015460009081526008602052604090205461241c9150613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161244992919061445b565b600060405180830381600087803b15801561246357600080fd5b505af1158015612477573d6000803e3d6000fd5b505050505b61248a8284600301546134e7565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654906124c4908a908a906144cd565b60405180910390a282600401548360020154945094505050509250929050565b60006124ee612b8c565b6124f6612c2e565b600d5460ff166125185760405162461bcd60e51b81526004016106bd90614635565b6000838152600860205260409020546125435760405162461bcd60e51b81526004016106bd90614565565b61254b6136d7565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161257691906144b1565b60206040518083038186803b15801561258e57600080fd5b505afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c69190810190613ae0565b156125e35760405162461bcd60e51b81526004016106bd90614615565b600b548510156126055760405162461bcd60e51b81526004016106bd90614665565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb409061263c90899089906004016144cd565b604080518083038186803b15801561265357600080fd5b505afa158015612667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061268b9190810190613afe565b9150915081801561269a575080155b6126b65760405162461bcd60e51b81526004016106bd906145f5565b6126c08786610eac565b8611156126df5760405162461bcd60e51b81526004016106bd90614655565b60006126f6600c54886136c290919063ffffffff16565b9050600061270a888363ffffffff61304916565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127949190810190613b4c565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061285e906133a5565b61286882886134e7565b8515612a5b576128766117e7565b6001600160a01b031663867904b43361288d6136d7565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016128c3939291906144fb565b60206040518083038186803b1580156128db57600080fd5b505afa1580156128ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129139190810190613b4c565b6040518363ffffffff1660e01b815260040161293092919061445b565b600060405180830381600087803b15801561294a57600080fd5b505af115801561295e573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c19150612994908a908c906004016144cd565b600060405180830381600087803b1580156129ae57600080fd5b505af11580156129c2573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b0316159050612a56576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612a239033908c9060040161445b565b600060405180830381600087803b158015612a3d57600080fd5b505af1158015612a51573d6000803e3d6000fd5b505050505b612b37565b600087815260086020526040902054612a7390613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612aa092919061445b565b600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150612b04908a908c906004016144cd565b600060405180830381600087803b158015612b1e57600080fd5b505af1158015612b32573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b87604051612b78959493929190614802565b60405180910390a250505050949350505050565b612b946136d7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612bc191906144b1565b60206040518083038186803b158015612bd957600080fd5b505afa158015612bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c119190810190613ae0565b156119f45760405162461bcd60e51b81526004016106bd90614615565b612c366136f2565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c6e57600080fd5b505afa158015610885573d6000803e3d6000fd5b60008281526005602052604090206007810154612c9e90613388565b60018101546001600160a01b03838116911614612ccd5760405162461bcd60e51b81526004016106bd90614625565b610f3e816133a5565b6000828152600860205260409020548190612cf090613071565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612d1b919061440a565b60206040518083038186803b158015612d3357600080fd5b505afa158015612d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6b9190810190613b4c565b1015612d895760405162461bcd60e51b81526004016106bd906145a5565b505050565b600082820183811015610f3b5760405162461bcd60e51b81526004016106bd90614575565b600080612dc1858585613122565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612e14939291906144fb565b60405180910390a3935093915050565b60008111612e445760405162461bcd60e51b81526004016106bd90614685565b600682015415612ea657600082600601548211612e615781612e67565b82600601545b6006840154909150612e7f908263ffffffff61304916565b6006840155612e94828263ffffffff61304916565b9150612ea48184600301546134e7565b505b8015610e0c576004820154612ec1908263ffffffff61304916565b6004830155600582015460ff1615612fde576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612f089185906004016144cd565b600060405180830381600087803b158015612f2257600080fd5b505af1158015612f36573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612fd957600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612fa692911690859060040161445b565b600060405180830381600087803b158015612fc057600080fd5b505af1158015612fd4573d6000803e3d6000fd5b505050505b610e0c565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b3916130139185906004016144cd565b600060405180830381600087803b15801561302d57600080fd5b505af1158015613041573d6000803e3d6000fd5b505050505050565b60008282111561306b5760405162461bcd60e51b81526004016106bd90614595565b50900390565b6000610f3e825b60008181526003602090815260408083205490516001600160a01b0390911691821515916130a8918691016143df565b60405160208183030381529060405290611e555760405162461bcd60e51b81526004016106bd9190614524565b6130e28160e00151613388565b426131016130ef3061370c565b6101008401519063ffffffff612d8e16565b111561311f5760405162461bcd60e51b81526004016106bd90614605565b50565b600080600061314284600601548560040154612d8e90919063ffffffff16565b9050836004015492508360020154915061316185856003015483612cd6565b600384015460009081526008602052604090205461317e90613071565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016131ab929190614484565b600060405180830381600087803b1580156131c557600080fd5b505af11580156131d9573d6000803e3d6000fd5b50505050600584015460ff16156132f7576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361322493909291016144cd565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156132f25760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926132bf928b929101614484565b600060405180830381600087803b1580156132d957600080fd5b505af11580156132ed573d6000803e3d6000fd5b505050505b613364565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b39361333193909291016144cd565b600060405180830381600087803b15801561334b57600080fd5b505af115801561335f573d6000803e3d6000fd5b505050505b613376846006015485600301546134e7565b61337f8461369d565b50935093915050565b8061311f5760405162461bcd60e51b81526004016106bd90614585565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936133ed9360ff909116906004016147bf565b6040805180830381600087803b15801561340657600080fd5b505af115801561341a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061343e9190810190613b89565b915091506000836007015460001461346a576004840154613465908463ffffffff6137df16565b61346d565b60005b6006850154909150613485908263ffffffff612d8e16565b60068501555060079092019190915550565b60048101546134a55761311f565b600a5481546134b390611270565b1161311f5760405162461bcd60e51b81526004016106bd90614535565b60006117fe6822bc31b430b733b2b960b91b613078565b8115610e0c57631cd554d160e21b811461358c576135036136d7565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401613539939291906144fb565b60206040518083038186803b15801561355157600080fd5b505afa158015613565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135899190810190613b4c565b91505b6135946117e7565b6001600160a01b031663867904b46135aa613809565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e257600080fd5b505afa1580156135f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061361a91908101906139ad565b846040518363ffffffff1660e01b8152600401613638929190614484565b600060405180830381600087803b15801561365257600080fd5b505af1158015613666573d6000803e3d6000fd5b50505050613672613809565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161301391906144b1565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000610f3b8383670de0b6b3a764000061381e565b60006117fe6c45786368616e6765526174657360981b613078565b60006117fe6b53797374656d53746174757360a01b613078565b600061371661385a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161375c9291906143b9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161378f9291906144cd565b60206040518083038186803b1580156137a757600080fd5b505afa1580156137bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3e9190810190613b4c565b6000670de0b6b3a76400006137fa848463ffffffff61387716565b8161380157fe5b049392505050565b60006117fe66119959541bdbdb60ca1b613078565b600080600a8304613835868663ffffffff61387716565b8161383c57fe5b0490506005600a82061061384e57600a015b600a9004949350505050565b60006117fe6e466c657869626c6553746f7261676560881b613078565b60008261388657506000610f3e565b8282028284828161389357fe5b0414610f3b5760405162461bcd60e51b81526004016106bd906145d5565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f3e8161491b565b8051610f3e8161491b565b60008083601f84011261393357600080fd5b50813567ffffffffffffffff81111561394b57600080fd5b60208301915083602082028301111561122c57600080fd5b8035610f3e8161492f565b8051610f3e8161492f565b8035610f3e81614938565b8051610f3e81614938565b6000602082840312156139a157600080fd5b6000610cb2848461390b565b6000602082840312156139bf57600080fd5b6000610cb28484613916565b600080604083850312156139de57600080fd5b60006139ea858561390b565b92505060206139fb85828601613979565b9150509250929050565b600080600060608486031215613a1a57600080fd5b6000613a26868661390b565b9350506020613a3786828701613979565b9250506040613a4886828701613979565b9150509250925092565b60008060008060408587031215613a6857600080fd5b843567ffffffffffffffff811115613a7f57600080fd5b613a8b87828801613921565b9450945050602085013567ffffffffffffffff811115613aaa57600080fd5b613ab687828801613921565b95989497509550505050565b600060208284031215613ad457600080fd5b6000610cb28484613963565b600060208284031215613af257600080fd5b6000610cb2848461396e565b60008060408385031215613b1157600080fd5b6000613b1d858561396e565b92505060206139fb8582860161396e565b600060208284031215613b4057600080fd5b6000610cb28484613979565b600060208284031215613b5e57600080fd5b6000610cb28484613984565b60008060408385031215613b7d57600080fd5b60006139ea8585613979565b60008060408385031215613b9c57600080fd5b6000613ba88585613984565b92505060206139fb85828601613984565b600080600060608486031215613bce57600080fd5b6000613a268686613979565b600080600060608486031215613bef57600080fd5b6000613bfb8686613984565b9350506020613c0c86828701613984565b9250506040613a4886828701613984565b6000613c298383613cbc565b505060200190565b613c3a81614888565b82525050565b613c3a81614878565b613c3a613c5582614878565b6148fa565b6000613c6582614854565b613c6f8185614858565b9350613c7a8361484e565b8060005b83811015613ca8578151613c928882613c1d565b9750613c9d8361484e565b925050600101613c7e565b509495945050505050565b613c3a81614883565b613c3a816109a0565b613c3a613cd1826109a0565b6109a0565b613c3a8161488f565b6000613cea82614854565b613cf48185614858565b9350613d0481856020860161489a565b613d0d8161490b565b9093019392505050565b6000613d24600e83614858565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000613d4e603583614858565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613da5601583614858565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b6000613dd6601483614858565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613e06601b83614858565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e3f600e83614858565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613e69601e83614858565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613ea2601183614861565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613ecf601283614858565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613efd601083614858565b6f0a0c2f2dacadce840e8dede40d0d2ced60831b815260200192915050565b6000613f29602f83614858565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f7a602183614858565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fbd601183614858565b70416c6c6f77616e636520746f6f206c6f7760781b815260200192915050565b6000613fea601a83614858565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000614023601383614858565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000614052601983614861565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061408b600c83614858565b6b496e76616c6964207261746560a01b815260200192915050565b60006140b3601083614858565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b60006140df600d83614858565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000614108601783614858565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000614141601783614858565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b600061417a601583614858565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b60006141ab601683614858565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b60006141dd601783614858565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b805161012083019061421b8482613cbc565b50602082015161422e6020850182613c40565b5060408201516142416040850182613cbc565b5060608201516142546060850182613cbc565b5060808201516142676080850182613cbc565b5060a082015161427a60a0850182613cb3565b5060c082015161428d60c0850182613cbc565b5060e08201516142a060e0850182613cbc565b50610100820151610885610100850182613cbc565b80546101208301906142c6816148ec565b6142d08582613cbc565b505060018201546142e0816148c6565b6142ed6020860182613c40565b505060028201546142fd816148ec565b61430a6040860182613cbc565b5050600382015461431a816148ec565b6143276060860182613cbc565b50506004820154614337816148ec565b6143446080860182613cbc565b50506005820154614354816148d9565b61436160a0860182613cb3565b50506006820154614371816148ec565b61437e60c0860182613cbc565b5050600782015461438e816148ec565b61439b60e0860182613cbc565b505060088201546143ab816148ec565b610570610100860182613cbc565b60006143c58285613cc5565b6020820191506143d58284613c49565b5060140192915050565b60006143ea82613e95565b91506143f68284613cc5565b50602001919050565b60006143ea82614045565b60208101610f3e8284613c40565b604081016144268285613c31565b610afa6020830184613c40565b606081016144418286613c31565b61444e6020830185613c40565b610cb26040830184613cbc565b604081016144698285613c31565b610afa6020830184613cbc565b604081016144268285613c40565b604081016144698285613c40565b60208082528101610f3b8184613c5a565b60208101610f3e8284613cb3565b60208101610f3e8284613cbc565b604081016144268285613cbc565b604081016144698285613cbc565b604081016144e98285613cbc565b8181036020830152610cb28184613cdf565b606081016145098286613cbc565b61444e6020830185613cbc565b60208101610f3e8284613cd6565b60208082528101610f3b8184613cdf565b60208082528101610f3e81613d17565b60208082528101610f3e81613d41565b60208082528101610f3e81613d98565b60208082528101610f3e81613dc9565b60208082528101610f3e81613df9565b60208082528101610f3e81613e32565b60208082528101610f3e81613e5c565b60208082528101610f3e81613ec2565b60208082528101610f3e81613ef0565b60208082528101610f3e81613f1c565b60208082528101610f3e81613f6d565b60208082528101610f3e81613fb0565b60208082528101610f3e81613fdd565b60208082528101610f3e81614016565b60208082528101610f3e8161407e565b60208082528101610f3e816140a6565b60208082528101610f3e816140d2565b60208082528101610f3e816140fb565b60208082528101610f3e81614134565b60208082528101610f3e8161416d565b60208082528101610f3e8161419e565b60208082528101610f3e816141d0565b61014081016146a48285614209565b610afa610120830184613cbc565b61016081016146c18286614209565b6146cf610120830185613cbc565b610cb2610140830184613cbc565b61014081016146a482856142b5565b61016081016146c182866142b5565b610120810161470a828c613cbc565b614717602083018b613c40565b614724604083018a613cbc565b6147316060830189613cbc565b61473e6080830188613cbc565b61474b60a0830187613cb3565b61475860c0830186613cbc565b61476560e0830185613cbc565b614773610100830184613cbc565b9a9950505050505050505050565b6080810161478f8287613cbc565b61479c6020830186613c31565b6147a96040830185613cbc565b6147b66060830184613cbc565b95945050505050565b606081016147cd8286613cbc565b6147da6020830185613cbc565b610cb26040830184613cb3565b608081016147f58287613cbc565b61479c6020830186613cbc565b60a081016148108288613cbc565b61481d6020830187613cbc565b61482a6040830186613cbc565b6148376060830185613cbc565b6148446080830184613cbc565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f3e82614866565b151590565b6000610f3e825b6000610f3e82614878565b60005b838110156148b557818101518382015260200161489d565b838111156108855750506000910152565b6000610f3e6148d4836109a0565b614866565b6000610f3e6148e7836109a0565b614872565b6000610f3e613cd1836109a0565b6000610f3e826000610f3e82614915565b601f01601f191690565b60601b90565b61492481614878565b811461311f57600080fd5b61492481614883565b614924816109a056fea365627a7a723158203b9554cf14ae2d1fb9cfd26d257949d3aa3ab882db0be81afdf1a0dc1393ed0c6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "contract ICollateralManager", + "name": "_manager", + "type": "address" + }, + { + "internalType": "address", + "name": "_resolver", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_collateralKey", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_minCratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "CacheUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "canOpenLoans", + "type": "bool" + } + ], + "name": "CanOpenLoansUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "CollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "issueFeeRate", + "type": "uint256" + } + ], + "name": "IssueFeeRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "LoanClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanClosedByLiquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAfter", + "type": "uint256" + } + ], + "name": "LoanClosedByRepayment", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "issuanceFee", + "type": "uint256" + } + ], + "name": "LoanCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LoanDrawnDown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + } + ], + "name": "LoanPartiallyLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "repayer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountRepaid", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountAfter", + "type": "uint256" + } + ], + "name": "LoanRepaymentMade", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minCollateral", + "type": "uint256" + } + ], + "name": "MinCollateralUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "rewardsContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "synth", + "type": "bytes32" + } + ], + "name": "addRewardsContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "addSynths", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_synthNamesInResolver", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "_synthKeys", + "type": "bytes32[]" + } + ], + "name": "areSynthsAndCurrenciesSet", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "canOpenLoans", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "close", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "closeWithCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "collateralKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "collateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "draw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "getShortAndCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isResolverCached", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "issueFeeRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "liquidationAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "liqAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "loans", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "short", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "accruedInterest", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "interestIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteraction", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "manager", + "outputs": [ + { + "internalType": "contract ICollateralManager", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "maxLoan", + "outputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minCratio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "currency", + "type": "bytes32" + } + ], + "name": "open", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebuildCache", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repay", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "repayWithCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "internalType": "contract AddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolverAddressesRequired", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "addresses", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "_canOpenLoans", + "type": "bool" + } + ], + "name": "setCanOpenLoans", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_issueFeeRate", + "type": "uint256" + } + ], + "name": "setIssueFeeRate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_minCollateral", + "type": "uint256" + } + ], + "name": "setMinCollateral", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "shortingRewards", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "synths", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "synthsByKey", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "principal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateral", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73", + "urls": [ + "bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0", + "dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "CollateralShort.sol": "CollateralShort" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "CollateralShort.sol": { + "keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73", + "urls": [ + "bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0", + "dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP" + ] + } + }, + "version": 1 + } + }, + "EmptyFuturesMarketManager": { + "bytecode": "608060405234801561001057600080fd5b506103f1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063c03852fb1161008c578063f607d90011610066578063f607d90014610307578063fb77549c1461025c578063fc7b9c1814610326578063fe11edc914610347576100e9565b8063c03852fb1461023d578063ca0798851461025c578063e63bfadb146102ce576100e9565b80634dc25348116100c85780634dc25348146101c8578063614d08f8146101d057806395fafa4a146101d8578063a237e94d14610203576100e9565b80628d3aca146100ee57806326e04f9d146101ae578063375a7cba146101c8575b600080fd5b61015e6004803603602081101561010457600080fd5b81019060208101813564010000000081111561011f57600080fd5b82018360208201111561013157600080fd5b8035906020019184602083028401116401000000008311171561015357600080fd5b509092509050610366565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019a578181015183820152602001610182565b505050509050019250505060405180910390f35b6101b661036e565b60408051918252519081900360200190f35b61015e610373565b6101b6610378565b61015e600480360360608110156101ee57600080fd5b5080359060208101359060400135151561039c565b6102296004803603602081101561021957600080fd5b50356001600160a01b03166103a5565b604080519115158252519081900360200190f35b6101b66004803603602081101561025357600080fd5b503515156103a5565b6102cc6004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b5090925090506103ab565b005b6102eb600480360360208110156102e457600080fd5b50356103a5565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561031d57600080fd5b503515156103af565b61032e6103b5565b6040805192835290151560208301528051918290030190f35b61015e6004803603604081101561035d57600080fd5b50803590602001355b606092915050565b600090565b606090565b7f456d707479467574757265734d61726b65744d616e616765720000000000000081565b60609392505050565b50600090565b5050565b50606090565b600080909156fea265627a7a723158205d30171eaccaddd378650539b227355ad13e075093b3396254c4a78cb46e745a64736f6c63430005100032", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "CONTRACT_NAME", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "addEndorsedAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allEndorsedAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allMarkets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bool", + "name": "proxiedMarkets", + "type": "bool" + } + ], + "name": "allMarkets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isEndorsed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "marketKey", + "type": "bytes32" + } + ], + "name": "marketForKey", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "proxiedMarkets", + "type": "bool" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "pageSize", + "type": "uint256" + } + ], + "name": "markets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "marketKeys", + "type": "bytes32[]" + } + ], + "name": "marketsForKeys", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "numMarkets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bool", + "name": "proxiedMarkets", + "type": "bool" + } + ], + "name": "numMarkets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "name": "removeEndorsedAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isInvalid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f", + "urls": [ + "bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc", + "dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "EmptyFuturesMarketManager.sol": "EmptyFuturesMarketManager" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "EmptyFuturesMarketManager.sol": { + "keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f", + "urls": [ + "bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc", + "dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh" + ] + } + }, + "version": 1 + } + }, + "SynthUtil": { + "bytecode": "608060405234801561001057600080fd5b50604051620012fa380380620012fa83398101604081905261003191610067565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b5565b80516100618161009e565b92915050565b60006020828403121561007957600080fd5b60006100858484610056565b949350505050565b60006001600160a01b038216610061565b6100a78161008d565b81146100b257600080fd5b50565b61123580620000c56000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630120be331461005c57806327fe55a614610085578063492dbcdd1461009b578063a827bf48146100b2578063d18ab376146100c5575b600080fd5b61006f61006a366004610e0c565b6100da565b60405161007c919061113b565b60405180910390f35b61008d610377565b60405161007c929190611060565b6100a361048b565b60405161007c93929190611085565b6100a36100c0366004610dc8565b610825565b6100cd610bca565b60405161007c919061112d565b6000806100e5610bd9565b905060006100f1610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561012e57600080fd5b505afa158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101669190810190610eb0565b905060005b8181101561036c576040516320d7846760e21b81526000906001600160a01b0386169063835e119c906101a290859060040161113b565b60206040518083038186803b1580156101ba57600080fd5b505afa1580156101ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101f29190810190610ece565b9050836001600160a01b031663654a60ac826001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561023c57600080fd5b505afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102749190810190610eb0565b6040516370a0823160e01b81526001600160a01b038516906370a08231906102a0908e9060040161103a565b60206040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f09190810190610eb0565b8a6040518463ffffffff1660e01b815260040161030f93929190611105565b60206040518083038186803b15801561032757600080fd5b505afa15801561033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035f9190810190610eb0565b909501945060010161016b565b505050505b92915050565b6060806060610384610bd9565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f89190810190610e46565b905080610403610c6b565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b815260040161042e9190611048565b60006040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104829190810190610e7b565b92509250509091565b6060806060600061049a610bd9565b905060006104a6610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061051b9190810190610eb0565b9050606081604051908082528060200260200182016040528015610549578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610578578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156105a7578160200160208202803883390190505b50905060005b84811015610815576040516320d7846760e21b81526000906001600160a01b0389169063835e119c906105e490859060040161113b565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106349190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561066f57600080fd5b505afa158015610683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a79190810190610eb0565b8583815181106106b357fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f857600080fd5b505afa15801561070c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107309190810190610eb0565b84838151811061073c57fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061076357fe5b602002602001015186858151811061077757fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b81526004016107a593929190611105565b60206040518083038186803b1580156107bd57600080fd5b505afa1580156107d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107f59190810190610eb0565b83838151811061080157fe5b6020908102919091010152506001016105ad565b5091975095509350505050909192565b60608060606000610834610bd9565b90506000610840610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b59190810190610eb0565b90506060816040519080825280602002602001820160405280156108e3578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610912578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610941578160200160208202803883390190505b50905060005b84811015610bb9576040516320d7846760e21b81526000906001600160a01b0389169063835e119c9061097e90859060040161113b565b60206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ce9190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a419190810190610eb0565b858381518110610a4d57fe5b60209081029190910101526040516370a0823160e01b81526001600160a01b038216906370a0823190610a84908f9060040161103a565b60206040518083038186803b158015610a9c57600080fd5b505afa158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad49190810190610eb0565b848381518110610ae057fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610b0757fe5b6020026020010151868581518110610b1b57fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b8152600401610b4993929190611105565b60206040518083038186803b158015610b6157600080fd5b505afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b999190810190610eb0565b838381518110610ba557fe5b602090810291909101015250600101610947565b509199909850909650945050505050565b6000546001600160a01b031681565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c1690680a6f2dce8d0cae8d2f60bb1b906004016110c7565b60206040518083038186803b158015610c2e57600080fd5b505afa158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c669190810190610dee565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c16906c45786368616e6765526174657360981b906004016110e6565b8035610371816111c9565b8051610371816111c9565b600082601f830112610cd357600080fd5b8151610ce6610ce182611170565b611149565b91508181835260208401935060208101905083856020840282011115610d0b57600080fd5b60005b8381101561036c5781610d218882610db2565b8452506020928301929190910190600101610d0e565b600082601f830112610d4857600080fd5b8151610d56610ce182611170565b91508181835260208401935060208101905083856020840282011115610d7b57600080fd5b60005b8381101561036c5781610d918882610db2565b8452506020928301929190910190600101610d7e565b8035610371816111e0565b8051610371816111e0565b8051610371816111e9565b600060208284031215610dda57600080fd5b6000610de68484610cac565b949350505050565b600060208284031215610e0057600080fd5b6000610de68484610cb7565b60008060408385031215610e1f57600080fd5b6000610e2b8585610cac565b9250506020610e3c85828601610da7565b9150509250929050565b600060208284031215610e5857600080fd5b815167ffffffffffffffff811115610e6f57600080fd5b610de684828501610cc2565b600060208284031215610e8d57600080fd5b815167ffffffffffffffff811115610ea457600080fd5b610de684828501610d37565b600060208284031215610ec257600080fd5b6000610de68484610db2565b600060208284031215610ee057600080fd5b6000610de68484610dbd565b6000610ef88383610fb6565b505060200190565b610f09816111a4565b82525050565b6000610f1a82611197565b610f24818561119b565b9350610f2f83611191565b8060005b83811015610f5d578151610f478882610eec565b9750610f5283611191565b925050600101610f33565b509495945050505050565b6000610f7382611197565b610f7d818561119b565b9350610f8883611191565b8060005b83811015610f5d578151610fa08882610eec565b9750610fab83611191565b925050600101610f8c565b610f09816111af565b610f09816111b2565b6000610fd560198361119b565b7f4d697373696e672053796e746865746978206164647265737300000000000000815260200192915050565b600061100e601d8361119b565b7f4d697373696e672045786368616e676552617465732061646472657373000000815260200192915050565b602081016103718284610f00565b602080825281016110598184610f0f565b9392505050565b604080825281016110718185610f0f565b90508181036020830152610de68184610f68565b606080825281016110968186610f0f565b905081810360208301526110aa8185610f68565b905081810360408301526110be8184610f68565b95945050505050565b604081016110d58284610fb6565b818103602083015261105981610fc8565b604081016110f48284610fb6565b818103602083015261105981611001565b606081016111138286610fb6565b6111206020830185610fb6565b610de66040830184610fb6565b602081016103718284610fbf565b602081016103718284610fb6565b60405181810167ffffffffffffffff8111828210171561116857600080fd5b604052919050565b600067ffffffffffffffff82111561118757600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610371826111bd565b90565b6000610371826111a4565b6001600160a01b031690565b6111d2816111a4565b81146111dd57600080fd5b50565b6111d2816111af565b6111d2816111b256fea365627a7a72315820776bc92f7533711da19384db2e9d6863204dd36d02eee35a26d86663983b241e6c6578706572696d656e74616cf564736f6c63430005100040", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [], + "name": "addressResolverProxy", + "outputs": [ + { + "internalType": "contract IAddressResolver", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "synthsBalances", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthsRates", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "synthsTotalSupplies", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "currencyKey", + "type": "bytes32" + } + ], + "name": "totalSynthsInKey", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "source": { + "keccak256": "0x4cb926577388013534f10b2e2da794e0566b2dfa1ac6da6595a4701bd98c2cd2", + "urls": [ + "bzz-raw://b614c6bfc444b283a378725ef8b8a7303d576ea13b0f2a5ba86f0df32c2bdc56", + "dweb:/ipfs/QmbvxpDmhTp2qFSRfPYWfZH2Z3hnPNGXMPcxoXoKVqoroh" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "SynthUtil.sol": "SynthUtil" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "SynthUtil.sol": { + "keccak256": "0x4cb926577388013534f10b2e2da794e0566b2dfa1ac6da6595a4701bd98c2cd2", + "urls": [ + "bzz-raw://b614c6bfc444b283a378725ef8b8a7303d576ea13b0f2a5ba86f0df32c2bdc56", + "dweb:/ipfs/QmbvxpDmhTp2qFSRfPYWfZH2Z3hnPNGXMPcxoXoKVqoroh" + ] + } + }, + "version": 1 + } + }, + "DappMaintenance": { + "bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582098904cebe8ef8aefb47c931ce1314c75c778876cff249d62011f743b58b418af64736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "SXMaintenance", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "StakingMaintenance", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isPausedSX", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isPausedStaking", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "setMaintenanceModeAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "setMaintenanceModeSX", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "setMaintenanceModeStaking", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "source": { + "keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3", + "urls": [ + "bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66", + "dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv" + ] + }, + "metadata": { + "compiler": { + "version": "0.5.16+commit.9c3226ce" + }, + "language": "Solidity", + "settings": { + "compilationTarget": { + "DappMaintenance.sol": "DappMaintenance" + }, + "evmVersion": "istanbul", + "libraries": {}, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "DappMaintenance.sol": { + "keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3", + "urls": [ + "bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66", + "dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv" + ] + } + }, + "version": 1 + } + } + } } diff --git a/publish/src/commands/deploy/configure-reward-escrow.js b/publish/src/commands/deploy/configure-reward-escrow.js index 94078a2e49..f6cba1f282 100644 --- a/publish/src/commands/deploy/configure-reward-escrow.js +++ b/publish/src/commands/deploy/configure-reward-escrow.js @@ -15,6 +15,8 @@ module.exports = async ({ addressOf, deployer, runStep }) => { // Synthetix, RewardEscrowV2Storage, RewardEscrowV2Frozen, + LiquidatorRewards, + DebtMigrator, } = deployer.deployedContracts; // SIP-252 rewards escrow migration @@ -102,4 +104,28 @@ module.exports = async ({ addressOf, deployer, runStep }) => { writeArg: addressOf(RewardEscrowV2), comment: 'Ensure the RewardsDistribution can read the RewardEscrowV2 address', }); + + if (DebtMigrator) { + await runStep({ + contract: 'RewardEscrowV2', + target: RewardEscrowV2, + read: 'permittedEscrowCreators', + readArg: addressOf(DebtMigrator), + expected: input => input, + write: 'setPermittedEscrowCreator', + writeArg: [addressOf(DebtMigrator), true], + comment: 'Allow escrow entry creation by DebtMigrator', + }); + } + + await runStep({ + contract: 'RewardEscrowV2', + target: RewardEscrowV2, + read: 'permittedEscrowCreators', + readArg: addressOf(LiquidatorRewards), + expected: input => input, + write: 'setPermittedEscrowCreator', + writeArg: [addressOf(LiquidatorRewards), true], + comment: 'Allow escrow entry creation by LiquidatorRewards', + }); }; diff --git a/test/contracts/BaseSynthetix.js b/test/contracts/BaseSynthetix.js index f60cbf6e0e..37e32fc2e8 100644 --- a/test/contracts/BaseSynthetix.js +++ b/test/contracts/BaseSynthetix.js @@ -119,7 +119,6 @@ contract('BaseSynthetix', async accounts => { 'mint', 'mintSecondary', 'mintSecondaryRewards', - 'revokeAllEscrow', 'settle', 'transfer', 'transferFrom', @@ -617,6 +616,7 @@ contract('BaseSynthetix', async accounts => { beforeEach(async () => { // give the account some balance to test with await baseSynthetixProxy.transfer(account3, toUnit('200'), { from: owner }); + await rewardEscrowV2.setPermittedEscrowCreator(owner, true, { from: owner }); await rewardEscrowV2.createEscrowEntry(account3, toUnit('100'), 1, { from: owner }); assert.bnEqual(await baseSynthetixImpl.collateral(account3), toUnit('300')); @@ -643,20 +643,6 @@ contract('BaseSynthetix', async accounts => { }); }); - // SIP-299 - describe('revokeAllEscrow', () => { - it('restricted to legacy market', async () => { - await addressResolver.importAddresses(['LegacyMarket'].map(toBytes32), [account2], { - from: owner, - }); - await rewardEscrowV2.createEscrowEntry(account1, toUnit('100'), 1, { from: owner }); - await assert.revert( - baseSynthetixImpl.revokeAllEscrow(account1, { from: owner }), - 'Only LegacyMarket can revoke escrow' - ); - }); - }); - it('should transfer when legacy market address is non-zero', async () => { await addressResolver.importAddresses(['LegacyMarket'].map(toBytes32), [account2], { from: owner, diff --git a/test/legacy/BaseRewardEscrowV2.js b/test/legacy/BaseRewardEscrowV2.js index fb957192db..3997fda516 100644 --- a/test/legacy/BaseRewardEscrowV2.js +++ b/test/legacy/BaseRewardEscrowV2.js @@ -11,6 +11,7 @@ const { ensureOnlyExpectedMutativeFunctions, getDecodedLogs, decodedEventEqual, + onlyGivenAddressCanInvoke, } = require('../contracts/helpers'); const { toUnit, currentTime, fastForward } = require('../utils')(); @@ -125,6 +126,7 @@ contract('BaseRewardEscrowV2', async accounts => { from: owner, }); // update the resolver for baseRewardEscrowV2 + console.log(baseRewardEscrowV2.address, resolver.address); await baseRewardEscrowV2.rebuildCache({ from: owner }); }); @@ -145,6 +147,7 @@ contract('BaseRewardEscrowV2', async accounts => { 'burnForMigration', 'importVestingEntries', 'createEscrowEntry', + 'setPermittedEscrowCreator', 'vest', 'revokeFrom', ], @@ -309,6 +312,27 @@ contract('BaseRewardEscrowV2', async accounts => { }); }); + describe('setPermissionedCreator', () => { + it('only allows owner', async () => { + await onlyGivenAddressCanInvoke({ + fnc: baseRewardEscrowV2.setPermissionedEscrowCreator, + args: [account1, true], + accounts, + reason: 'Only permitted escrow creators', + }); + }); + + describe('succesful call', () => { + before('set', async () => { + await baseRewardEscrowV2.setPermissionedEscrowCreator(owner, true, { from: owner }); + }); + + it('marks as permissioned', async () => { + assert.isTrue(await baseRewardEscrowV2.permissionedEscrowCreators(owner)); + }); + }); + }); + describe('Creating a new escrow entry by approval', async () => { let duration, entryID; beforeEach(async () => { @@ -322,6 +346,8 @@ contract('BaseRewardEscrowV2', async accounts => { mocks['Synthetix'].balanceOf.returns(parseEther('10')); duration = 1 * YEAR; + + await baseRewardEscrowV2.setPermissionedEscrowCreator(owner, true, { from: owner }); }); assertWithFallback('should revert if escrow duration is greater than max_duration', async e => { const maxDuration = await baseRewardEscrowV2.max_duration(); From c961a2a181f0ab2b7bbeba9ae900448d8d6c88bd Mon Sep 17 00:00:00 2001 From: Daniel Beal Date: Thu, 13 Jul 2023 13:26:04 -0700 Subject: [PATCH 02/43] fix msg sender should be target on migrate func --- contracts/BaseSynthetix.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/BaseSynthetix.sol b/contracts/BaseSynthetix.sol index 08d6917516..f681782211 100644 --- a/contracts/BaseSynthetix.sol +++ b/contracts/BaseSynthetix.sol @@ -463,14 +463,14 @@ contract BaseSynthetix is IERC20, ExternStateToken, MixinResolver, ISynthetix { // get their liquid SNX balance and transfer it to the migrator contract totalLiquidBalance = tokenState.balanceOf(account); if (totalLiquidBalance > 0) { - bool succeeded = _transferByProxy(account, debtMigratorOnEthereum, totalLiquidBalance); + bool succeeded = _transferByProxy(account, msg.sender, totalLiquidBalance); require(succeeded, "snx transfer failed"); } // get their escrowed SNX balance and revoke it all totalEscrowRevoked = rewardEscrowV2().totalEscrowedAccountBalance(account); if (totalEscrowRevoked > 0) { - rewardEscrowV2().revokeFrom(account, debtMigratorOnEthereum, totalEscrowRevoked, 0); + rewardEscrowV2().revokeFrom(account, msg.sender, totalEscrowRevoked, 0); } } From e35affe538856262a88bef7e167b1d41463d22e8 Mon Sep 17 00:00:00 2001 From: Daniel Beal Date: Mon, 14 Aug 2023 21:34:33 -0700 Subject: [PATCH 03/43] feedback --- publish/deployed/local/deployment.json | 40383 +--------------- .../deploy/configure-reward-escrow.js | 2 +- 2 files changed, 2 insertions(+), 40383 deletions(-) diff --git a/publish/deployed/local/deployment.json b/publish/deployed/local/deployment.json index 252f21916f..4bec17b80c 100644 --- a/publish/deployed/local/deployment.json +++ b/publish/deployed/local/deployment.json @@ -1,40384 +1,3 @@ { - "targets": { - "SafeDecimalMath": { - "name": "SafeDecimalMath", - "address": "0x5FbDB2315678afecb367f032d93F642f64180aa3", - "source": "SafeDecimalMath", - "link": "https://local.etherscan.io/address/0x5FbDB2315678afecb367f032d93F642f64180aa3", - "timestamp": "2023-06-29T21:12:22.122Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "Math": { - "name": "Math", - "address": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", - "source": "Math", - "link": "https://local.etherscan.io/address/0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", - "timestamp": "2023-06-29T21:12:22.143Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "SystemSettingsLib": { - "name": "SystemSettingsLib", - "address": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", - "source": "SystemSettingsLib", - "link": "https://local.etherscan.io/address/0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", - "timestamp": "2023-06-29T21:12:22.179Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "ExchangeSettlementLib": { - "name": "ExchangeSettlementLib", - "address": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", - "source": "ExchangeSettlementLib", - "link": "https://local.etherscan.io/address/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", - "timestamp": "2023-06-29T21:12:22.202Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "AddressResolver": { - "name": "AddressResolver", - "address": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", - "source": "AddressResolver", - "link": "https://local.etherscan.io/address/0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", - "timestamp": "2023-06-29T21:12:22.221Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "ReadProxyAddressResolver": { - "name": "ReadProxyAddressResolver", - "address": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "source": "ReadProxy", - "link": "https://local.etherscan.io/address/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "timestamp": "2023-06-29T21:12:22.239Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "OneNetAggregatorIssuedSynths": { - "name": "OneNetAggregatorIssuedSynths", - "address": "0x0165878A594ca255338adfa4d48449f69242Eb8F", - "source": "OneNetAggregatorIssuedSynths", - "link": "https://local.etherscan.io/address/0x0165878A594ca255338adfa4d48449f69242Eb8F", - "timestamp": "2023-06-29T21:12:22.256Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "OneNetAggregatorDebtRatio": { - "name": "OneNetAggregatorDebtRatio", - "address": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", - "source": "OneNetAggregatorDebtRatio", - "link": "https://local.etherscan.io/address/0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", - "timestamp": "2023-06-29T21:12:22.274Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "FlexibleStorage": { - "name": "FlexibleStorage", - "address": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", - "source": "FlexibleStorage", - "link": "https://local.etherscan.io/address/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", - "timestamp": "2023-06-29T21:12:22.300Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SystemSettings": { - "name": "SystemSettings", - "address": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318", - "source": "SystemSettings", - "link": "https://local.etherscan.io/address/0x8A791620dd6260079BF849Dc5567aDC3F2FdC318", - "timestamp": "2023-06-29T21:12:22.338Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SystemStatus": { - "name": "SystemStatus", - "address": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788", - "source": "SystemStatus", - "link": "https://local.etherscan.io/address/0x610178dA211FEF7D417bC0e6FeD39F05609AD788", - "timestamp": "2023-06-29T21:12:22.365Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "ExchangeRates": { - "name": "ExchangeRates", - "address": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", - "source": "ExchangeRatesWithDexPricing", - "link": "https://local.etherscan.io/address/0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", - "timestamp": "2023-06-29T21:12:22.399Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStateSynthetix": { - "name": "TokenStateSynthetix", - "address": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", - "source": "LegacyTokenState", - "link": "https://local.etherscan.io/address/0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", - "timestamp": "2023-06-29T21:12:22.417Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "ProxySynthetix": { - "name": "ProxySynthetix", - "address": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", - "timestamp": "2023-06-29T21:12:22.437Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "Synthetix": { - "name": "Synthetix", - "address": "0x9A676e781A523b5d0C0e43731313A708CB607508", - "source": "Synthetix", - "link": "https://local.etherscan.io/address/0x9A676e781A523b5d0C0e43731313A708CB607508", - "timestamp": "2023-06-29T21:12:22.479Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", - "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "100000000000000000000000000", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "RewardEscrow": { - "name": "RewardEscrow", - "address": "0x0B306BF915C4d645ff596e518fAf3F9669b97016", - "source": "RewardEscrow", - "link": "https://local.etherscan.io/address/0x0B306BF915C4d645ff596e518fAf3F9669b97016", - "timestamp": "2023-06-29T21:12:22.500Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000" - ] - }, - "RewardEscrowV2Frozen": { - "name": "RewardEscrowV2Frozen", - "address": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1", - "source": "RewardEscrowV2Frozen", - "link": "https://local.etherscan.io/address/0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1", - "timestamp": "2023-06-29T21:12:22.531Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "RewardEscrowV2Storage": { - "name": "RewardEscrowV2Storage", - "address": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", - "source": "RewardEscrowV2Storage", - "link": "https://local.etherscan.io/address/0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", - "timestamp": "2023-06-29T21:12:22.554Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "RewardEscrowV2": { - "name": "RewardEscrowV2", - "address": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", - "source": "RewardEscrowV2", - "link": "https://local.etherscan.io/address/0x68B1D87F95878fE05B998F19b66F4baba5De1aed", - "timestamp": "2023-06-29T21:12:22.586Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SynthetixEscrow": { - "name": "SynthetixEscrow", - "address": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", - "source": "SynthetixEscrow", - "link": "https://local.etherscan.io/address/0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", - "timestamp": "2023-06-29T21:12:22.609Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "SynthetixDebtShare": { - "name": "SynthetixDebtShare", - "address": "0xc6e7DF5E7b4f2A278906862b61205850344D4e7d", - "source": "SynthetixDebtShare", - "link": "https://local.etherscan.io/address/0xc6e7DF5E7b4f2A278906862b61205850344D4e7d", - "timestamp": "2023-06-29T21:12:22.633Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "ProxyFeePool": { - "name": "ProxyFeePool", - "address": "0x59b670e9fA9D0A427751Af201D676719a970857b", - "source": "Proxy", - "link": "https://local.etherscan.io/address/0x59b670e9fA9D0A427751Af201D676719a970857b", - "timestamp": "2023-06-29T21:12:22.652Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "DelegateApprovalsEternalStorage": { - "name": "DelegateApprovalsEternalStorage", - "address": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", - "source": "EternalStorage", - "link": "https://local.etherscan.io/address/0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", - "timestamp": "2023-06-29T21:12:22.673Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "DelegateApprovals": { - "name": "DelegateApprovals", - "address": "0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", - "source": "DelegateApprovals", - "link": "https://local.etherscan.io/address/0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", - "timestamp": "2023-06-29T21:12:22.693Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1" - ] - }, - "Liquidator": { - "name": "Liquidator", - "address": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", - "source": "Liquidator", - "link": "https://local.etherscan.io/address/0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", - "timestamp": "2023-06-29T21:12:22.722Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "LiquidatorRewards": { - "name": "LiquidatorRewards", - "address": "0x4A679253410272dd5232B3Ff7cF5dbB88f295319", - "source": "LiquidatorRewards", - "link": "https://local.etherscan.io/address/0x4A679253410272dd5232B3Ff7cF5dbB88f295319", - "timestamp": "2023-06-29T21:12:22.745Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "FeePoolEternalStorage": { - "name": "FeePoolEternalStorage", - "address": "0x7a2088a1bFc9d81c55368AE168C2C02570cB814F", - "source": "FeePoolEternalStorage", - "link": "https://local.etherscan.io/address/0x7a2088a1bFc9d81c55368AE168C2C02570cB814F", - "timestamp": "2023-06-29T21:12:22.767Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "FeePool": { - "name": "FeePool", - "address": "0x09635F643e140090A9A8Dcd712eD6285858ceBef", - "source": "FeePool", - "link": "https://local.etherscan.io/address/0x09635F643e140090A9A8Dcd712eD6285858ceBef", - "timestamp": "2023-06-29T21:12:22.801Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x59b670e9fA9D0A427751Af201D676719a970857b", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "RewardsDistribution": { - "name": "RewardsDistribution", - "address": "0xc5a5C42992dECbae36851359345FE25997F5C42d", - "source": "RewardsDistribution", - "link": "https://local.etherscan.io/address/0xc5a5C42992dECbae36851359345FE25997F5C42d", - "timestamp": "2023-06-29T21:12:22.824Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000", - "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", - "0x59b670e9fA9D0A427751Af201D676719a970857b" - ] - }, - "DebtCache": { - "name": "DebtCache", - "address": "0x67d269191c92Caf3cD7723F116c85e6E9bf55933", - "source": "DebtCache", - "link": "https://local.etherscan.io/address/0x67d269191c92Caf3cD7723F116c85e6E9bf55933", - "timestamp": "2023-06-29T21:12:22.855Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "Exchanger": { - "name": "Exchanger", - "address": "0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E", - "source": "ExchangerWithFeeRecAlternatives", - "link": "https://local.etherscan.io/address/0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E", - "timestamp": "2023-06-29T21:12:22.894Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "CircuitBreaker": { - "name": "CircuitBreaker", - "address": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", - "source": "CircuitBreaker", - "link": "https://local.etherscan.io/address/0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", - "timestamp": "2023-06-29T21:12:22.917Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "ExchangeCircuitBreaker": { - "name": "ExchangeCircuitBreaker", - "address": "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB", - "source": "ExchangeCircuitBreaker", - "link": "https://local.etherscan.io/address/0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB", - "timestamp": "2023-06-29T21:12:22.939Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "VirtualSynthMastercopy": { - "name": "VirtualSynthMastercopy", - "address": "0x9E545E3C0baAB3E08CdfD552C960A1050f373042", - "source": "VirtualSynthMastercopy", - "link": "https://local.etherscan.io/address/0x9E545E3C0baAB3E08CdfD552C960A1050f373042", - "timestamp": "2023-06-29T21:12:22.962Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "ExchangeState": { - "name": "ExchangeState", - "address": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", - "source": "ExchangeState", - "link": "https://local.etherscan.io/address/0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", - "timestamp": "2023-06-29T21:12:22.983Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E" - ] - }, - "Issuer": { - "name": "Issuer", - "address": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", - "source": "Issuer", - "link": "https://local.etherscan.io/address/0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", - "timestamp": "2023-06-29T21:12:23.026Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TradingRewards": { - "name": "TradingRewards", - "address": "0x851356ae760d987E095750cCeb3bC6014560891C", - "source": "TradingRewards", - "link": "https://local.etherscan.io/address/0x851356ae760d987E095750cCeb3bC6014560891C", - "timestamp": "2023-06-29T21:12:23.056Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SupplySchedule": { - "name": "SupplySchedule", - "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", - "source": "SupplySchedule", - "link": "https://local.etherscan.io/address/0xf5059a5D33d5853360D16C683c16e67980206f36", - "timestamp": "2023-06-29T21:12:23.077Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - 0, - 0 - ] - }, - "EscrowChecker": { - "name": "EscrowChecker", - "address": "0x95401dc811bb5740090279Ba06cfA8fcF6113778", - "source": "EscrowChecker", - "link": "https://local.etherscan.io/address/0x95401dc811bb5740090279Ba06cfA8fcF6113778", - "timestamp": "2023-06-29T21:12:23.099Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c" - ] - }, - "SynthetixBridgeToOptimism": { - "name": "SynthetixBridgeToOptimism", - "address": "0x998abeb3E57409262aE5b751f60747921B33613E", - "source": "SynthetixBridgeToOptimism", - "link": "https://local.etherscan.io/address/0x998abeb3E57409262aE5b751f60747921B33613E", - "timestamp": "2023-06-29T21:12:23.132Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SynthetixBridgeEscrow": { - "name": "SynthetixBridgeEscrow", - "address": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", - "source": "SynthetixBridgeEscrow", - "link": "https://local.etherscan.io/address/0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", - "timestamp": "2023-06-29T21:12:23.154Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "OwnerRelayOnEthereum": { - "name": "OwnerRelayOnEthereum", - "address": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528", - "source": "OwnerRelayOnEthereum", - "link": "https://local.etherscan.io/address/0x4826533B4897376654Bb4d4AD88B7faFD0C98528", - "timestamp": "2023-06-29T21:12:23.178Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "DebtMigratorOnEthereum": { - "name": "DebtMigratorOnEthereum", - "address": "0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", - "source": "DebtMigratorOnEthereum", - "link": "https://local.etherscan.io/address/0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", - "timestamp": "2023-06-29T21:12:23.208Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "SynthRedeemer": { - "name": "SynthRedeemer", - "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", - "source": "SynthRedeemer", - "link": "https://local.etherscan.io/address/0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", - "timestamp": "2023-06-29T21:12:23.230Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "WrapperFactory": { - "name": "WrapperFactory", - "address": "0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", - "source": "WrapperFactory", - "link": "https://local.etherscan.io/address/0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", - "timestamp": "2023-06-29T21:12:23.266Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "DirectIntegrationManager": { - "name": "DirectIntegrationManager", - "address": "0x9d4454B023096f34B160D6B654540c56A1F81688", - "source": "DirectIntegrationManager", - "link": "https://local.etherscan.io/address/0x9d4454B023096f34B160D6B654540c56A1F81688", - "timestamp": "2023-06-29T21:12:23.294Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStatesUSD": { - "name": "TokenStatesUSD", - "address": "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", - "source": "TokenState", - "link": "https://local.etherscan.io/address/0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", - "timestamp": "2023-06-29T21:12:23.316Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "ProxysUSD": { - "name": "ProxysUSD", - "address": "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", - "timestamp": "2023-06-29T21:12:23.340Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "SynthsUSD": { - "name": "SynthsUSD", - "address": "0x809d550fca64d94Bd9F66E60752A544199cfAC3D", - "source": "MultiCollateralSynth", - "link": "https://local.etherscan.io/address/0x809d550fca64d94Bd9F66E60752A544199cfAC3D", - "timestamp": "2023-06-29T21:12:23.375Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570", - "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", - "Synth sUSD", - "sUSD", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x7355534400000000000000000000000000000000000000000000000000000000", - 0, - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStatesBTC": { - "name": "TokenStatesBTC", - "address": "0x4c5859f0F772848b2D91F1D83E2Fe57935348029", - "source": "TokenState", - "link": "https://local.etherscan.io/address/0x4c5859f0F772848b2D91F1D83E2Fe57935348029", - "timestamp": "2023-06-29T21:12:23.397Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "ProxysBTC": { - "name": "ProxysBTC", - "address": "0x1291Be112d480055DaFd8a610b7d1e203891C274", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0x1291Be112d480055DaFd8a610b7d1e203891C274", - "timestamp": "2023-06-29T21:12:23.419Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "SynthsBTC": { - "name": "SynthsBTC", - "address": "0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154", - "source": "MultiCollateralSynth", - "link": "https://local.etherscan.io/address/0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154", - "timestamp": "2023-06-29T21:12:23.452Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x1291Be112d480055DaFd8a610b7d1e203891C274", - "0x4c5859f0F772848b2D91F1D83E2Fe57935348029", - "Synth sBTC", - "sBTC", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x7342544300000000000000000000000000000000000000000000000000000000", - 0, - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStatesETH": { - "name": "TokenStatesETH", - "address": "0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", - "source": "TokenState", - "link": "https://local.etherscan.io/address/0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", - "timestamp": "2023-06-29T21:12:23.475Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "ProxysETH": { - "name": "ProxysETH", - "address": "0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", - "timestamp": "2023-06-29T21:12:23.499Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "SynthsETH": { - "name": "SynthsETH", - "address": "0x82e01223d51Eb87e16A03E24687EDF0F294da6f1", - "source": "MultiCollateralSynth", - "link": "https://local.etherscan.io/address/0x82e01223d51Eb87e16A03E24687EDF0F294da6f1", - "timestamp": "2023-06-29T21:12:23.533Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xCD8a1C3ba11CF5ECfa6267617243239504a98d90", - "0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575", - "Synth sETH", - "sETH", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x7345544800000000000000000000000000000000000000000000000000000000", - 0, - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStatesLINK": { - "name": "TokenStatesLINK", - "address": "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", - "source": "TokenState", - "link": "https://local.etherscan.io/address/0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", - "timestamp": "2023-06-29T21:12:23.555Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "ProxysLINK": { - "name": "ProxysLINK", - "address": "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", - "timestamp": "2023-06-29T21:12:23.579Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "SynthsLINK": { - "name": "SynthsLINK", - "address": "0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650", - "source": "MultiCollateralSynth", - "link": "https://local.etherscan.io/address/0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650", - "timestamp": "2023-06-29T21:12:23.615Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", - "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3", - "Synth sLINK", - "sLINK", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x734c494e4b000000000000000000000000000000000000000000000000000000", - 0, - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "TokenStatesETHBTC": { - "name": "TokenStatesETHBTC", - "address": "0xc351628EB244ec633d5f21fBD6621e1a683B1181", - "source": "TokenState", - "link": "https://local.etherscan.io/address/0xc351628EB244ec633d5f21fBD6621e1a683B1181", - "timestamp": "2023-06-29T21:12:23.637Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x0000000000000000000000000000000000000000" - ] - }, - "ProxysETHBTC": { - "name": "ProxysETHBTC", - "address": "0xFD471836031dc5108809D173A067e8486B9047A3", - "source": "ProxyERC20", - "link": "https://local.etherscan.io/address/0xFD471836031dc5108809D173A067e8486B9047A3", - "timestamp": "2023-06-29T21:12:23.662Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "SynthsETHBTC": { - "name": "SynthsETHBTC", - "address": "0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", - "source": "MultiCollateralSynth", - "link": "https://local.etherscan.io/address/0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", - "timestamp": "2023-06-29T21:12:23.698Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xFD471836031dc5108809D173A067e8486B9047A3", - "0xc351628EB244ec633d5f21fBD6621e1a683B1181", - "Synth sETHBTC", - "sETHBTC", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x7345544842544300000000000000000000000000000000000000000000000000", - 0, - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "Depot": { - "name": "Depot", - "address": "0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f", - "source": "Depot", - "link": "https://local.etherscan.io/address/0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f", - "timestamp": "2023-06-29T21:12:23.735Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "WETH": { - "name": "WETH", - "address": "0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", - "source": "WETH", - "link": "https://local.etherscan.io/address/0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", - "timestamp": "2023-06-29T21:12:23.761Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "EtherWrapper": { - "name": "EtherWrapper", - "address": "0x162A433068F51e18b7d13932F27e66a3f99E6890", - "source": "EtherWrapper", - "link": "https://local.etherscan.io/address/0x162A433068F51e18b7d13932F27e66a3f99E6890", - "timestamp": "2023-06-29T21:12:23.795Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07" - ] - }, - "NativeEtherWrapper": { - "name": "NativeEtherWrapper", - "address": "0x922D6956C99E12DFeB3224DEA977D0939758A1Fe", - "source": "NativeEtherWrapper", - "link": "https://local.etherscan.io/address/0x922D6956C99E12DFeB3224DEA977D0939758A1Fe", - "timestamp": "2023-06-29T21:12:23.824Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "CollateralUtil": { - "name": "CollateralUtil", - "address": "0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f", - "source": "CollateralUtil", - "link": "https://local.etherscan.io/address/0x5081a39b8A5f0E35a8D959395a630b68B74Dd30f", - "timestamp": "2023-06-29T21:12:23.851Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "CollateralManagerState": { - "name": "CollateralManagerState", - "address": "0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", - "source": "CollateralManagerState", - "link": "https://local.etherscan.io/address/0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", - "timestamp": "2023-06-29T21:12:23.877Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - }, - "CollateralManager": { - "name": "CollateralManager", - "address": "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", - "source": "CollateralManager", - "link": "https://local.etherscan.io/address/0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", - "timestamp": "2023-06-29T21:12:23.920Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x1fA02b2d6A771842690194Cf62D91bdd92BfE28d", - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "75000000000000000000000000", - "200000000000000000", - "158443823", - "158443823" - ] - }, - "CollateralEth": { - "name": "CollateralEth", - "address": "0x04C89607413713Ec9775E14b954286519d836FEf", - "source": "CollateralEth", - "link": "https://local.etherscan.io/address/0x04C89607413713Ec9775E14b954286519d836FEf", - "timestamp": "2023-06-29T21:12:23.963Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "0x7345544800000000000000000000000000000000000000000000000000000000", - "1300000000000000000", - "2000000000000000000" - ] - }, - "MockToken": { - "name": "MockToken", - "address": "0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", - "source": "MockToken", - "link": "https://local.etherscan.io/address/0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", - "timestamp": "2023-06-29T21:12:23.990Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "renBTC", - "renBTC", - 8 - ] - }, - "CollateralErc20": { - "name": "CollateralErc20", - "address": "0x21dF544947ba3E8b3c32561399E88B52Dc8b2823", - "source": "CollateralErc20", - "link": "https://local.etherscan.io/address/0x21dF544947ba3E8b3c32561399E88B52Dc8b2823", - "timestamp": "2023-06-29T21:12:24.030Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "0x7342544300000000000000000000000000000000000000000000000000000000", - "1300000000000000000", - "50000000000000000", - "0x4C4a2f8c81640e47606d3fd77B353E87Ba015584", - 8 - ] - }, - "CollateralShort": { - "name": "CollateralShort", - "address": "0x2E2Ed0Cfd3AD2f1d34481277b3204d807Ca2F8c2", - "source": "CollateralShort", - "link": "https://local.etherscan.io/address/0x2E2Ed0Cfd3AD2f1d34481277b3204d807Ca2F8c2", - "timestamp": "2023-06-29T21:12:24.073Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "0xdbC43Ba45381e02825b14322cDdd15eC4B3164E6", - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", - "0x7355534400000000000000000000000000000000000000000000000000000000", - "1200000000000000000", - "1000000000000000000000" - ] - }, - "FuturesMarketManager": { - "name": "FuturesMarketManager", - "address": "0xD8a5a9b31c3C0232E196d518E89Fd8bF83AcAd43", - "source": "EmptyFuturesMarketManager", - "link": "https://local.etherscan.io/address/0xD8a5a9b31c3C0232E196d518E89Fd8bF83AcAd43", - "timestamp": "2023-06-29T21:12:24.096Z", - "txn": "", - "network": "local", - "constructorArgs": [] - }, - "SynthUtil": { - "name": "SynthUtil", - "address": "0xDC11f7E700A4c898AE5CAddB1082cFfa76512aDD", - "source": "SynthUtil", - "link": "https://local.etherscan.io/address/0xDC11f7E700A4c898AE5CAddB1082cFfa76512aDD", - "timestamp": "2023-06-29T21:12:24.128Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" - ] - }, - "DappMaintenance": { - "name": "DappMaintenance", - "address": "0x51A1ceB83B83F1985a81C295d1fF28Afef186E02", - "source": "DappMaintenance", - "link": "https://local.etherscan.io/address/0x51A1ceB83B83F1985a81C295d1fF28Afef186E02", - "timestamp": "2023-06-29T21:12:24.156Z", - "txn": "", - "network": "local", - "constructorArgs": [ - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" - ] - } - }, - "sources": { - "SafeDecimalMath": { - "bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158207ee27ee798e7e3d99c26a8e4e077d39c2193b6a47879f23930f56f931085ed7f64736f6c63430005100032", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "PRECISE_UNIT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UNIT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "highPrecisionDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "preciseUnit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "unit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "source": { - "keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f", - "urls": [ - "bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df", - "dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SafeDecimalMath.sol": "SafeDecimalMath" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SafeDecimalMath.sol": { - "keccak256": "0xb2bfdb06ed7f11c7b3a170af63b08cb5d0cabd4e3cc700458bcbc8e9ea69b77f", - "urls": [ - "bzz-raw://a0b7f0948241d64290d4402f2beb1d3aa18f322338f4bd949731c73f90cec7df", - "dweb:/ipfs/QmdpNkze98H4jEqD4aJa5E5Fzi1YJykLeeqzvmr9MmigvM" - ] - } - }, - "version": 1 - } - }, - "Math": { - "bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820405492e64f7dbf5e0c8c58befd9629887f04a9e6c80457bb85a0f1985d01985f64736f6c63430005100032", - "abi": [], - "source": { - "keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899", - "urls": [ - "bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c", - "dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Math.sol": "Math" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Math.sol": { - "keccak256": "0x33425afb6ec5686caed757bf484dad4c1e7a1264241cc554e30cf338b7aef899", - "urls": [ - "bzz-raw://0d658e354f645ef94ed2643250801a12014b6a8eae007c31e6113da8b5dc3b5c", - "dweb:/ipfs/QmZjSW1Xe3GqmyPJxd3bNBdChnGPC2a7C9hWCDw1HZkniM" - ] - } - }, - "version": 1 - } - }, - "SystemSettingsLib": { - "bytecode": "61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820a849c1480d04d1739eba65ff88f402088deee77112276b1a0bf097e0b233baa664736f6c63430005100032", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "MAX_ATOMIC_TWAP_WINDOW", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_ATOMIC_VOLUME_PER_BLOCK", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_CROSS_DOMAIN_GAS_LIMIT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_EXCHANGE_FEE_RATE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_FEE_PERIOD_DURATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_ISSUANCE_RATIO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_LIQUIDATION_DELAY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_LIQUIDATION_PENALTY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_LIQUIDATION_RATIO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_MINIMUM_STAKE_TIME", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_TARGET_THRESHOLD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_WRAPPER_BURN_FEE_RATE", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_WRAPPER_MINT_FEE_RATE", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MIN_ATOMIC_TWAP_WINDOW", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MIN_CROSS_DOMAIN_GAS_LIMIT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MIN_FEE_PERIOD_DURATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MIN_LIQUIDATION_DELAY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "RATIO_FROM_TARGET_BUFFER", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SETTINGS_CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "contractName", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18", - "urls": [ - "bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e", - "dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SystemSettingsLib.sol": "SystemSettingsLib" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SystemSettingsLib.sol": { - "keccak256": "0x141f8da3a1e4fc749c76613e7e0c4d4285dba582e31813130357c85abe4b1d18", - "urls": [ - "bzz-raw://a9f2c40bb4041ea12028b49e26ee8b73cd2791f09b0ac0ae3f367223c8d46b2e", - "dweb:/ipfs/QmWWUa7P9ahTsM8EYg17tKHmmUixdvxdDWFfQqTJyUdsHq" - ] - } - }, - "version": 1 - } - }, - "ExchangeSettlementLib": { - "bytecode": "611b9f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80630a0ecd1b14610066578063291be93d146100925780632f2de902146100b257806377cd29a5146100d45780638317e96b14610103575b600080fd5b6100796100743660046113c1565b610123565b6040516100899493929190611a8c565b60405180910390f35b6100a56100a03660046112ca565b610155565b60405161008991906118b9565b8180156100be57600080fd5b506100d26100cd366004611418565b6101e9565b005b8180156100e057600080fd5b506100f46100ef366004611349565b6103d9565b60405161008993929190611a7e565b6101166101113660046113c1565b610712565b60405161008991906118ab565b60008080606061014361013b368a90038a018a6114b9565b888888610764565b929b919a509850909650945050505050565b60006101de856001600160a01b031663f1406dc886866040518363ffffffff1660e01b81526004016101889291906117ca565b60206040518083038186803b1580156101a057600080fd5b505afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101d891908101906114d7565b83610a99565b90505b949350505050565b60006101fb6040890160208a016112ac565b6001600160a01b0316637a018a1e876040518263ffffffff1660e01b815260040161022691906118b9565b60206040518083038186803b15801561023e57600080fd5b505afa158015610252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061027691908101906114d7565b9050600061028a60408a0160208b016112ac565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004016102b591906118b9565b60206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030591908101906114d7565b905061031460208a018a6112ac565b6001600160a01b0316633ca9d85c898989898989428a8a6040518a63ffffffff1660e01b815260040161034f99989796959493929190611814565b600060405180830381600087803b15801561036957600080fd5b505af115801561037d573d6000803e3d6000fd5b50505050876001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398888888888888886040516103c69796959493929190611913565b60405180910390a2505050505050505050565b600080806103f56103ed60208a018a6112ac565b888887610155565b1561041b5760405162461bcd60e51b815260040161041290611a60565b60405180910390fd5b60008080606061043b610433368e90038e018e6114b9565b8c8c8b610764565b93509350935093508284111561047c5761045b848463ffffffff610aed16565b965061047761046f368e90038e018e6114b9565b8c8c8a610b15565b6104b0565b838311156104b057610494838563ffffffff610aed16565b95506104b06104a8368e90038e018e6114b9565b8c8c89610c60565b8880156104c7575060008711806104c75750600086115b1561057657604080516001808252818301909252606091602080830190803883390190505090508a816000815181106104fc57fe5b602090810291909101015261051760808e0160608f016112ac565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b8152600401610542919061189a565b600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b50505050505b60005b8151811015610691578b6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106105b957fe5b6020026020010151600001518484815181106105d157fe5b6020026020010151602001518585815181106105e957fe5b60200260200101516040015186868151811061060157fe5b60200260200101516060015187878151811061061957fe5b60200260200101516080015188888151811061063157fe5b602002602001015160a0015189898151811061064957fe5b602002602001015160c001518a8a8151811061066157fe5b602002602001015160e0015160405161068198979695949392919061197b565b60405180910390a2600101610579565b5090935083906106a460208d018d6112ac565b6001600160a01b031663d0d3d62a8c8c6040518363ffffffff1660e01b81526004016106d19291906117ca565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b5050505050505050955095509592505050565b600061072c61072460208701876112ac565b858585610155565b15610739575060016101e1565b600061075561074d368890038801886114b9565b868686610764565b50505015159695505050505050565b6000806000606087600001516001600160a01b031663b44e975388886040518363ffffffff1660e01b815260040161079d9291906117ca565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed91908101906114d7565b915060608260405190808252806020026020018201604052801561082b57816020015b610818611097565b8152602001906001900390816108105790505b50905060005b83811015610a8b57610841611097565b8a5161084f908b8b85610d73565b90506000806108638d60200151848c610e52565b915091506000808e602001516001600160a01b0316636ce66c8086600001518760200151886040015188886040518663ffffffff1660e01b81526004016108ae9594939291906118c7565b60606040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fe91908101906114f5565b50509050610910818660800151610f7c565b91505060008e604001516001600160a01b03166378cb51cb8660600151846040518363ffffffff1660e01b815260040161094b929190611a70565b60206040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099b91908101906111de565b905060008082610a165783876060015111156109df5760608701516109c6908563ffffffff610aed16565b91506109d88d8363ffffffff61100e16565b9c50610a16565b8660600151841115610a16576060870151610a0190859063ffffffff610aed16565b9050610a138c8263ffffffff61100e16565b9b505b6040518061010001604052808860000151815260200188602001518152602001886040015181526020018381526020018281526020018781526020018681526020018860a00151815250898981518110610a6c57fe5b6020026020010181905250505050505050508080600101915050610831565b509050945094509450949050565b6000821580610ab75750610ab3838363ffffffff61100e16565b4210155b15610ac457506000610ae7565b610ae442610ad8858563ffffffff61100e16565b9063ffffffff610aed16565b90505b92915050565b600082821115610b0f5760405162461bcd60e51b815260040161041290611a40565b50900390565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610b4591906118b9565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b95919081019061132b565b6001600160a01b0316639dc29fac84836040518363ffffffff1660e01b8152600401610bc29291906117ca565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050508360a001516001600160a01b031663ace88afd8484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b5050505050505050565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610c9091906118b9565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce0919081019061132b565b6001600160a01b031663867904b484836040518363ffffffff1660e01b8152600401610d0d9291906117ca565b600060405180830381600087803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b505050508360a001516001600160a01b0316636f01a9868484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b610d7b611097565b6000806000806000806000808c6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b8152600401610db7939291906117ec565b6101006040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0891908101906111fc565b60408051610100810182529889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201529d9c50505050505050505050505050565b815160c083015160a084015160405163084f235160e11b815260009384936001600160a01b0389169363109e46a293610e929392919089906004016119f2565b60206040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ee291908101906114d7565b60408086015160e087015160a0880151925163084f235160e11b81529395506001600160a01b0389169363109e46a293610f2293929189906004016119f2565b60206040518083038186803b158015610f3a57600080fd5b505afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f7291908101906114d7565b9050935093915050565b6000610ae46110018373__$b35dcef3cd2d171b7cf73a40e8ebe9aba0$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc957600080fd5b505af4158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad891908101906114d7565b849063ffffffff61103316565b600082820183811015610ae45760405162461bcd60e51b815260040161041290611a30565b6000670de0b6b3a764000061104e848463ffffffff61105d16565b8161105557fe5b049392505050565b60008261106c57506000610ae7565b8282028284828161107957fe5b0414610ae45760405162461bcd60e51b815260040161041290611a50565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b8035610ae781611b2a565b8035610ae781611b41565b8051610ae781611b41565b8035610ae781611b4a565b8051610ae781611b4a565b8035610ae781611b53565b8051610ae781611b53565b600060c0828403121561114157600080fd5b50919050565b600060c0828403121561115957600080fd5b61116360c0611ac6565b905060006111718484611119565b825250602061118284848301611119565b602083015250604061119684828501611119565b60408301525060606111aa84828501611119565b60608301525060806111be84828501611119565b60808301525060a06111d284828501611119565b60a08301525092915050565b6000602082840312156111f057600080fd5b60006101e184846110f8565b600080600080600080600080610100898b03121561121957600080fd5b60006112258b8b61110e565b98505060206112368b828c0161110e565b97505060406112478b828c0161110e565b96505060606112588b828c0161110e565b95505060806112698b828c0161110e565b94505060a061127a8b828c0161110e565b93505060c061128b8b828c0161110e565b92505060e061129c8b828c0161110e565b9150509295985092959890939650565b6000602082840312156112be57600080fd5b60006101e18484611119565b600080600080608085870312156112e057600080fd5b60006112ec8787611119565b94505060206112fd878288016110e2565b935050604061130e87828801611103565b925050606061131f87828801611103565b91505092959194509250565b60006020828403121561133d57600080fd5b60006101e18484611124565b6000806000806000610140868803121561136257600080fd5b600061136e888861112f565b95505060c061137f888289016110e2565b94505060e061139088828901611103565b9350506101006113a2888289016110ed565b9250506101206113b488828901611103565b9150509295509295909350565b60008060008061012085870312156113d857600080fd5b60006113e4878761112f565b94505060c06113f5878288016110e2565b93505060e061140687828801611103565b92505061010061131f87828801611103565b6000806000806000806000610180888a03121561143457600080fd5b60006114408a8a61112f565b97505060c06114518a828b016110e2565b96505060e06114628a828b01611103565b9550506101006114748a828b01611103565b9450506101206114868a828b01611103565b9350506101406114988a828b01611103565b9250506101606114aa8a828b01611103565b91505092959891949750929550565b600060c082840312156114cb57600080fd5b60006101e18484611147565b6000602082840312156114e957600080fd5b60006101e1848461110e565b60008060006060848603121561150a57600080fd5b6000611516868661110e565b93505060206115278682870161110e565b92505060406115388682870161110e565b9150509250925092565b600061154e838361162a565b505060200190565b6000611562838361172d565b50506101000190565b61157481611b00565b82525050565b600061158582611af3565b61158f8185611af7565b935061159a83611aed565b8060005b838110156115c85781516115b28882611542565b97506115bd83611aed565b92505060010161159e565b509495945050505050565b60006115de82611af3565b6115e88185611af7565b93506115f383611aed565b8060005b838110156115c857815161160b8882611556565b975061161683611aed565b9250506001016115f7565b61157481611b0b565b61157481611b10565b6000611640601b83611af7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611679601e83611af7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006116b2602183611af7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006116f5602383611af7565b7f43616e6e6f7420736574746c6520647572696e672077616974696e67207065728152621a5bd960ea1b602082015260400192915050565b805161010083019061173f848261162a565b506020820151611752602085018261162a565b506040820151611765604085018261162a565b506060820151611778606085018261162a565b50608082015161178b608085018261162a565b5060a082015161179e60a085018261162a565b5060c08201516117b160c085018261162a565b5060e08201516117c460e085018261162a565b50505050565b604081016117d8828561156b565b6117e5602083018461162a565b9392505050565b606081016117fa828661156b565b611807602083018561162a565b6101e1604083018461162a565b6101208101611823828c61156b565b611830602083018b61162a565b61183d604083018a61162a565b61184a606083018961162a565b611857608083018861162a565b61186460a083018761162a565b61187160c083018661162a565b61187e60e083018561162a565b61188c61010083018461162a565b9a9950505050505050505050565b60208082528101610ae4818461157a565b60208101610ae78284611621565b60208101610ae7828461162a565b60a081016118d5828861162a565b6118e2602083018761162a565b6118ef604083018661162a565b6118fc606083018561162a565b611909608083018461162a565b9695505050505050565b60e08101611921828a61162a565b61192e602083018961162a565b61193b604083018861162a565b611948606083018761162a565b611955608083018661162a565b61196260a083018561162a565b61196f60c083018461162a565b98975050505050505050565b610100810161198a828b61162a565b611997602083018a61162a565b6119a4604083018961162a565b6119b1606083018861162a565b6119be608083018761162a565b6119cb60a083018661162a565b6119d860c083018561162a565b6119e560e083018461162a565b9998505050505050505050565b60808101611a00828761162a565b611a0d602083018661162a565b611a1a604083018561162a565b611a27606083018461162a565b95945050505050565b60208082528101610ae781611633565b60208082528101610ae78161166c565b60208082528101610ae7816116a5565b60208082528101610ae7816116e8565b604081016117d8828561162a565b606081016117fa828661162a565b60808101611a9a828761162a565b611aa7602083018661162a565b611ab4604083018561162a565b818103606083015261190981846115d3565b60405181810167ffffffffffffffff81118282101715611ae557600080fd5b604052919050565b60200190565b5190565b90815260200190565b6000610ae782611b1e565b151590565b90565b6000610ae782611b00565b6001600160a01b031690565b611b3381611b00565b8114611b3e57600080fd5b50565b611b3381611b0b565b611b3381611b10565b611b3381611b1356fea365627a7a72315820fef003f4120e35becc8d938242a089ed13f70e0eed738f7a0a2b7ebc4262bba76c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "name": "ExchangeEntryAppended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reclaim", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rebate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "srcRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "exchangeTimestamp", - "type": "uint256" - } - ], - "name": "ExchangeEntrySettled", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "contract IExchangeState", - "name": "exchangeState", - "type": "IExchangeState" - }, - { - "internalType": "contract IExchangeRates", - "name": "exchangeRates", - "type": "IExchangeRates" - }, - { - "internalType": "contract ICircuitBreaker", - "name": "circuitBreaker", - "type": "ICircuitBreaker" - }, - { - "internalType": "contract IExchangerInternalDebtCache", - "name": "debtCache", - "type": "IExchangerInternalDebtCache" - }, - { - "internalType": "contract IIssuer", - "name": "issuer", - "type": "IIssuer" - }, - { - "internalType": "contract ISynthetix", - "name": "synthetix", - "type": "ISynthetix" - } - ], - "internalType": "struct ExchangeSettlementLib.ResolvedAddresses", - "name": "resolvedAddresses", - "type": "tuple" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "waitingPeriod", - "type": "uint256" - } - ], - "name": "hasWaitingPeriodOrSettlementOwing", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract IExchangeState", - "name": "exchangeState", - "type": "IExchangeState" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "waitingPeriod", - "type": "uint256" - } - ], - "name": "maxSecsLeftInWaitingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "contract IExchangeState", - "name": "exchangeState", - "type": "IExchangeState" - }, - { - "internalType": "contract IExchangeRates", - "name": "exchangeRates", - "type": "IExchangeRates" - }, - { - "internalType": "contract ICircuitBreaker", - "name": "circuitBreaker", - "type": "ICircuitBreaker" - }, - { - "internalType": "contract IExchangerInternalDebtCache", - "name": "debtCache", - "type": "IExchangerInternalDebtCache" - }, - { - "internalType": "contract IIssuer", - "name": "issuer", - "type": "IIssuer" - }, - { - "internalType": "contract ISynthetix", - "name": "synthetix", - "type": "ISynthetix" - } - ], - "internalType": "struct ExchangeSettlementLib.ResolvedAddresses", - "name": "resolvedAddresses", - "type": "tuple" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "waitingPeriod", - "type": "uint256" - } - ], - "name": "settlementOwing", - "outputs": [ - { - "internalType": "uint256", - "name": "reclaimAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rebateAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "numEntries", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "reclaim", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rebate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "srcRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "internalType": "struct IExchanger.ExchangeEntrySettlement[]", - "name": "", - "type": "tuple[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x9c2caa8bda70c94665d88da077d2ba088fea21e4b55f5013414bf29df75749b5", - "urls": [ - "bzz-raw://df95bb3f25199703307a4b8976fa6387d62b474be493bc31767e1992072dc640", - "dweb:/ipfs/QmVVfZKzpKA9jRRivK6sBCaHfkLvH1uzmSeeQSTuUgevKT" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ExchangeSettlementLib.sol": "ExchangeSettlementLib" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ExchangeSettlementLib.sol": { - "keccak256": "0x9c2caa8bda70c94665d88da077d2ba088fea21e4b55f5013414bf29df75749b5", - "urls": [ - "bzz-raw://df95bb3f25199703307a4b8976fa6387d62b474be493bc31767e1992072dc640", - "dweb:/ipfs/QmVVfZKzpKA9jRRivK6sBCaHfkLvH1uzmSeeQSTuUgevKT" - ] - } - }, - "version": 1 - } - }, - "AddressResolver": { - "bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205a67c92a0efdab4956680237aa7293d68e96064230bf9ee7b89539a75833913d64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "AddressImported", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "names", - "type": "bytes32[]" - }, - { - "internalType": "address[]", - "name": "destinations", - "type": "address[]" - } - ], - "name": "areAddressesImported", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getSynth", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "names", - "type": "bytes32[]" - }, - { - "internalType": "address[]", - "name": "destinations", - "type": "address[]" - } - ], - "name": "importAddresses", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract MixinResolver[]", - "name": "destinations", - "type": "address[]" - } - ], - "name": "rebuildCaches", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "repository", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "requireAndGetAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c", - "urls": [ - "bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b", - "dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "AddressResolver.sol": "AddressResolver" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "AddressResolver.sol": { - "keccak256": "0x7a0daf61c1543f478f7b8f59b5640f0063e4d77523f452687402dd04ae07835c", - "urls": [ - "bzz-raw://b3be817264bb85da1ee82f1314f95ce5bd8ce7eed99713da77ff1ae8b7199f7b", - "dweb:/ipfs/QmbWF1k4pe71YWtd6Mi4Mt9NF7RsHUT7qpmDEGAz2fu2Se" - ] - } - }, - "version": 1 - } - }, - "ReadProxy": { - "bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820096a9c4dccbf0436b0e2f77b0328cf38c7fa35d4c8ccf68ff8bd113c6baf2a0864736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newTarget", - "type": "address" - } - ], - "name": "TargetUpdated", - "type": "event" - }, - { - "payable": false, - "stateMutability": "nonpayable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - } - ], - "name": "setTarget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "target", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487", - "urls": [ - "bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599", - "dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ReadProxy.sol": "ReadProxy" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ReadProxy.sol": { - "keccak256": "0x757779a9cb8a50127d5285e910fbe8e17fcb4d3cbbd81e04df2c3528a5800487", - "urls": [ - "bzz-raw://57e6e502a068c999310fb006f9c3fe8996962f17a2d56f6009ca4fee29fb3599", - "dweb:/ipfs/Qmf9UEBW7YU9V2TUSMPgAf1eXe7rBH43Q8j6p4o9EWFoRV" - ] - } - }, - "version": 1 - } - }, - "OneNetAggregatorIssuedSynths": { - "bytecode": "608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820abcedbf402a278943504388613bbb37e211c2e31ce5f0350b66b7de94a9a7aca64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "contract AddressResolver", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "SetOverrideTimestamp", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_roundId", - "type": "uint256" - } - ], - "name": "getAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "answer", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_roundId", - "type": "uint256" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "latestRound", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "overrideTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "setOverrideTimestamp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5", - "urls": [ - "bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc", - "dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "OneNetAggregatorIssuedSynths.sol": "OneNetAggregatorIssuedSynths" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "OneNetAggregatorIssuedSynths.sol": { - "keccak256": "0x39396aff15b96d95f64b3421c8c86917657f7752cd9861e400c7bcb9a80a27d5", - "urls": [ - "bzz-raw://6fafef6121a8bd3a4655bcca634d2dae138947981b0a44611e4a8138fb98fbfc", - "dweb:/ipfs/QmZMBzjgPFkWzBaiGqCQLpeiSLvLd8NNb8RUVEyyEqQvcE" - ] - } - }, - "version": 1 - } - }, - "OneNetAggregatorDebtRatio": { - "bytecode": "608060405234801561001057600080fd5b50604051610a88380380610a888339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610976806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610695565b6101696004803603602081101561022e57600080fd5b50356106d8565b6101696004803603602081101561024b57600080fd5b50356106ee565b610169610704565b6101bc61070a565b6002546001600160a01b031681565b610279610733565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108bd6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f8561077e565b9063ffffffff61079a16565b61066e565b6b033b2e3c9fd0803ce80000005b60035490915042901561068057506003545b60019a91995097508796508995509350505050565b61069d610733565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106e3826103d5565b509195945050505050565b60006106f9826103d5565b509095945050505050565b60035481565b600080600080600061072261071d610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806108f2602f913960400191505060405180910390fd5b565b600061079482633b9aca0063ffffffff6107b616565b92915050565b60006107af8383670de0b6b3a764000061080f565b9392505050565b6000826107c557506000610794565b828202828482816107d257fe5b04146107af5760405162461bcd60e51b81526004018080602001828103825260218152602001806109216021913960400191505060405180910390fd5b6000806108358461082987600a870263ffffffff6107b616565b9063ffffffff61085216565b90506005600a82061061084657600a015b600a9004949350505050565b60008082116108a8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108b357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203612b33f3ea87a50f59a324964535c4e3e922d0c27839687f1805b5bf37a50f764736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "contract AddressResolver", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "SetOverrideTimestamp", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_roundId", - "type": "uint256" - } - ], - "name": "getAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "answer", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_roundId", - "type": "uint256" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "latestRound", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "overrideTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "setOverrideTimestamp", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45", - "urls": [ - "bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7", - "dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "OneNetAggregatorDebtRatio.sol": "OneNetAggregatorDebtRatio" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "OneNetAggregatorDebtRatio.sol": { - "keccak256": "0xadc717b7fdc0089035f7fc890ac8716ec747aaee79f22e0f5f8d41ed8cfd3c45", - "urls": [ - "bzz-raw://b42489e8c08861085eec1a2d6bda0c278b115baa433c95438d01ef12bab6f6a7", - "dweb:/ipfs/QmUnmWREUS4iiofBwsNq26euS7bsY5AX2m2NNw5sRu4tNU" - ] - } - }, - "version": 1 - } - }, - "FlexibleStorage": { - "bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a7231582002c92d349c93e8a7e0d50f2f4280aec95aa1087a1ce242e1567fd74941901fc564736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "fromContractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "toContractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bool", - "name": "removeAccessFromPreviousContract", - "type": "bool" - } - ], - "name": "KeyMigrated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "value", - "type": "address" - } - ], - "name": "ValueDeletedAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "ValueDeletedBool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ], - "name": "ValueDeletedBytes32", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "ValueDeletedInt", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "ValueDeletedUInt", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "value", - "type": "address" - } - ], - "name": "ValueSetAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "ValueSetBool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ], - "name": "ValueSetBytes32", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "ValueSetInt", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "ValueSetUInt", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBoolValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getAddressValue", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - } - ], - "name": "getAddressValues", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBoolValue", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - } - ], - "name": "getBoolValues", - "outputs": [ - { - "internalType": "bool[]", - "name": "", - "type": "bool[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBytes32Value", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - } - ], - "name": "getBytes32Values", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getIntValue", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - } - ], - "name": "getIntValues", - "outputs": [ - { - "internalType": "int256[]", - "name": "", - "type": "int256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getUIntValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - } - ], - "name": "getUIntValues", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "hashes", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "fromContractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "toContractName", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "removeAccessFromPreviousContract", - "type": "bool" - } - ], - "name": "migrateContractKey", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverProxy", - "outputs": [ - { - "internalType": "contract IAddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "value", - "type": "address" - } - ], - "name": "setAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - }, - { - "internalType": "address[]", - "name": "values", - "type": "address[]" - } - ], - "name": "setAddressValues", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "setBoolValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - }, - { - "internalType": "bool[]", - "name": "values", - "type": "bool[]" - } - ], - "name": "setBoolValues", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ], - "name": "setBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "values", - "type": "bytes32[]" - } - ], - "name": "setBytes32Values", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "setIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - }, - { - "internalType": "int256[]", - "name": "values", - "type": "int256[]" - } - ], - "name": "setIntValues", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "contractName", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "records", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "setUIntValues", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a", - "urls": [ - "bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1", - "dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "FlexibleStorage.sol": "FlexibleStorage" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "FlexibleStorage.sol": { - "keccak256": "0x7a1ef2f81c16a915a1dc7141d3b3aaff5a735dc14c1dc1c37b3893c811e87b0a", - "urls": [ - "bzz-raw://8186b5cbb8b21d8c48862d7ed00f1e20b123f9a4dc0ae7f579d20a54ebb9fdd1", - "dweb:/ipfs/QmVZh7TMF8Mm4tgdqAu8RBdCj2yHkcWZvCM7UFuPuis7pb" - ] - } - }, - "version": 1 - } - }, - "SystemSettings": { - "bytecode": "60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a7231582029935e859eacc8ecf613dd88ebd75a85a165d12cf9638eca3f9f8091e89c1ae964736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "flags", - "type": "address" - } - ], - "name": "AggregatorWarningFlagsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "equivalent", - "type": "address" - } - ], - "name": "AtomicEquivalentForDexPricingUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newExchangeFeeRate", - "type": "uint256" - } - ], - "name": "AtomicExchangeFeeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newMaxVolume", - "type": "uint256" - } - ], - "name": "AtomicMaxVolumePerBlockUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newWindow", - "type": "uint256" - } - ], - "name": "AtomicTwapWindowUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVolatilityConsiderationWindow", - "type": "uint256" - } - ], - "name": "AtomicVolatilityConsiderationWindowUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVolatilityUpdateThreshold", - "type": "uint256" - } - ], - "name": "AtomicVolatilityUpdateThresholdUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "collapseFeeRate", - "type": "uint256" - } - ], - "name": "CollapseFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "CrossChainSynthTransferEnabledUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", - "name": "gasLimitType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newLimit", - "type": "uint256" - } - ], - "name": "CrossDomainMessageGasLimitChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "debtSnapshotStaleTime", - "type": "uint256" - } - ], - "name": "DebtSnapshotStaleTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "EtherWrapperBurnFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "maxETH", - "type": "uint256" - } - ], - "name": "EtherWrapperMaxETHUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "EtherWrapperMintFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "dynamicFeeRounds", - "type": "uint256" - } - ], - "name": "ExchangeDynamicFeeRoundsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "dynamicFeeThreshold", - "type": "uint256" - } - ], - "name": "ExchangeDynamicFeeThresholdUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "dynamicFeeWeightDecay", - "type": "uint256" - } - ], - "name": "ExchangeDynamicFeeWeightDecayUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newExchangeFeeRate", - "type": "uint256" - } - ], - "name": "ExchangeFeeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "maxDynamicFee", - "type": "uint256" - } - ], - "name": "ExchangeMaxDynamicFeeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newFeePeriodDuration", - "type": "uint256" - } - ], - "name": "FeePeriodDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newReward", - "type": "uint256" - } - ], - "name": "FlagRewardUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "interactionDelay", - "type": "uint256" - } - ], - "name": "InteractionDelayUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newRatio", - "type": "uint256" - } - ], - "name": "IssuanceRatioUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newReward", - "type": "uint256" - } - ], - "name": "LiquidateRewardUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDelay", - "type": "uint256" - } - ], - "name": "LiquidationDelayUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "LiquidationEscrowDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newPenalty", - "type": "uint256" - } - ], - "name": "LiquidationPenaltyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newRatio", - "type": "uint256" - } - ], - "name": "LiquidationRatioUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "minimumStakeTime", - "type": "uint256" - } - ], - "name": "MinimumStakeTimeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - } - ], - "name": "PriceDeviationThresholdUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "PureChainlinkPriceForAtomicSwapsEnabledUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "rateStalePeriod", - "type": "uint256" - } - ], - "name": "RateStalePeriodUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newPenalty", - "type": "uint256" - } - ], - "name": "SelfLiquidationPenaltyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newPenalty", - "type": "uint256" - } - ], - "name": "SnxLiquidationPenaltyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newTargetThreshold", - "type": "uint256" - } - ], - "name": "TargetThresholdUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "enabled", - "type": "bool" - } - ], - "name": "TradingRewardsEnabled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "waitingPeriodSecs", - "type": "uint256" - } - ], - "name": "WaitingPeriodSecsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "wrapper", - "type": "address" - }, - { - "indexed": false, - "internalType": "int256", - "name": "rate", - "type": "int256" - } - ], - "name": "WrapperBurnFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "wrapper", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "maxTokenAmount", - "type": "uint256" - } - ], - "name": "WrapperMaxTokenAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "wrapper", - "type": "address" - }, - { - "indexed": false, - "internalType": "int256", - "name": "rate", - "type": "int256" - } - ], - "name": "WrapperMintFeeRateUpdated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "aggregatorWarningFlags", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "atomicEquivalentForDexPricing", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "atomicExchangeFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "atomicMaxVolumePerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "atomicTwapWindow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "atomicVolatilityConsiderationWindow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "atomicVolatilityUpdateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "collapseFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "crossChainSynthTransferEnabled", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", - "name": "gasLimitType", - "type": "uint8" - } - ], - "name": "crossDomainMessageGasLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "debtSnapshotStaleTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "etherWrapperBurnFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "etherWrapperMaxETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "etherWrapperMintFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeDynamicFeeRounds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeDynamicFeeThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeDynamicFeeWeightDecay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "exchangeFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeMaxDynamicFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feePeriodDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "flagReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "interactionDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issuanceRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidateReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationEscrowDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationPenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumStakeTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "priceDeviationThresholdFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "pureChainlinkPriceForAtomicSwapsEnabled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rateStalePeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "selfLiquidationPenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_flags", - "type": "address" - } - ], - "name": "setAggregatorWarningFlags", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_equivalent", - "type": "address" - } - ], - "name": "setAtomicEquivalentForDexPricing", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_exchangeFeeRate", - "type": "uint256" - } - ], - "name": "setAtomicExchangeFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxVolume", - "type": "uint256" - } - ], - "name": "setAtomicMaxVolumePerBlock", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_window", - "type": "uint256" - } - ], - "name": "setAtomicTwapWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_window", - "type": "uint256" - } - ], - "name": "setAtomicVolatilityConsiderationWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_threshold", - "type": "uint256" - } - ], - "name": "setAtomicVolatilityUpdateThreshold", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_collateral", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_collapseFeeRate", - "type": "uint256" - } - ], - "name": "setCollapseFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "setCrossChainSynthTransferEnabled", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits", - "name": "_gasLimitType", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "_crossDomainMessageGasLimit", - "type": "uint256" - } - ], - "name": "setCrossDomainMessageGasLimit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_seconds", - "type": "uint256" - } - ], - "name": "setDebtSnapshotStaleTime", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "setEtherWrapperBurnFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxETH", - "type": "uint256" - } - ], - "name": "setEtherWrapperMaxETH", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "setEtherWrapperMintFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "rounds", - "type": "uint256" - } - ], - "name": "setExchangeDynamicFeeRounds", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - } - ], - "name": "setExchangeDynamicFeeThreshold", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "weightDecay", - "type": "uint256" - } - ], - "name": "setExchangeDynamicFeeWeightDecay", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "exchangeFeeRates", - "type": "uint256[]" - } - ], - "name": "setExchangeFeeRateForSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "maxFee", - "type": "uint256" - } - ], - "name": "setExchangeMaxDynamicFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_feePeriodDuration", - "type": "uint256" - } - ], - "name": "setFeePeriodDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "setFlagReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_collateral", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_interactionDelay", - "type": "uint256" - } - ], - "name": "setInteractionDelay", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "ratio", - "type": "uint256" - } - ], - "name": "setIssuanceRatio", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "setLiquidateReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "setLiquidationDelay", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setLiquidationEscrowDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "name": "setLiquidationPenalty", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_liquidationRatio", - "type": "uint256" - } - ], - "name": "setLiquidationRatio", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_seconds", - "type": "uint256" - } - ], - "name": "setMinimumStakeTime", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_priceDeviationThresholdFactor", - "type": "uint256" - } - ], - "name": "setPriceDeviationThresholdFactor", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "_enabled", - "type": "bool" - } - ], - "name": "setPureChainlinkPriceForAtomicSwapsEnabled", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "period", - "type": "uint256" - } - ], - "name": "setRateStalePeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "name": "setSelfLiquidationPenalty", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "name": "setSnxLiquidationPenalty", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - } - ], - "name": "setTargetThreshold", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_tradingRewardsEnabled", - "type": "bool" - } - ], - "name": "setTradingRewardsEnabled", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_waitingPeriodSecs", - "type": "uint256" - } - ], - "name": "setWaitingPeriodSecs", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - }, - { - "internalType": "int256", - "name": "_rate", - "type": "int256" - } - ], - "name": "setWrapperBurnFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxTokenAmount", - "type": "uint256" - } - ], - "name": "setWrapperMaxTokenAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - }, - { - "internalType": "int256", - "name": "_rate", - "type": "int256" - } - ], - "name": "setWrapperMintFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "snxLiquidationPenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "targetThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tradingRewardsEnabled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "waitingPeriodSecs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "wrapper", - "type": "address" - } - ], - "name": "wrapperBurnFeeRate", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "wrapper", - "type": "address" - } - ], - "name": "wrapperMaxTokenAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "wrapper", - "type": "address" - } - ], - "name": "wrapperMintFeeRate", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012", - "urls": [ - "bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9", - "dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SystemSettings.sol": "SystemSettings" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SystemSettings.sol": { - "keccak256": "0xf16be41e0e15a1215149672cc52355cb736ca01cf79e221751631bb721538012", - "urls": [ - "bzz-raw://ab88f382912975a828347b595e628ed2e46d829746a38de3212323b248159bf9", - "dweb:/ipfs/QmanvvyEDZ2uoHwepXH76Tx31eN9A7xceTtuURPLtVZQUd" - ] - } - }, - "version": 1 - } - }, - "SystemStatus": { - "bytecode": "608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a72315820c9e82db9e645d7c999cf9790194fd395314e1548d7a66d033b50a911c583a35f64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "section", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "canSuspend", - "type": "bool" - }, - { - "indexed": false, - "internalType": "bool", - "name": "canResume", - "type": "bool" - } - ], - "name": "AccessControlUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "ExchangeResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "ExchangeSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "FuturesMarketResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "FuturesMarketSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "FuturesResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "FuturesSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "IssuanceResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "IssuanceSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SynthExchangeResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SynthExchangeSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SynthResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SynthSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SystemResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "SystemSuspended", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_EXCHANGE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_FUTURES", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_ISSUANCE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_SYNTH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_SYNTH_EXCHANGE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SECTION_SYSTEM", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "SUSPENSION_REASON_UPGRADE", - "outputs": [ - { - "internalType": "uint248", - "name": "", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "accessControl", - "outputs": [ - { - "internalType": "bool", - "name": "canSuspend", - "type": "bool" - }, - { - "internalType": "bool", - "name": "canResume", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "futuresMarketSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "futuresSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "marketKeys", - "type": "bytes32[]" - } - ], - "name": "getFuturesMarketSuspensions", - "outputs": [ - { - "internalType": "bool[]", - "name": "suspensions", - "type": "bool[]" - }, - { - "internalType": "uint256[]", - "name": "reasons", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synths", - "type": "bytes32[]" - } - ], - "name": "getSynthExchangeSuspensions", - "outputs": [ - { - "internalType": "bool[]", - "name": "exchangeSuspensions", - "type": "bool[]" - }, - { - "internalType": "uint256[]", - "name": "reasons", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synths", - "type": "bytes32[]" - } - ], - "name": "getSynthSuspensions", - "outputs": [ - { - "internalType": "bool[]", - "name": "suspensions", - "type": "bool[]" - }, - { - "internalType": "uint256[]", - "name": "reasons", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isSystemUpgrading", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issuanceSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "requireExchangeActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "requireExchangeBetweenSynthsAllowed", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "requireFuturesActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - } - ], - "name": "requireFuturesMarketActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "requireIssuanceActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "requireSynthActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "requireSynthExchangeActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "requireSynthsActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "requireSystemActive", - "outputs": [], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeFutures", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - } - ], - "name": "resumeFuturesMarket", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "marketKeys", - "type": "bytes32[]" - } - ], - "name": "resumeFuturesMarkets", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeIssuance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "resumeSynth", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "resumeSynthExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "resumeSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "resumeSynthsExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeSystem", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendFutures", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendFuturesMarket", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "marketKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendFuturesMarkets", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendIssuance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendSynth", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendSynthExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendSynthsExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reason", - "type": "uint256" - } - ], - "name": "suspendSystem", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthExchangeSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "synthSuspended", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "systemSuspended", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "systemSuspension", - "outputs": [ - { - "internalType": "bool", - "name": "suspended", - "type": "bool" - }, - { - "internalType": "uint248", - "name": "reason", - "type": "uint248" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "section", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bool", - "name": "canSuspend", - "type": "bool" - }, - { - "internalType": "bool", - "name": "canResume", - "type": "bool" - } - ], - "name": "updateAccessControl", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "sections", - "type": "bytes32[]" - }, - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "canSuspends", - "type": "bool[]" - }, - { - "internalType": "bool[]", - "name": "canResumes", - "type": "bool[]" - } - ], - "name": "updateAccessControls", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902", - "urls": [ - "bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf", - "dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SystemStatus.sol": "SystemStatus" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SystemStatus.sol": { - "keccak256": "0xdc365957bd1b885c69a17c1a6f50b7c8a533fcee094040d0bd4391b2d2310902", - "urls": [ - "bzz-raw://d853404109ef09dc3249846064fe2920d753a39f31f66dae66520d7b30aa2fdf", - "dweb:/ipfs/QmXK2yvuGaeitEx7NH17XderHZ1VBm5aZWeKmuLK4xdHrw" - ] - } - }, - "version": 1 - } - }, - "ExchangeRatesWithDexPricing": { - "bytecode": "60806040523480156200001157600080fd5b50604051620047bc380380620047bc833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61459580620002276000396000f3fe608060405234801561001057600080fd5b50600436106102685760003560e01c8063614d08f8116101515780638da5cb5b116100c3578063c8e5bbd511610087578063c8e5bbd514610563578063ce8480ea14610584578063d89ee86114610597578063ed762450146105aa578063fce132f9146105cb578063fdadbc7e146105de57610268565b80638da5cb5b1461050d5780639eab4a3714610515578063ac82f6081461051d578063b295ad3414610530578063c2c8a6761461055057610268565b806374eded391161011557806374eded39146104b157806379ba5097146104c45780637a018a1e146104cc5780638295016a146104df5780638661cc7b146104f2578063899ffef41461050557610268565b8063614d08f814610459578063654a60ac146104615780636ce66c80146104745780637103353e1461049657806374185360146104a957610268565b80632528f0fe116101ea57806338aa1b99116101ae57806338aa1b99146103e25780633f0e084f146103f55780634308a94f146104085780634c36b837146104295780634f72def61461043e57806353a47bb71461045157610268565b80632528f0fe146103815780632678df961461039457806326bd30fa146103b45780632af64bd3146103c75780632bed9e0c146103cf57610268565b80630a7d36d1116102315780630a7d36d1146103105780630c71cd23146103235780630ee4951b14610344578063109e46a2146103595780631627540c1461036c57610268565b80629919c01461026d578063045056f81461029657806304f3bcec146102b8578063055286e0146102cd57806305a046e5146102f0575b600080fd5b61028061027b3660046135ff565b6105f1565b60405161028d919061419b565b60405180910390f35b6102a96102a43660046135ff565b61060c565b60405161028d93929190614395565b6102c061077f565b60405161028d919061421b565b6102e06102db366004613687565b61078e565b60405161028d94939291906143e5565b6103036102fe36600461352f565b61096b565b60405161028d9190614145565b61028061031e36600461352f565b6109ed565b6103366103313660046135ff565b610b16565b60405161028d92919061437a565b61034c610bb3565b60405161028d91906141a9565b61034c610367366004613749565b610bc3565b61037f61037a3660046134be565b610c06565b005b61028061038f3660046135ff565b610c64565b6103a76103a23660046134be565b610c70565b60405161028d9190614134565b6102e06103c2366004613806565b610d24565b610280610de3565b61037f6103dd3660046135ff565b610efa565b6102806103f03660046135ff565b610fb7565b61037f61040336600461361d565b610fc5565b61041b6104163660046135ff565b6111cc565b60405161028d9291906141c5565b610431611204565b60405161028d9190614081565b61034c61044c3660046135ff565b61120e565b61043161122c565b61034c61123b565b61034c61046f366004613687565b61125f565b6104876104823660046136d4565b611277565b60405161028d939291906143bd565b6102c06104a43660046135ff565b6112dc565b61037f6112f7565b61037f6104bf3660046137aa565b61144d565b61037f611512565b61034c6104da3660046135ff565b6115ae565b6104876104ed366004613687565b6115b9565b6102806105003660046135ff565b6115d9565b6103a761167b565b6104316116f2565b6102c0611701565b61034c61052b3660046135ff565b6117ad565b61054361053e3660046135ff565b6117c8565b60405161028d919061440d565b61030361055e36600461352f565b6117dd565b61057661057136600461352f565b611855565b60405161028d92919061417b565b61034c6105923660046135ff565b6119a5565b6102806105a5366004613571565b6119b0565b6105bd6105b8366004613687565b611af5565b60405161028d929190614156565b6102806105d93660046137c8565b611bd3565b61041b6105ec366004613657565b611cb6565b6000610604826105ff611ccf565b611d79565b90505b919050565b600081815260046020526040812054819081906001600160a01b0316631cd554d160e21b85148061064557506001600160a01b03811615155b61066a5760405162461bcd60e51b8152600401610661906142ca565b60405180910390fd5b610672613083565b61067b86611da4565b9050631cd554d160e21b8614156106a657516001600160d81b03169350600092508291506107789050565b80516001600160d81b031694506106bb611f6e565b815160405163413caeb560e01b81526001600160a01b03929092169163413caeb5916106ec918691906004016140c5565b602060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073e91908101906135e1565b935061075c61074b611ccf565b826020015164ffffffffff16611f8a565b8061077357506107738661076e611fa5565b612006565b925050505b9193909250565b6002546001600160a01b031681565b60008060008061079c61309a565b6107a46120d6565b6001600160a01b031663697b659b338a6040518363ffffffff1660e01b81526004016107d192919061408f565b6101a06040518083038186803b1580156107ea57600080fd5b505afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082291908101906137e7565b905061082c61309a565b6108346120d6565b6001600160a01b031663697b659b33896040518363ffffffff1660e01b815260040161086192919061408f565b6101a06040518083038186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b291908101906137e7565b90506108bc61309a565b6108c46120d6565b6001600160a01b031663697b659b33631cd554d160e21b6040518363ffffffff1660e01b81526004016108f892919061408f565b6101a06040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061094991908101906137e7565b9050610957838a8484610d24565b965096509650965050505093509350935093565b6060808383905060405190808252806020026020018201604052801561099b578160200160208202803883390190505b50905060005b838110156109e3576109c48585838181106109b857fe5b905060200201356120fc565b8282815181106109d057fe5b60209081029190910101526001016109a1565b5090505b92915050565b6000806109f8611ccf565b90506060610a3885858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b84811015610b0a57631cd554d160e21b868683818110610a5957fe5b905060200201351415610a6b57610b02565b610a73613083565b610a8e878784818110610a8257fe5b90506020020135611da4565b9050828281518110610a9c57fe5b602002602001015180610abf5750610abf84826020015164ffffffffff16611f8a565b80610aee5750610aee878784818110610ad457fe5b9050602002013582600001516001600160d81b0316612293565b15610b005760019450505050506109e7565b505b600101610a3d565b50600095945050505050565b600080610b21613083565b610b2a84611da4565b9050631cd554d160e21b841415610b5057516001600160d81b0316915060009050610bae565b8051610b6e610b5d611ccf565b836020015164ffffffffff16611f8a565b80610b805750610b808561076e611fa5565b80610b9d5750610b9d8583600001516001600160d81b0316612293565b6001600160d81b0390911693509150505b915091565b6000610bbd611ccf565b90505b90565b600083815b610bd5878360010161232d565b915050801580610be6575083850181115b15610bf357509050610bfe565b600190910190610bc8565b949350505050565b610c0e6124cf565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610c59908390614081565b60405180910390a150565b600080610bfe83610b16565b600654604080518281526020808402820101909152606091600091908015610ca2578160200160208202803883390190505b50915060005b600654811015610d1d57600060068281548110610cc157fe5b600091825260208083209091015480835260049091526040909120549091506001600160a01b039081169086161415610d145780848480600101955081518110610d0757fe5b6020026020010181815250505b50600101610ca8565b5050919050565b600080600080610d3d88600001518888600001516124fb565b8a519295509093509150600090610d539061254d565b90506000610d64886000015161254d565b90506000808315610d7757859150610d8e565b610d8b86610d868e8c8f61262d565b612841565b91505b8215610d9b575083610db2565b610daf85610daa8b8d8f61262d565b612857565b90505b610dd281610dc68d8563ffffffff61286616565b9063ffffffff6128a016565b975050505050945094509450949050565b60006060610def61167b565b905060005b8151811015610ef1576000828281518110610e0b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610e5c9085906004016141a9565b60206040518083038186803b158015610e7457600080fd5b505afa158015610e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eac91908101906134dc565b6001600160a01b0316141580610ed757506000818152600360205260409020546001600160a01b0316155b15610ee85760009350505050610bc0565b50600101610df4565b50600191505090565b610f026124cf565b6000818152600460205260409020546001600160a01b031680610f375760405162461bcd60e51b81526004016106619061436a565b600082815260046020908152604080832080546001600160a01b031916905560059091528120805460ff19169055610f708360066128d5565b90508015610fb2577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f7778383604051610fa99291906141b7565b60405180910390a15b505050565b60006106048261076e611fa5565b610fcd6124cf565b60008190506000816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611045919081019061385f565b10156110635760405162461bcd60e51b81526004016106619061434a565b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110d691908101906138e5565b9050601b8160ff1611156110fc5760405162461bcd60e51b8152600401610661906142ba565b6000848152600460205260409020546001600160a01b031661114e57600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080546001600160a01b0319166001600160a01b038716179055600590915290819020805460ff191660ff8416179055517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63906111be90869085906141b7565b60405180910390a150505050565b6000806111d7613083565b6111e084611da4565b80516020909101516001600160d81b03909116935064ffffffffff16915050915091565b6000610bbd611fa5565b6006818154811061121b57fe5b600091825260209091200154905081565b6001546001600160a01b031681565b7f45786368616e676552617465735769746844657850726963696e67000000000081565b600061126c8484846124fb565b509095945050505050565b6000806000611286888661232d565b5091508786141561129b5750859150806112d1565b6112a5868561232d565b50905080156112d1576112ce816112c2898563ffffffff61297916565b9063ffffffff61298e16565b92505b955095509592505050565b6004602052600090815260409020546001600160a01b031681565b606061130161167b565b905060005b815181101561144957600082828151811061131d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161135f9190614076565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161138b9291906141fb565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906134dc565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061143790849084906141b7565b60405180910390a15050600101611306565b5050565b6114556124cf565b61145d6129a3565b6001600160a01b0316634dca09786c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b846040518463ffffffff1660e01b81526004016114b1939291906141d3565b600060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505050507f8a51d16f378c74938a4b9290afe425bbfba62f05aa9d27bff5e892f62696f76081604051610c599190614081565b6001546001600160a01b0316331461153c5760405162461bcd60e51b81526004016106619061425a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261157f926001600160a01b03918216929116906140aa565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610604826129c0565b60008060006115c98686866124fb565b9250925092505b93509350939050565b60006115e361309a565b6115eb6120d6565b6001600160a01b031663697b659b33856040518363ffffffff1660e01b815260040161161892919061408f565b6101a06040518083038186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166991908101906137e7565b905061167481611bd3565b9392505050565b606080611686612a70565b6040805160018082528183019092529192506060919060208083019080388339019050509050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b816000815181106116d557fe5b6020026020010181815250506116eb8282612ac0565b9250505090565b6000546001600160a01b031681565b600061170b6129a3565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161175d9291906141c5565b60206040518083038186803b15801561177557600080fd5b505afa158015611789573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd91908101906134dc565b60006117b882611da4565b516001600160d81b031692915050565b60056020526000908152604090205460ff1681565b6060808383905060405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b838110156109e35761183685858381811061182a57fe5b905060200201356117ad565b82828151811061184257fe5b6020908102919091010152600101611813565b6060600083839050604051908082528060200260200182016040528015611886578160200160208202803883390190505b5091506000611893611ccf565b905060606118d386868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b8581101561199b576118e8613083565b6118f7888884818110610a8257fe5b905080600001516001600160d81b031686838151811061191357fe5b602002602001018181525050841580156119465750631cd554d160e21b88888481811061193c57fe5b9050602002013514155b156119925782828151811061195757fe5b60200260200101518061197a575061197a84826020015164ffffffffff16611f8a565b8061198f575061198f888884818110610ad457fe5b94505b506001016118d8565b5050509250929050565b6000610604826120fc565b60008184146119d15760405162461bcd60e51b81526004016106619061435a565b60006119db611ccf565b90506060611a1b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b86811015611ae757631cd554d160e21b888883818110611a3c57fe5b905060200201351415611a4e57611adf565b600080611a7f8a8a85818110611a6057fe5b90506020020135898986818110611a7357fe5b9050602002013561232d565b91509150838381518110611a8f57fe5b602002602001015180611aa75750611aa78582611f8a565b80611ac95750611ac98a8a85818110611abc57fe5b9050602002013583612293565b15611adc57600195505050505050610bfe565b50505b600101611a20565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611b22578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611b4f578160200160208202803883390190505b50905060008311611b6857611b63856129c0565b611b6a565b825b925060005b84811015611bc957611b81868561232d565b848381518110611b8d57fe5b60200260200101848481518110611ba057fe5b60209081029190910101919091525283611bba5750611bcb565b60001990930192600101611b6f565b505b935093915050565b8051600090631cd554d160e21b1415611bee57506000610607565b60c082015160e0830151811580611c03575080155b15611c1357600092505050610607565b6000611c25428463ffffffff612b7c16565b90506000611c3686600001516129c0565b90505b8215611caa57600080611c5088600001518461232d565b9150915080600014158015611c6457508381105b15611c785760009650505050505050610607565b811580611c83575080155b15611c8f575050611caa565b82611c9b575050611caa565b50506000199283019201611c39565b50600195945050505050565b600080611cc3848461232d565b915091505b9250929050565b6000611cd96129a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401611d299291906141c5565b60206040518083038186803b158015611d4157600080fd5b505afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd919081019061385f565b6000631cd554d160e21b831415611d92575060006109e7565b61167482611d9f856120fc565b611f8a565b611dac613083565b631cd554d160e21b821415611e5c57604051806040016040528073__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0a57600080fd5b505af4158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e42919081019061385f565b6001600160d81b0316815260006020909101529050610607565b6000828152600460205260409020546001600160a01b03168015611f685760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b17905290516000906060906001600160a01b03851690611ec090859061404a565b600060405180830381855afa9150503d8060008114611efb576040519150601f19603f3d011682016040523d82523d6000602084013e611f00565b606091505b50915091508115611f645760008082806020019051611f22919081019061387d565b509350509250506040518060400160405280611f3e8a85612ba4565b6001600160d81b031681526020018264ffffffffff168152509650505050505050610607565b5050505b50919050565b6000610bbd6d21b4b931bab4ba213932b0b5b2b960911b612c44565b600042611f9d838563ffffffff612ca116565b109392505050565b6000611faf6129a3565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b815260040161175d9291906141c5565b6000631cd554d160e21b83141561201f575060006109e7565b6000838152600460205260409020546001600160a01b031680158061204b57506001600160a01b038316155b1561205a5760009150506109e7565b604051631abf23ff60e11b81526001600160a01b0384169063357e47fe90612086908490600401614081565b60206040518083038186803b15801561209e57600080fd5b505afa1580156120b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bfe91908101906135e1565b6000610bbd772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612c44565b600061210782611da4565b6020015164ffffffffff1692915050565b60606000612124611fa5565b90506001600160a01b038116156122605760608351604051908082528060200260200182016040528015612162578160200160208202803883390190505b50905060005b84518110156121d7576004600086838151811061218157fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106121b757fe5b6001600160a01b0390921660209283029190910190910152600101612168565b50604051631f5c8f2b60e21b81526001600160a01b03831690637d723cac90612204908490600401614123565b60006040518083038186803b15801561221c57600080fd5b505afa158015612230573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261225891908101906134fa565b925050611f68565b825160405190808252806020026020018201604052801561228b578160200160208202803883390190505b509392505050565b600061229d611f6e565b6000848152600460208190526040918290205491516318b844ad60e01b81526001600160a01b03938416936318b844ad936122dd939116918791016140e0565b60206040518083038186803b1580156122f557600080fd5b505afa158015612309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167491908101906135e1565b600080631cd554d160e21b8414156123c65773__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561238357600080fd5b505af4158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123bb919081019061385f565b915060009050611cc8565b6000848152600460205260409020546001600160a01b031680156124c7576060846040516024016123f791906141a9565b60408051601f198184030181529181526020820180516001600160e01b0316639a6fc8f560e01b179052519091506000906060906001600160a01b0385169061244190859061404a565b600060405180830381855afa9150503d806000811461247c576040519150601f19603f3d011682016040523d82523d6000602084013e612481565b606091505b509150915081156124c357600080828060200190516124a3919081019061387d565b509350509250506124b48a83612ba4565b97509550611cc8945050505050565b5050505b509250929050565b6000546001600160a01b031633146124f95760405162461bcd60e51b8152600401610661906142fa565b565b6000806000612509866117ad565b91508386141561251d5750839150806115d0565b612526846117ad565b905080156115d057612542816112c2878563ffffffff61297916565b925093509350939050565b60006125576129a3565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020016125aa929190614024565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016125dd9291906141c5565b60206040518083038186803b1580156125f557600080fd5b505afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061060491908101906135e1565b60008161264c5760405162461bcd60e51b8152600401610661906142aa565b8351631cd554d160e21b148061266957508251631cd554d160e21b145b6126855760405162461bcd60e51b81526004016106619061424a565b60408401516001600160a01b0381166126b05760405162461bcd60e51b81526004016106619061423a565b60408401516001600160a01b0381166126db5760405162461bcd60e51b81526004016106619061431a565b600061278185610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561272857600080fd5b505af415801561273c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612760919081019061385f565b6127758b6020015188888c8f60800151612cc6565b9063ffffffff61286616565b9050806127a05760405162461bcd60e51b81526004016106619061433a565b8551631cd554d160e21b146128345761282f8173__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f757600080fd5b505af415801561280b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112c2919081019061385f565b612836565b805b979650505050505050565b60008183106128505781611674565b5090919050565b60008183116128505781611674565b600082612875575060006109e7565b8282028284828161288257fe5b04146116745760405162461bcd60e51b81526004016106619061430a565b60008082116128c15760405162461bcd60e51b8152600401610661906142ea565b60008284816128cc57fe5b04949350505050565b6000805b825481101561296f57838382815481106128ef57fe5b906000526020600020015414156129675782818154811061290c57fe5b600091825260208220015582548390600019810190811061292957fe5b906000526020600020015483828154811061294057fe5b600091825260209091200155825461295c846000198301613117565b5060019150506109e7565b6001016128d9565b5060009392505050565b60006116748383670de0b6b3a7640000612fcf565b60006116748383670de0b6b3a764000061300c565b6000610bbd6e466c657869626c6553746f7261676560881b612c44565b6000631cd554d160e21b8214156129d957506000610607565b6000828152600460205260409020546001600160a01b03168015611f6857806001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3057600080fd5b505afa158015612a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a68919081019061385f565b915050610607565b606080612a7b613032565b60408051600180825281830190925291925060609190602080830190803883390190505090506d21b4b931bab4ba213932b0b5b2b960911b816000815181106116d557fe5b60608151835101604051908082528060200260200182016040528015612af0578160200160208202803883390190505b50905060005b8351811015612b3257838181518110612b0b57fe5b6020026020010151828281518110612b1f57fe5b6020908102919091010152600101612af6565b5060005b8251811015612b7557828181518110612b4b57fe5b6020026020010151828286510181518110612b6257fe5b6020908102919091010152600101612b36565b5092915050565b600082821115612b9e5760405162461bcd60e51b8152600401610661906142da565b50900390565b600080821215612bc65760405162461bcd60e51b81526004016106619061426a565b60008381526005602052604090205460ff1682811580612be65750816012145b15612bf057610bfe565b6012821015612c19576012829003600a0a612c11828263ffffffff61286616565b915050610bfe565b6012821115610bfe576011198201600a0a612c3a828263ffffffff6128a016565b9695505050505050565b60008181526003602090815260408083205490516001600160a01b039091169182151591612c7491869101614056565b60405160208183030381529060405290612b755760405162461bcd60e51b81526004016106619190614229565b6000828201838110156116745760405162461bcd60e51b81526004016106619061428a565b600080612dcf73__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1057600080fd5b505af4158015612d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d48919081019061385f565b610dc6886001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8457600080fd5b505afa158015612d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dbc91908101906138e5565b879060ff16600a0a63ffffffff61286616565b90506001600160a01b038716612df75760405162461bcd60e51b81526004016106619061432a565b82612e145760405162461bcd60e51b81526004016106619061429a565b604051637c66194960e01b81526000906001600160a01b03891690637c66194990612e49908a9086908b908a906004016140ee565b60206040518083038186803b158015612e6157600080fd5b505afa158015612e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e99919081019061385f565b905060008111612ebb5760405162461bcd60e51b81526004016106619061427a565b612fc1866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ef757600080fd5b505afa158015612f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2f91908101906138e5565b60ff16600a0a610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f7c57600080fd5b505af4158015612f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fb4919081019061385f565b849063ffffffff61286616565b925050505b95945050505050565b600080600a8304612fe6868663ffffffff61286616565b81612fed57fe5b0490506005600a825b061061300057600a015b600a9004949350505050565b60008061302684610dc687600a870263ffffffff61286616565b90506005600a82612ff6565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061307457fe5b60200260200101818152505090565b604080518082019091526000808252602082015290565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b815481835581811115610fb257600083815260209020610fb2918101908301610bc091905b80821115613150576000815560010161313c565b5090565b80356109e78161450e565b80516109e78161450e565b600082601f83011261317b57600080fd5b815161318e61318982614442565b61441b565b915081818352602084019350602081019050838560208402820111156131b357600080fd5b60005b838110156131df57816131c9888261322b565b84525060209283019291909101906001016131b6565b5050505092915050565b60008083601f8401126131fb57600080fd5b50813567ffffffffffffffff81111561321357600080fd5b602083019150836020820283011115611cc857600080fd5b80516109e781614525565b80356109e78161452e565b80516109e78161452e565b80356109e781614537565b60006101a0828403121561326a57600080fd5b6132756101a061441b565b905060006132838484613236565b825250602061329484848301613154565b60208301525060406132a884828501613154565b60408301525060606132bc84828501613236565b60608301525060806132d084828501613236565b60808301525060a06132e484828501613236565b60a08301525060c06132f884828501613236565b60c08301525060e061330c84828501613236565b60e08301525061010061332184828501613236565b6101008301525061012061333784828501613236565b6101208301525061014061334d84828501613236565b6101408301525061016061336384828501613236565b6101608301525061018061337984828501613236565b6101808301525092915050565b60006101a0828403121561339957600080fd5b6133a46101a061441b565b905060006133b28484613241565b82525060206133c38484830161315f565b60208301525060406133d78482850161315f565b60408301525060606133eb84828501613241565b60608301525060806133ff84828501613241565b60808301525060a061341384828501613241565b60a08301525060c061342784828501613241565b60c08301525060e061343b84828501613241565b60e08301525061010061345084828501613241565b6101008301525061012061346684828501613241565b6101208301525061014061347c84828501613241565b6101408301525061016061349284828501613241565b6101608301525061018061337984828501613241565b80516109e781614549565b80516109e781614540565b6000602082840312156134d057600080fd5b6000610bfe8484613154565b6000602082840312156134ee57600080fd5b6000610bfe848461315f565b60006020828403121561350c57600080fd5b815167ffffffffffffffff81111561352357600080fd5b610bfe8482850161316a565b6000806020838503121561354257600080fd5b823567ffffffffffffffff81111561355957600080fd5b613565858286016131e9565b92509250509250929050565b6000806000806040858703121561358757600080fd5b843567ffffffffffffffff81111561359e57600080fd5b6135aa878288016131e9565b9450945050602085013567ffffffffffffffff8111156135c957600080fd5b6135d5878288016131e9565b95989497509550505050565b6000602082840312156135f357600080fd5b6000610bfe848461322b565b60006020828403121561361157600080fd5b6000610bfe8484613236565b6000806040838503121561363057600080fd5b600061363c8585613236565b925050602061364d85828601613154565b9150509250929050565b6000806040838503121561366a57600080fd5b60006136768585613236565b925050602061364d85828601613236565b60008060006060848603121561369c57600080fd5b60006136a88686613236565b93505060206136b986828701613236565b92505060406136ca86828701613236565b9150509250925092565b600080600080600060a086880312156136ec57600080fd5b60006136f88888613236565b955050602061370988828901613236565b945050604061371a88828901613236565b935050606061372b88828901613236565b925050608061373c88828901613236565b9150509295509295909350565b6000806000806080858703121561375f57600080fd5b600061376b8787613236565b945050602061377c87828801613236565b935050604061378d87828801613236565b925050606061379e87828801613236565b91505092959194509250565b6000602082840312156137bc57600080fd5b6000610bfe848461324c565b60006101a082840312156137db57600080fd5b6000610bfe8484613257565b60006101a082840312156137fa57600080fd5b6000610bfe8484613386565b600080600080610500858703121561381d57600080fd5b60006138298787613257565b9450506101a061383b87828801613236565b9350506101c061384d87828801613257565b92505061036061379e87828801613257565b60006020828403121561387157600080fd5b6000610bfe8484613241565b600080600080600060a0868803121561389557600080fd5b60006138a188886134a8565b95505060206138b288828901613241565b94505060406138c388828901613241565b93505060606138d488828901613241565b925050608061373c888289016134a8565b6000602082840312156138f757600080fd5b6000610bfe84846134b3565b600061390f8383613932565b505060200190565b600061390f8383613a39565b61392c816144be565b82525050565b61392c81614476565b600061394682614469565b613950818561446d565b935061395b83614463565b8060005b838110156139895781516139738882613903565b975061397e83614463565b92505060010161395f565b509495945050505050565b600061399f82614469565b6139a9818561446d565b93506139b483614463565b8060005b838110156139895781516139cc8882613917565b97506139d783614463565b9250506001016139b8565b60006139ed82614469565b6139f7818561446d565b9350613a0283614463565b8060005b83811015613989578151613a1a8882613917565b9750613a2583614463565b925050600101613a06565b61392c81614481565b61392c81610bc0565b61392c613a4e82610bc0565b610bc0565b6000613a5e82614469565b613a688185610607565b9350613a788185602086016144d4565b9290920192915050565b61392c81614486565b6000613a9682614469565b613aa0818561446d565b9350613ab08185602086016144d4565b613ab981614504565b9093019392505050565b6000613ad0601f8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f7220736f7572636500815260200192915050565b6000613b0960218361446d565b7f41746f6d6963207377617073206d75737420676f207468726f756768207355538152601160fa1b602082015260400192915050565b6000613b4c60358361446d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613ba3601b8361446d565b7f4e656761746976652072617465206e6f7420737570706f727465640000000000815260200192915050565b6000613bdc60148361446d565b7306465782070726963652072657475726e656420360641b815260200192915050565b6000613c0c601b8361446d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613c4560208361446d565b7f556e696e697469616c697a65642061746f6d696320747761702077696e646f77815260200192915050565b6000613c7e601d8361446d565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613cb760328361446d565b7f41676772656761746f7220646563696d616c732073686f756c64206265206c6f815271776572206f7220657175616c20746f20323760701b602082015260400192915050565b6000613d0b60178361446d565b7f4e6f2061676772656761746f7220666f72206173736574000000000000000000815260200192915050565b6000613d44601e8361446d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613d7d601a8361446d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613db6601183610607565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613de3602f8361446d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613e3460218361446d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e77601d8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f722064657374000000815260200192915050565b6000613eb0601b8361446d565b7f6465782061676772656761746f72206164647265737320697320300000000000815260200192915050565b6000613ee9601d8361446d565b7f526573756c74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613f22601983610607565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613f5b601b8361446d565b7f476976656e2041676772656761746f7220697320696e76616c69640000000000815260200192915050565b6000613f9460308361446d565b7f726f756e64496473206d757374206265207468652073616d65206c656e67746881526f2061732063757272656e63794b65797360801b602082015260400192915050565b6000613fe6601c8361446d565b7f4e6f2061676772656761746f722065786973747320666f72206b657900000000815260200192915050565b61392c816144c9565b61392c816144a9565b60006140308285613a42565b6020820191506140408284613a42565b5060200192915050565b60006116748284613a53565b600061406182613da9565b915061406d8284613a42565b50602001919050565b600061406182613f15565b602081016109e78284613932565b6040810161409d8285613923565b6116746020830184613a39565b604081016140b88285613932565b6116746020830184613932565b604081016140d38285613932565b6116746020830184614012565b6040810161409d8285613932565b608081016140fc8287613932565b6141096020830186613a39565b6141166040830185613932565b612fc66060830184613a39565b60208082528101611674818461393b565b602080825281016116748184613994565b6020808252810161167481846139e2565b6040808252810161416781856139e2565b90508181036020830152610bfe81846139e2565b6040808252810161418c81856139e2565b90506116746020830184613a30565b602081016109e78284613a30565b602081016109e78284613a39565b604081016140b88285613a39565b6040810161409d8285613a39565b606081016141e18286613a39565b6141ee6020830185613a39565b610bfe6040830184613932565b604081016142098285613a39565b8181036020830152610bfe8184613a8b565b602081016109e78284613a82565b602080825281016116748184613a8b565b6020808252810161060481613ac3565b6020808252810161060481613afc565b6020808252810161060481613b3f565b6020808252810161060481613b96565b6020808252810161060481613bcf565b6020808252810161060481613bff565b6020808252810161060481613c38565b6020808252810161060481613c71565b6020808252810161060481613caa565b6020808252810161060481613cfe565b6020808252810161060481613d37565b6020808252810161060481613d70565b6020808252810161060481613dd6565b6020808252810161060481613e27565b6020808252810161060481613e6a565b6020808252810161060481613ea3565b6020808252810161060481613edc565b6020808252810161060481613f4e565b6020808252810161060481613f87565b6020808252810161060481613fd9565b604081016143888285613a39565b6116746020830184613a30565b606081016143a38286613a39565b6143b06020830185613a30565b610bfe6040830184613a30565b606081016143cb8286613a39565b6143d86020830185613a39565b610bfe6040830184613a39565b608081016143f38287613a39565b6144006020830186613a39565b6141166040830185613a39565b602081016109e7828461401b565b60405181810167ffffffffffffffff8111828210171561443a57600080fd5b604052919050565b600067ffffffffffffffff82111561445957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061060482614491565b151590565b600061060482614476565b6001600160a01b031690565b6001600160d81b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061060482614486565b60006106048261449d565b60005b838110156144ef5781810151838201526020016144d7565b838111156144fe576000848401525b50505050565b601f01601f191690565b61451781614476565b811461452257600080fd5b50565b61451781614481565b61451781610bc0565b61451781614486565b614517816144a9565b614517816144af56fea365627a7a7231582004fb27330afe41c4b2fc59aa062d8e94c766b710768a1c0421c6fc1dffaee7526c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "aggregator", - "type": "address" - } - ], - "name": "AggregatorAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "aggregator", - "type": "address" - } - ], - "name": "AggregatorRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newDexPriceAggregator", - "type": "address" - } - ], - "name": "DexPriceAggregatorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "aggregatorAddress", - "type": "address" - } - ], - "name": "addAggregator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "aggregatorKeys", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "aggregatorWarningFlags", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "aggregators", - "outputs": [ - { - "internalType": "contract AggregatorV2V3Interface", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "anyRateIsInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "roundIds", - "type": "uint256[]" - } - ], - "name": "anyRateIsInvalidAtRound", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "aggregator", - "type": "address" - } - ], - "name": "currenciesUsingAggregator", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "currencies", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "currencyKeyDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "dexPriceAggregator", - "outputs": [ - { - "internalType": "contract IDexPriceAggregator", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "effectiveAtomicValueAndRates", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemSourceRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemDestinationRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "sourceSettings", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "destinationSettings", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "usdSettings", - "type": "tuple" - } - ], - "name": "effectiveAtomicValueAndRates", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemSourceRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemDestinationRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "effectiveValue", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "effectiveValueAndRates", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "sourceRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "name": "effectiveValueAndRatesAtRound", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "sourceRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "destinationRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "getCurrentRoundId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "startingRoundId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "startingTimestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timediff", - "type": "uint256" - } - ], - "name": "getLastRoundIdBeforeElapsedSecs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "lastRateUpdateTimes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "lastRateUpdateTimesForCurrencies", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateAndInvalid", - "outputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "name": "rateAndTimestampAtRound", - "outputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateAndUpdatedTime", - "outputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateForCurrency", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateIsFlagged", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateIsInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateIsStale", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rateStalePeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateWithSafetyChecks", - "outputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "broken", - "type": "bool" - }, - { - "internalType": "bool", - "name": "staleOrInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "ratesAndInvalidForCurrencies", - "outputs": [ - { - "internalType": "uint256[]", - "name": "rates", - "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "anyRateInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "numRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "name": "ratesAndUpdatedTimeForCurrencyLastNRounds", - "outputs": [ - { - "internalType": "uint256[]", - "name": "rates", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "times", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "ratesForCurrencies", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "removeAggregator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDexPriceAggregator", - "name": "_dexPriceAggregator", - "type": "address" - } - ], - "name": "setDexPriceAggregator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "synthTooVolatileForAtomicExchange", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "settings", - "type": "tuple" - } - ], - "name": "synthTooVolatileForAtomicExchange", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x4a3780882a5da37ab9dfbe964edfda23ee142c873e79a4e5af3314d5dfaa88b6", - "urls": [ - "bzz-raw://fb5235e432efe7929ba40bcd50abfe36fb51a91300ee3c208b509340f05ce140", - "dweb:/ipfs/QmPBvZw1Pbv1VxWgmrbvMm9T7298W2qu4b25o4kA6UWi3u" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ExchangeRatesWithDexPricing.sol": "ExchangeRatesWithDexPricing" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ExchangeRatesWithDexPricing.sol": { - "keccak256": "0x4a3780882a5da37ab9dfbe964edfda23ee142c873e79a4e5af3314d5dfaa88b6", - "urls": [ - "bzz-raw://fb5235e432efe7929ba40bcd50abfe36fb51a91300ee3c208b509340f05ce140", - "dweb:/ipfs/QmPBvZw1Pbv1VxWgmrbvMm9T7298W2qu4b25o4kA6UWi3u" - ] - } - }, - "version": 1 - } - }, - "LegacyTokenState": { - "bytecode": "608060405234801561001057600080fd5b5060405161050e38038061050e8339818101604052604081101561003357600080fd5b508051602091820151600080546001600160a01b038085166001600160a01b0319928316179092556002805492841692909116821790556040805191825251929391927f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03929181900390910190a1505061045c806100b26000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b806352f445ca146100a357806353a47bb7146100cb5780635b94db27146100ef57806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100d3610260565b604080516001600160a01b039092168252519081900360200190f35b6100c96004803603602081101561010557600080fd5b50356001600160a01b031661026f565b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102da565b60408051918252519081900360200190f35b6100c96102ec565b6100d3610376565b6100d3610385565b6100c96004803603604081101561017b57600080fd5b506001600160a01b038135169060200135610394565b6100c9600480360360608110156101a757600080fd5b506001600160a01b038135811691602081013590911690604001356103c7565b61013b600480360360408110156101dd57600080fd5b506001600160a01b038135811691602001351661040a565b6000546001600160a01b0316331461020c57600080fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b0316331461028657600080fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60036020526000908152604090205481565b6001546001600160a01b0316331461030357600080fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103ab57600080fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146103de57600080fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b60046020908152600092835260408084209091529082529020548156fea265627a7a7231582096278c28ac9dfdfd97da27af4c1053cc25ace9d4cccefe8b0699b699f3ba103864736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "tokenOwner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setAllowance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setBalanceOf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05", - "urls": [ - "bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1", - "dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "legacy/LegacyTokenState.sol": "LegacyTokenState" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "legacy/LegacyTokenState.sol": { - "keccak256": "0x983ee16117ed412c6d9c56d19506b398ae9cf1c012e711076752b92e99630b05", - "urls": [ - "bzz-raw://1f0f3331ddfd076a52cba5f11f98f8047a9a4e784989c71f768d0da6a66923c1", - "dweb:/ipfs/QmSNUtSmxLKuzFZ2VPsTXPBfcwXpr6DsUQW3Qen6Zc52Q6" - ] - } - }, - "version": 1 - } - }, - "ProxyERC20": { - "bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201cc4e3f6eda466d090af6caeee1b1fa656f9ca6d0594741c98080035b366c2e764736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract Proxyable", - "name": "newTarget", - "type": "address" - } - ], - "name": "TargetUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "numTopics", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "topic1", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic2", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic3", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic4", - "type": "bytes32" - } - ], - "name": "_emit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract Proxyable", - "name": "_target", - "type": "address" - } - ], - "name": "setTarget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "target", - "outputs": [ - { - "internalType": "contract Proxyable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3", - "urls": [ - "bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb", - "dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ProxyERC20.sol": "ProxyERC20" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ProxyERC20.sol": { - "keccak256": "0xc5b7b166603a4a2a9288d2dea8690aedbd36d0a7b6c633de7c1d156ced0ab5d3", - "urls": [ - "bzz-raw://aacb4179598fbb0c2a986e5f9199c9ddb994b93fed4cdf8c3904489493718ddb", - "dweb:/ipfs/QmPhCtixtHScUEjE7LaGmB8k2VU2rxTbCwXgShgQ7jXwUP" - ] - } - }, - "version": 1 - } - }, - "Synthetix": { - "bytecode": "60806040523480156200001157600080fd5b506040516200638438038062006384833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001da90600590602088019062000243565b508351620001f090600690602087019062000243565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b615e9380620004f16000396000f3fe608060405234801561001057600080fd5b50600436106104495760003560e01c80636c00f310116102415780639f7698071161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108f3578063e90dd9e214610906578063ec5568891461090e578063edef719a146106b0578063ee52a2f31461091657610449565b8063d37c4d8b146108aa578063d67bdd25146108bd578063d8a1f76f146108c5578063dbf63340146108d8578063dd62ed3e146108e057610449565b8063ace88afd1161010a578063ace88afd14610856578063af086c7e14610869578063bc67f83214610871578063c2bf388014610884578063c836fa0a1461089757610449565b80639f7698071461080a578063a311c7c21461081d578063a5fdc5de14610830578063a9059cbb1461084357610449565b806384358843116101c95780639324cac71161018d5780639324cac7146107cc57806395d89b41146107d457806397107d6d146107dc5780639741fb22146107ef578063987757dd146107f757610449565b80638435884314610775578063899ffef4146107965780638a2900141461079e5780638da5cb5b146107b157806391e56b68146107b957610449565b806372cb051f1161021057806372cb051f1461072a578063741853601461073f57806379ba509714610747578063835e119c1461074f57806383d625d41461076257610449565b80636c00f310146106de5780636f01a986146106f1578063704e7b851461070457806370a082311461071757610449565b80632c955fa71161035257806344b3e923116102da5780635e22846a1161029e5780635e22846a14610695578063614d08f8146106a8578063666ed4f1146106b05780636ac0bf9c146106c35780636b76222f146106d657610449565b806344b3e9231461064a5780634e99bda91461065d578063528c7efb1461066557806353a47bb71461066d5780635af090ef1461068257610449565b806330ead7601161032157806330ead760146105f6578063313ce56714610609578063320223db1461061157806332608039146106245780633e89b9e51461063757610449565b80632c955fa7146105a85780632d3169eb146105bb5780632e0f2625146105ce5780632f7206ce146105e357610449565b806316b2213f116103d557806323b872dd116103a457806323b872dd1461055f5780632621716f14610572578063295da87d146105855780632a905318146105985780632af64bd3146105a057610449565b806316b2213f1461052957806318160ddd1461053c57806318821400146105445780631fce304d1461054c57610449565b8063095ea7b31161041c578063095ea7b3146104ab5780630e30963c146104cb5780631137aedf146104ec5780631249c58b1461050e5780631627540c1461051657610449565b806303fbc5471461044e57806304f3bcec1461045857806305b3c1c91461047657806306fdde0314610496575b600080fd5b610456610929565b005b610460610b16565b60405161046d9190615aeb565b60405180910390f35b6104896104843660046146ea565b610b2a565b60405161046d919061594c565b61049e610bb7565b60405161046d9190615af9565b6104be6104b93660046147ad565b610c45565b60405161046d919061593e565b6104de6104d9366004614a00565b610cd2565b60405161046d929190615ce4565b6104ff6104fa3660046146ea565b610de1565b60405161046d939291906159f0565b6104be610e76565b6104566105243660046146ea565b611230565b6104896105373660046146ea565b61128e565b6104896112c3565b61049e6112c9565b6104be61055a3660046149c4565b611302565b6104be61056d366004614760565b611397565b6104896105803660046146ea565b6113d6565b6104566105933660046149c4565b6115b7565b61049e611638565b6104be611657565b6104566105b63660046146ea565b611773565b6104566105c9366004614a00565b6117bf565b6105d6611875565b60405161046d9190615d27565b6104566105f13660046148f7565b61187a565b610489610604366004614a43565b61193c565b6105d66119fa565b61045661061f3660046146ea565b611a03565b6104606106323660046149c4565b611a4f565b6104896106453660046149c4565b611ad4565b610489610658366004614ab8565b611b0c565b6104be611bc4565b6104be611c43565b610675611e23565b60405161046d91906156e5565b610489610690366004614a43565b611e32565b6104be6106a33660046146ea565b611e92565b610489611ebe565b6104566106be3660046147ad565b611ece565b6104896106d13660046146ea565b611eda565b610456611fe2565b6104566106ec3660046148f7565b61208d565b6104566106ff3660046147dd565b6120e0565b6104be6107123660046147ad565b612199565b6104896107253660046146ea565b6121c4565b6107326121f6565b60405161046d919061592d565b610456612274565b6104566123c6565b61046061075d3660046149c4565b612462565b6104896107703660046149c4565b612497565b6107886107833660046146ea565b6124cf565b60405161046d929190615976565b610732612804565b6104566107ac3660046149c4565b612898565b6106756128e2565b6104896107c7366004614870565b6128f1565b6104896129b1565b61049e6129bc565b6104566107ea3660046146ea565b612a17565b610456612a6a565b6104ff6108053660046149c4565b612ae3565b610456610818366004614b2d565b612b59565b61048961082b3660046146ea565b612b85565b61048961083e3660046146ea565b612bba565b6104be6108513660046147ad565b612bef565b6104566108643660046147dd565b612c39565b610456612c86565b61045661087f3660046146ea565b612ccf565b6104566108923660046147ad565b612cf9565b6104896108a536600461480f565b612d7d565b6104896108b83660046147ad565b612e3b565b610675612ec2565b6104566108d33660046149c4565b612ed1565b610489612ed9565b6104896108ee366004614726565b612f53565b6104566109013660046147ad565b612f87565b610460612fd5565b610460612fe4565b610489610924366004614a22565b612ff3565b6109316130af565b60085460405163dacb2d0160e01b815260009161010090046001600160a01b03169063dacb2d019061096590600401615cc6565b60206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b59190810190614708565b60085460405163dacb2d0160e01b81529192506000916101009091046001600160a01b03169063dacb2d01906109ed90600401615c3e565b60206040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d9190810190614708565b9050816001600160a01b0316816001600160a01b03161415610a7a5760405162461bcd60e51b8152600401610a7190615cb6565b60405180910390fd5b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610aac918791016156e5565b60206040518083038186803b158015610ac457600080fd5b505afa158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afc91908101906149e2565b90508015610b1157610b0f8383836130d9565b505b505050565b60085461010090046001600160a01b031681565b6000610b346132b5565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b8152600401610b5f91906156e5565b60206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf91908101906149e2565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b820191906000526020600020905b815481529060010190602001808311610c2057829003601f168201915b505050505081565b6000610c4f6132c9565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610c89918591899189910161580d565b600060405180830381600087803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b50505050610cc6818585613308565b60019150505b92915050565b6000808584610ce18282613388565b610ce96132c9565b610cf16133e9565b6001600160a01b0316634f8633d2600360009054906101000a90046001600160a01b0316600360009054906101000a90046001600160a01b03168b8b8b600360009054906101000a90046001600160a01b03166001600360009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610d81999897969594939291906157bd565b6040805180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd29190810190614b99565b93509350505094509492505050565b6000806000610dee6132b5565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610e1991906156e5565b60606040518083038186803b158015610e3157600080fd5b505afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e699190810190614bc9565b9250925092509193909250565b6000610e80613400565b6000610e8a613454565b6001600160a01b03161415610eb15760405162461bcd60e51b8152600401610a7190615bf1565b6000610ebb613475565b90506000610ec7613454565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0457600080fd5b505afa158015610f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3c91908101906149e2565b905060008111610f5e5760405162461bcd60e51b8152600401610a7190615c89565b610f6a60003083613491565b604051637e7961d760e01b81526000906001600160a01b03851690637e7961d790610f9990859060040161594c565b602060405180830381600087803b158015610fb357600080fd5b505af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610feb91908101906149e2565b90506000610fff838363ffffffff6134d416565b600480546040516370a0823160e01b81529293506001600160a01b03169163b46310f691879161109b91869186916370a082319161103f918791016156e5565b60206040518083038186803b15801561105757600080fd5b505afa15801561106b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061108f91908101906149e2565b9063ffffffff6134fc16565b6040518363ffffffff1660e01b81526004016110b89291906158c3565b600060405180830381600087803b1580156110d257600080fd5b505af11580156110e6573d6000803e3d6000fd5b505050506110f5308583613491565b604051630b32e9c760e31b81526001600160a01b038516906359974e389061112190849060040161594c565b602060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117391908101906149a6565b50600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69133916111b391879186916370a082319161103f918791016156f3565b6040518363ffffffff1660e01b81526004016111d0929190615701565b600060405180830381600087803b1580156111ea57600080fd5b505af11580156111fe573d6000803e3d6000fd5b5050505061120d303384613491565b600754611220908463ffffffff6134fc16565b6007555060019450505050505b90565b6112386130af565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906112839083906156e5565b60405180910390a150565b60006112986132b5565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b8152600401610b5f91906156e5565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b60008061130d6133e9565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec926113409291169087906004016158c3565b60206040518083038186803b15801561135857600080fd5b505afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061139091908101906149e2565b1192915050565b60006113a1613521565b6113a9613576565b6113b384836135b6565b506003546113cc906001600160a01b0316858585613887565b90505b9392505050565b6000806113e1613933565b6001600160a01b031663204b676a846040518263ffffffff1660e01b815260040161140c91906156e5565b60206040518083038186803b15801561142457600080fd5b505afa158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145c91908101906149e2565b905060006114686145b5565b60005b8381101561159e5761147b613933565b6001600160a01b031663ae58254987836040518363ffffffff1660e01b81526004016114a89291906158c3565b60206040518083038186803b1580156114c057600080fd5b505afa1580156114d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f891908101906149e2565b9250611502613933565b6001600160a01b03166345626bd687856040518363ffffffff1660e01b815260040161152f9291906158c3565b604080518083038186803b15801561154657600080fd5b505afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157e9190810190614b4b565b602081015190925015611596579350610bb292505050565b60010161146b565b5060405162461bcd60e51b8152600401610a7190615b64565b6115bf613400565b6115c76132c9565b6115cf6132b5565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c65926116029291169085906004016158c3565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b60006060611663612804565b905060005b815181101561176a57600082828151811061167f57fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906116d590859060040161594c565b60206040518083038186803b1580156116ed57600080fd5b505afa158015611701573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117259190810190614708565b6001600160a01b031614158061175057506000818152600960205260409020546001600160a01b0316155b15611761576000935050505061122d565b50600101611668565b50600191505090565b61177b613400565b6117836132c9565b61178b6132b5565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa926116029286929091169060040161571c565b6117c761394f565b6002546040516001600160a01b039091169063907dff97906117f1908690869086906020016159f0565b604051602081830303815290604052600260405161180e9061566d565b6040519081900381206001600160e01b031960e086901b16825261183d9392918a906000908190600401615a6a565b600060405180830381600087803b15801561185757600080fd5b505af115801561186b573d6000803e3d6000fd5b5050505050505050565b601281565b61188261394f565b6002546040516001600160a01b039091169063907dff97906118b090889088908890889088906020016159a4565b60405160208183030381529060405260026040516118cd90615657565b60405180910390206118de8b613987565b6000806040518763ffffffff1660e01b815260040161190296959493929190615a6a565b600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b50505050505050505050565b6000858461194a8282613388565b6119526132c9565b61195a6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9084906000908f908f906004016157bd565b6040805180830381600087803b1580156119b557600080fd5b505af11580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ed9190810190614b99565b5098975050505050505050565b60085460ff1681565b611a0b613400565b611a136132c9565b611a1b6132b5565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf926116029286929091169060040161571c565b6000611a596132b5565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401611a84919061594c565b60206040518083038186803b158015611a9c57600080fd5b505afa158015611ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf9190810190614b0f565b6000611ade6132b5565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610b5f929190615968565b60008584611b1a8282613388565b611b226132c9565b611b2a6133e9565b60035460405162674ed160e71b81526001600160a01b03928316926333a7688092611b66929116908c908c908c9084908d908d906004016158d1565b602060405180830381600087803b158015611b8057600080fd5b505af1158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb891908101906149e2565b98975050505050505050565b6000611bce6132b5565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0657600080fd5b505afa158015611c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e91908101906149a6565b905090565b6000611c4d613576565b611c556132c9565b6003546001600160a01b0316611c69613993565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401611c9491906156e5565b600060405180830381600087803b158015611cae57600080fd5b505af1158015611cc2573d6000803e3d6000fd5b50505050600080611cd16132b5565b6001600160a01b03166372c658168460016040518363ffffffff1660e01b8152600401611cff9291906158a8565b606060405180830381600087803b158015611d1957600080fd5b505af1158015611d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d519190810190614bc9565b509150915060008111611d765760405162461bcd60e51b8152600401610a7190615c6c565b611d82838383866139b2565b6000611d9684611d90613993565b85613a2e565b905080611db55760405162461bcd60e51b8152600401610a7190615c11565b611dbd613993565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b8152600401611de8919061594c565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b5092965050505050505090565b6001546001600160a01b031681565b60008584611e408282613388565b611e486132c9565b611e506133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9032906000908f908f90600401615737565b6000611e9c613576565b611ea46132c9565b600354610baf9083906000906001600160a01b0316613a3b565b680a6f2dce8d0cae8d2f60bb1b81565b611ed6613e3d565b5050565b6000611ee46132b5565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611f1f918591016156e5565b60206040518083038186803b158015611f3757600080fd5b505afa158015611f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f6f91908101906149e2565b6040518363ffffffff1660e01b8152600401611f8c9291906158c3565b604080518083038186803b158015611fa357600080fd5b505afa158015611fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdb9190810190614b69565b5092915050565b611fea6130af565b6004546000906001600160a01b03166370a08231612006613e55565b6040518263ffffffff1660e01b815260040161202291906156e5565b60206040518083038186803b15801561203a57600080fd5b505afa15801561204e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061207291908101906149e2565b9050611ed661207f613e55565b612087613933565b836130d9565b61209561394f565b6002546040516001600160a01b039091169063907dff97906120c390889088908890889088906020016159a4565b60405160208183030381529060405260026040516118cd90615698565b6120e861394f565b6002546040516001600160a01b039091169063907dff97906121109085908590602001615976565b604051602081830303815290604052600260405161212d906156ae565b604051809103902061213e88613987565b6000806040518763ffffffff1660e01b815260040161216296959493929190615a6a565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b50505050505050565b60006121a3613576565b6121ab6132c9565b6003546113cf90849084906001600160a01b0316613a3b565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610b5f918691016156e5565b60606122006132b5565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561223857600080fd5b505afa15801561224c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c3e9190810190614971565b606061227e612804565b905060005b8151811015611ed657600082828151811061229a57fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016122dc91906156cf565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612308929190615984565b60206040518083038186803b15801561232057600080fd5b505afa158015612334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123589190810190614708565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906123b4908490849061595a565b60405180910390a15050600101612283565b6001546001600160a01b031633146123f05760405162461bcd60e51b8152600401610a7190615b27565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92612433926001600160a01b039182169291169061571c565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061246c6132b5565b6001600160a01b031663835e119c836040518263ffffffff1660e01b8152600401611a84919061594c565b60006124a16132b5565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610b5f929190615968565b6000806124da613576565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a721906125299075446562744d69677261746f724f6e457468657265756d60501b9060040161594c565b60206040518083038186803b15801561254157600080fd5b505afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125799190810190614708565b9050336001600160a01b038216148061263557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906125d0906b131959d858de53585c9ad95d60a21b9060040161594c565b60206040518083038186803b1580156125e857600080fd5b505afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126209190810190614708565b6001600160a01b0316336001600160a01b0316145b6126515760405162461bcd60e51b8152600401610a7190615c21565b600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191612680918891016156e5565b60206040518083038186803b15801561269857600080fd5b505afa1580156126ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126d091908101906149e2565b915081156127065760006126e5858385613a2e565b9050806127045760405162461bcd60e51b8152600401610a7190615bb1565b505b61270e613933565b6001600160a01b031663326a3cfb856040518263ffffffff1660e01b815260040161273991906156e5565b60206040518083038186803b15801561275157600080fd5b505afa158015612765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061278991908101906149e2565b925082156127fe57612799613933565b6001600160a01b031663de065f6785838660006040518563ffffffff1660e01b81526004016127cb9493929190615835565b600060405180830381600087803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b505050505b50915091565b60608061280f613e6f565b6040805160028082526060808301845293945090916020830190803883390190505090506b526577617264457363726f7760a01b8160008151811061285057fe5b6020026020010181815250506d537570706c795363686564756c6560901b8160018151811061287b57fe5b6020026020010181815250506128918282613fb8565b9250505090565b6128a0613400565b6128a86132c9565b6128b06132b5565b6003546040516285c0d160e31b81526001600160a01b039283169263042e0688926116029291169085906004016158c3565b6000546001600160a01b031681565b600085846128ff8282613388565b6129076132c9565b61290f6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612952928e92909116908d908d908d9085906000908f908f906004016157bd565b6040805180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129a39190810190614b99565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b612a1f6130af565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906112839083906156f3565b612a72613400565b612a7a6132c9565b612a826132b5565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a92612ab3929116906004016156e5565b600060405180830381600087803b158015612acd57600080fd5b505af1158015610b0f573d6000803e3d6000fd5b565b6000806000612af06132c9565b612af86133e9565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c92612b2b9291169088906004016158c3565b606060405180830381600087803b158015612b4557600080fd5b505af1158015610e45573d6000803e3d6000fd5b612b6161406d565b600480546001600160a01b0319166001600160a01b038316179055611635816140db565b6000612b8f6132b5565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b8152600401610b5f91906156e5565b6000612bc46132b5565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b8152600401610b5f91906156e5565b6000612bf9613521565b612c01613576565b600354612c17906001600160a01b0316836135b6565b50600354612c2f906001600160a01b03168484613a2e565b5060019392505050565b612c4161394f565b6002546040516001600160a01b039091169063907dff9790612c699085908590602001615976565b604051602081830303815290604052600260405161212d90615662565b612c8e613400565b612c966132c9565b612c9e6132b5565b60035460405163644bb89960e11b81526001600160a01b039283169263c897713292612ab3929116906004016156e5565b612cd761414d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612d01613400565b612d096132c9565b612d116132b5565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b492612d4792879290911690869060040161580d565b600060405180830381600087803b158015612d6157600080fd5b505af1158015612d75573d6000803e3d6000fd5b505050505050565b60008382612d8b8282613388565b612d936132c9565b612d9b6133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612dde928c92909116908b908b908b908590600090829082906004016157bd565b6040805180830381600087803b158015612df757600080fd5b505af1158015612e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e2f9190810190614b99565b50979650505050505050565b6000612e456132b5565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612e729291906158c3565b60206040518083038186803b158015612e8a57600080fd5b505afa158015612e9e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113cf91908101906149e2565b6003546001600160a01b031681565b611635613e3d565b6000612ee36132b5565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e91908101906149e2565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91612e7291879187910161571c565b612f8f613400565b612f976132c9565b612f9f6132b5565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b6292612d4792879290911690869060040161580d565b6004546001600160a01b031681565b6002546001600160a01b031681565b600083826130018282613388565b6130096132c9565b6130116133e9565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d2926130539291169081908b908b908b908490600090829082906004016157bd565b6040805180830381600087803b15801561306c57600080fd5b505af1158015613080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130a49190810190614b99565b509695505050505050565b6000546001600160a01b03163314612ae15760405162461bcd60e51b8152600401610a7190615c01565b60006001600160a01b038316158015906130fc57506001600160a01b0383163014155b801561311657506002546001600160a01b03848116911614155b6131325760405162461bcd60e51b8152600401610a7190615b0a565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69187916131cd91879186916370a0823191613171918791016156e5565b60206040518083038186803b15801561318957600080fd5b505afa15801561319d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131c191908101906149e2565b9063ffffffff6134d416565b6040518363ffffffff1660e01b81526004016131ea9291906158c3565b600060405180830381600087803b15801561320457600080fd5b505af1158015613218573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f69250869161325b91879186916370a082319161103f918791016156e5565b6040518363ffffffff1660e01b81526004016132789291906158c3565b600060405180830381600087803b15801561329257600080fd5b505af11580156132a6573d6000803e3d6000fd5b50505050612c2f848484613491565b6000611c3e6524b9b9bab2b960d11b614177565b6002546001600160a01b031633148015906132ef57506003546001600160a01b03163314155b15612ae157600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff979061332e90849060200161594c565b604051602081830303815290604052600360405161334b906156a3565b604051809103902061335c88613987565b61336588613987565b60006040518763ffffffff1660e01b815260040161216296959493929190615aa4565b6133906141d4565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b81526004016133bd929190615976565b60006040518083038186803b1580156133d557600080fd5b505afa158015612d75573d6000803e3d6000fd5b6000611c3e6822bc31b430b733b2b960b91b614177565b6134086141d4565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561344057600080fd5b505afa158015610b0f573d6000803e3d6000fd5b6000611c3e722932bbb0b93239a234b9ba3934b13aba34b7b760691b614177565b6000611c3e6d537570706c795363686564756c6560901b614177565b6002546040516001600160a01b039091169063907dff97906134b790849060200161594c565b604051602081830303815290604052600360405161334b906156da565b6000828211156134f65760405162461bcd60e51b8152600401610a7190615ba1565b50900390565b6000828201838110156113cf5760405162461bcd60e51b8152600401610a7190615b74565b6002546001600160a01b031633141561353957612ae1565b613542336141ee565b1561355e57600380546001600160a01b03191633179055612ae1565b60405162461bcd60e51b8152600401610a7190615c99565b61357e6141d4565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561344057600080fd5b6008546040516321f8a72160e01b815260009182916101009091046001600160a01b0316906321f8a721906135fe906b131959d858de53585c9ad95d60a21b9060040161594c565b60206040518083038186803b15801561361657600080fd5b505afa15801561362a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061364e9190810190614708565b6003549091506001600160a01b03161580159061367857506003546001600160a01b038281169116145b806136945750806001600160a01b0316846001600160a01b0316145b156136a3576001915050610ccc565b60006136ad6132b5565b6001600160a01b031663d37c4d8b86631cd554d160e21b6040518363ffffffff1660e01b81526004016136e19291906158c3565b60206040518083038186803b1580156136f957600080fd5b505afa15801561370d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373191908101906149e2565b1115610cc6576000806137426132b5565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938b93909116916370a082319161377d918591016156e5565b60206040518083038186803b15801561379557600080fd5b505afa1580156137a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137cd91908101906149e2565b6040518363ffffffff1660e01b81526004016137ea9291906158c3565b604080518083038186803b15801561380157600080fd5b505afa158015613815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138399190810190614b69565b915091508185111561385d5760405162461bcd60e51b8152600401610a7190615bd1565b801561387b5760405162461bcd60e51b8152600401610a7190615be1565b50600195945050505050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c91879189916138cd918891879163dd62ed3e9161317191889188910161571c565b6040518463ffffffff1660e01b81526004016138eb9392919061580d565b600060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506139288484846130d9565b90505b949350505050565b6000611c3e6d2932bbb0b93222b9b1b937bbab1960911b614177565b6139576133e9565b6001600160a01b0316336001600160a01b031614612ae15760405162461bcd60e51b8152600401610a7190615b54565b6001600160a01b031690565b6000611c3e704c697175696461746f725265776172647360781b614177565b6002546040516001600160a01b039091169063907dff97906139dc90869086908690602001615cff565b60405160208183030381529060405260026040516139f9906156c4565b6040518091039020613a0a89613987565b6000806040518763ffffffff1660e01b815260040161183d96959493929190615a6a565b60006113cc8484846130d9565b6000613a45613993565b6001600160a01b031663c00007b0856040518263ffffffff1660e01b8152600401613a7091906156e5565b600060405180830381600087803b158015613a8a57600080fd5b505af1158015613a9e573d6000803e3d6000fd5b505050506000806000613aaf6132b5565b6001600160a01b03166372c658168860006040518363ffffffff1660e01b8152600401613add9291906158a8565b606060405180830381600087803b158015613af757600080fd5b505af1158015613b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b2f9190810190614bc9565b919450925090508015613ba857613b44613933565b6001600160a01b031663de065f678889848a6040518563ffffffff1660e01b8152600401613b759493929190615873565b600060405180830381600087803b158015613b8f57600080fd5b505af1158015613ba3573d6000803e3d6000fd5b505050505b613bb4878484886139b2565b6000613bbe61459d565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b158015613bf657600080fd5b505afa158015613c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c2e91908101906149e2565b90506000613c3a61459d565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b158015613c7257600080fd5b505afa158015613c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613caa91908101906149e2565b90506000613cb661459d565b6001600160a01b0316635616c9578b6040518263ffffffff1660e01b8152600401613ce191906156e5565b60206040518083038186803b158015613cf957600080fd5b505afa158015613d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d319190810190614708565b90506000613d408b8386613a2e565b905080613d5f5760405162461bcd60e51b8152600401610a7190615b84565b6000613d6c8c8b86613a2e565b905080613d8b5760405162461bcd60e51b8152600401610a7190615c5c565b8715613e2b576000613da58d613d9f613993565b8b613a2e565b905080613dc45760405162461bcd60e51b8152600401610a7190615c11565b613dcc613993565b6001600160a01b0316633c6b16ab8a6040518263ffffffff1660e01b8152600401613df7919061594c565b600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b50505050505b5060019b9a5050505050505050505050565b60405162461bcd60e51b8152600401610a7190615bc1565b6000611c3e6b526577617264457363726f7760a01b614177565b60408051600780825261010082019092526060916020820160e0803883390190505090506b53797374656d53746174757360a01b81600081518110613eb057fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110613ed657fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110613ef957fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600381518110613f2957fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600481518110613f5757fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600581518110613f7e57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600681518110613fa957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613fe8578160200160208202803883390190505b50905060005b835181101561402a5783818151811061400357fe5b602002602001015182828151811061401757fe5b6020908102919091010152600101613fee565b5060005b8251811015611fdb5782818151811061404357fe5b602002602001015182828651018151811061405a57fe5b602090810291909101015260010161402e565b6002546001600160a01b0316331480159061409357506003546001600160a01b03163314155b156140ab57600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614612ae15760405162461bcd60e51b8152600401610a7190615b44565b6002546040516001600160a01b039091169063907dff97906141019084906020016156e5565b604051602081830303815290604052600160405161411e906156b9565b6040519081900381206001600160e01b031960e086901b16825261160293929160009081908190600401615a0b565b6002546001600160a01b03163314612ae15760405162461bcd60e51b8152600401610a7190615c99565b60008181526009602090815260408083205490516001600160a01b0390911691821515916141a791869101615678565b60405160208183030381529060405290611fdb5760405162461bcd60e51b8152600401610a719190615af9565b6000611c3e6b53797374656d53746174757360a01b614177565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a7219061422290600401615ca9565b60206040518083038186803b15801561423a57600080fd5b505afa15801561424e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142729190810190614708565b6001600160a01b0316826001600160a01b0316148061432357506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906142be90600401615c31565b60206040518083038186803b1580156142d657600080fd5b505afa1580156142ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061430e9190810190614708565b6001600160a01b0316826001600160a01b0316145b806143c057506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061435b90600401615b1a565b60206040518083038186803b15801561437357600080fd5b505afa158015614387573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143ab9190810190614708565b6001600160a01b0316826001600160a01b0316145b8061445d57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906143f890600401615b94565b60206040518083038186803b15801561441057600080fd5b505afa158015614424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144489190810190614708565b6001600160a01b0316826001600160a01b0316145b806144fa57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061449590600401615b37565b60206040518083038186803b1580156144ad57600080fd5b505afa1580156144c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144e59190810190614708565b6001600160a01b0316826001600160a01b0316145b80610baf57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061453290600401615c7c565b60206040518083038186803b15801561454a57600080fd5b505afa15801561455e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145829190810190614708565b6001600160a01b0316826001600160a01b0316149050919050565b6000611c3e692634b8bab4b230ba37b960b11b614177565b604080518082019091526000808252602082015290565b8035610ccc81615e18565b8051610ccc81615e18565b600082601f8301126145f357600080fd5b815161460661460182615d5c565b615d35565b9150818183526020840193506020810190508385602084028201111561462b57600080fd5b60005b8381101561465757816146418882614677565b845250602092830192919091019060010161462e565b5050505092915050565b8051610ccc81615e2c565b8035610ccc81615e35565b8051610ccc81615e35565b8051610ccc81615e3e565b8035610ccc81615e3e565b6000604082840312156146aa57600080fd5b6146b46040615d35565b905060006146c284846146df565b82525060206146d384848301614677565b60208301525092915050565b8051610ccc81615e47565b6000602082840312156146fc57600080fd5b600061392b84846145cc565b60006020828403121561471a57600080fd5b600061392b84846145d7565b6000806040838503121561473957600080fd5b600061474585856145cc565b9250506020614756858286016145cc565b9150509250929050565b60008060006060848603121561477557600080fd5b600061478186866145cc565b9350506020614792868287016145cc565b92505060406147a38682870161466c565b9150509250925092565b600080604083850312156147c057600080fd5b60006147cc85856145cc565b92505060206147568582860161466c565b6000806000606084860312156147f257600080fd5b60006147fe86866145cc565b93505060206147928682870161466c565b6000806000806080858703121561482557600080fd5b600061483187876145cc565b94505060206148428782880161466c565b93505060406148538782880161466c565b92505060606148648782880161466c565b91505092959194509250565b60008060008060008060c0878903121561488957600080fd5b600061489589896145cc565b96505060206148a689828a0161466c565b95505060406148b789828a0161466c565b94505060606148c889828a0161466c565b93505060806148d989828a016145cc565b92505060a06148ea89828a0161466c565b9150509295509295509295565b60008060008060008060c0878903121561491057600080fd5b600061491c89896145cc565b965050602061492d89828a0161466c565b955050604061493e89828a0161466c565b945050606061494f89828a0161466c565b935050608061496089828a0161466c565b92505060a06148ea89828a016145cc565b60006020828403121561498357600080fd5b815167ffffffffffffffff81111561499a57600080fd5b61392b848285016145e2565b6000602082840312156149b857600080fd5b600061392b8484614661565b6000602082840312156149d657600080fd5b600061392b848461466c565b6000602082840312156149f457600080fd5b600061392b8484614677565b60008060008060808587031215614a1657600080fd5b6000614831878761466c565b600080600060608486031215614a3757600080fd5b60006147fe868661466c565b600080600080600060a08688031215614a5b57600080fd5b6000614a67888861466c565b9550506020614a788882890161466c565b9450506040614a898882890161466c565b9350506060614a9a888289016145cc565b9250506080614aab8882890161466c565b9150509295509295909350565b600080600080600060a08688031215614ad057600080fd5b6000614adc888861466c565b9550506020614aed8882890161466c565b9450506040614afe8882890161466c565b9350506060614a9a8882890161466c565b600060208284031215614b2157600080fd5b600061392b8484614682565b600060208284031215614b3f57600080fd5b600061392b848461468d565b600060408284031215614b5d57600080fd5b600061392b8484614698565b60008060408385031215614b7c57600080fd5b6000614b888585614677565b925050602061475685828601614661565b60008060408385031215614bac57600080fd5b6000614bb88585614677565b925050602061475685828601614682565b600080600060608486031215614bde57600080fd5b6000614bea8686614677565b9350506020614bfb86828701614677565b92505060406147a386828701614677565b6000614c188383614c9a565b505060200190565b614c2981615dbe565b82525050565b614c2981615d90565b6000614c4382615d83565b614c4d8185615d87565b9350614c5883615d7d565b8060005b83811015614c86578151614c708882614c0c565b9750614c7b83615d7d565b925050600101614c5c565b509495945050505050565b614c2981615d9b565b614c298161122d565b614c29614caf8261122d565b61122d565b6000614cbf82615d83565b614cc98185615d87565b9350614cd9818560208601615de2565b614ce281615e0e565b9093019392505050565b614c2981615da0565b614c2981615dc9565b614c2981615dd7565b6000614d14601f83615d87565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b75446562744d69677261746f724f6e4f7074696d69736d60501b9052565b6000614d6b603583615d87565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b6000614dd9601383615d87565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000614e08601e83615d87565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000614e41604483610bb2565b7f41746f6d696353796e746845786368616e676528616464726573732c6279746581527f7333322c75696e743235362c627974657333322c75696e743235362c616464726020820152636573732960e01b604082015260440192915050565b6000614ead601483615d87565b73616c6c20656e747269657320617265207a65726f60601b815260200192915050565b6000614edd601b83615d87565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614f16602483615d87565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b6000614f70601883615d87565b7f4e657720657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000614fa9602883610bb2565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000614ff3601e83615d87565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061502c601383615d87565b721cdb9e081d1c985b9cd9995c8819985a5b1959606a1b815260200192915050565b600061505b601b83615d87565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000615094603183610bb2565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b60006150e7601183610bb2565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615114603e83610bb2565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000615173602683615d87565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b60006151bb601e83615d87565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006151f4601b83615d87565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b600061522d602f83615d87565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061527e602483615d87565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b60006152c4602183610bb2565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000615307602783610bb2565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000615350602483615d87565b7f4f6e6c79204c3120446562744d69677261746f72206f72204c65676163794d618152631c9ad95d60e21b602082015260400192915050565b6000615396601a83610bb2565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006153cf603283610bb2565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b6000615439601983610bb2565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615472602983615d87565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b60006154bd601583615d87565b7463616e6e6f742073656c66206c697175696461746560581b815260200192915050565b6411195c1bdd60da1b9052565b60006154fb601583615d87565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b600061552c601883615d87565b7f4f6c6420657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000615565602183610bb2565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006155a8601783615d87565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b6000615606601e83615d87565b7f63616e6e6f74206d69677261746520746f2073616d6520616464726573730000815260200192915050565b732932bbb0b93222b9b1b937bbab19233937bd32b760611b9052565b614c2981615db8565b6000610ccc82614e34565b6000610ccc82614f9c565b6000610ccc82615087565b6000615683826150da565b915061568f8284614ca3565b50602001919050565b6000610ccc82615107565b6000610ccc826152b7565b6000610ccc826152fa565b6000610ccc82615389565b6000610ccc826153c2565b60006156838261542c565b6000610ccc82615558565b60208101610ccc8284614c2f565b60208101610ccc8284614c20565b6040810161570f8285614c20565b6113cf6020830184614c9a565b6040810161572a8285614c2f565b6113cf6020830184614c2f565b6101208101615746828c614c2f565b615753602083018b614c2f565b615760604083018a614c9a565b61576d6060830189614c9a565b61577a6080830188614c9a565b61578760a0830187614c20565b61579460c0830186614c91565b6157a160e0830185614c2f565b6157af610100830184614c9a565b9a9950505050505050505050565b61012081016157cc828c614c2f565b6157d9602083018b614c2f565b6157e6604083018a614c9a565b6157f36060830189614c9a565b6158006080830188614c9a565b61578760a0830187614c2f565b6060810161581b8286614c2f565b6158286020830185614c2f565b61392b6040830184614c9a565b608081016158438287614c2f565b6158506020830186614c2f565b61585d6040830185614c9a565b61586a6060830184614cfe565b95945050505050565b608081016158818287614c2f565b61588e6020830186614c2f565b61589b6040830185614c9a565b61586a6060830184614c9a565b604081016158b68285614c2f565b6113cf6020830184614c91565b6040810161570f8285614c2f565b60e081016158df828a614c2f565b6158ec6020830189614c9a565b6158f96040830188614c9a565b6159066060830187614c9a565b6159136080830186614c2f565b61592060a0830185614c9a565b611bb860c0830184614c9a565b602080825281016113cf8184614c38565b60208101610ccc8284614c91565b60208101610ccc8284614c9a565b6040810161572a8285614c9a565b604081016158b68285614c9a565b6040810161570f8285614c9a565b604081016159928285614c9a565b81810360208301526113cc8184614cb4565b60a081016159b28288614c9a565b6159bf6020830187614c9a565b6159cc6040830186614c9a565b6159d96060830185614c9a565b6159e66080830184614c2f565b9695505050505050565b606081016159fe8286614c9a565b6158286020830185614c9a565b60c08082528101615a1c8189614cb4565b9050615a2b6020830188614cfe565b615a386040830187614c9a565b615a456060830186614cf5565b615a526080830185614cf5565b615a5f60a0830184614cf5565b979650505050505050565b60c08082528101615a7b8189614cb4565b9050615a8a6020830188614cfe565b615a976040830187614c9a565b615a456060830186614c9a565b60c08082528101615ab58189614cb4565b9050615ac46020830188614cfe565b615ad16040830187614c9a565b615ade6060830186614c9a565b615a526080830185614c9a565b60208101610ccc8284614cec565b602080825281016113cf8184614cb4565b60208082528101610baf81614d07565b60208101610bb282614d40565b60208082528101610baf81614d5e565b60208101610bb282614db5565b60208082528101610baf81614dcc565b60208082528101610baf81614dfb565b60208082528101610baf81614ea0565b60208082528101610baf81614ed0565b60208082528101610baf81614f09565b60208101610bb282614f4f565b60208082528101610baf81614fe6565b60208082528101610baf8161501f565b60208082528101610baf8161504e565b60208082528101610baf81615166565b60208082528101610baf816151ae565b60208082528101610baf816151e7565b60208082528101610baf81615220565b60208082528101610baf81615271565b60208082528101610baf81615343565b60208101610bb282615416565b60408101615c4b82615416565b8181036020830152610baf81614f63565b60208082528101610baf81615465565b60208082528101610baf816154b0565b60208101610bb2826154e1565b60208082528101610baf816154ee565b60208082528101610baf8161559b565b60208101610bb2826155d4565b60208082528101610baf816155f9565b60408101615cd382615632565b8181036020830152610baf8161551f565b60408101615cf28285614c9a565b6113cf6020830184614cec565b60608101615d0d8286614c9a565b615d1a6020830185614c9a565b61392b6040830184614c2f565b60208101610ccc828461564e565b60405181810167ffffffffffffffff81118282101715615d5457600080fd5b604052919050565b600067ffffffffffffffff821115615d7357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610baf82613987565b151590565b6000610baf82615d90565b67ffffffffffffffff1690565b60ff1690565b6000610baf82615da0565b6000610baf614caf8361122d565b6000610baf8261122d565b60005b83811015615dfd578181015183820152602001615de5565b83811115610b0f5750506000910152565b601f01601f191690565b615e2181615d90565b811461163557600080fd5b615e2181615d9b565b615e218161122d565b615e2181615da0565b615e2181615dab56fea365627a7a72315820de774aef1b9cb3fbc2804065764ab3d4ebe42c618fd3fd30dbbde73d16ea30146c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - }, - { - "internalType": "contract TokenState", - "name": "_tokenState", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_totalSupply", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "snxRedeemed", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "liquidator", - "type": "address" - } - ], - "name": "AccountLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "fromCurrencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "toAddress", - "type": "address" - } - ], - "name": "AtomicSynthExchange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ExchangeRebate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ExchangeReclaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fee", - "type": "uint256" - } - ], - "name": "ExchangeTracking", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "proxyAddress", - "type": "address" - } - ], - "name": "ProxyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "fromCurrencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "toAddress", - "type": "address" - } - ], - "name": "SynthExchange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newTokenState", - "type": "address" - } - ], - "name": "TokenStateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TOKEN_NAME", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TOKEN_SYMBOL", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "anySynthOrSNXRateIsInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "anyRateInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "availableCurrencyKeys", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "availableSynthCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "availableSynths", - "outputs": [ - { - "internalType": "contract ISynth", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "burnSecondary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "burnForAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "burnSynthsToTarget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "burnForAddress", - "type": "address" - } - ], - "name": "burnSynthsToTargetOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "collateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "collateralisationRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "debtBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "fromCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "toAddress", - "type": "address" - } - ], - "name": "emitAtomicSynthExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "emitExchangeRebate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "emitExchangeReclaim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - } - ], - "name": "emitExchangeTracking", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "fromCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "toCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "toAddress", - "type": "address" - } - ], - "name": "emitSynthExchange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minAmount", - "type": "uint256" - } - ], - "name": "exchangeAtomically", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "exchangeForAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "exchangeOnBehalf", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "exchangeForAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "rewardAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeOnBehalfWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "rewardAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "rewardAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeWithTrackingForInitiator", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchangeWithVirtual", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "contract IVirtualSynth", - "name": "vSynth", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getFirstNonZeroEscrowIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "isWaitingPeriod", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "issueMaxSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "issueForAddress", - "type": "address" - } - ], - "name": "issueMaxSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issueSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "issueForAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issueSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "liquidateDelinquentAccount", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "escrowStartIndex", - "type": "uint256" - } - ], - "name": "liquidateDelinquentAccountEscrowIndex", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "liquidateSelf", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "maxIssuableSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "maxIssuable", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "messageSender", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "migrateAccountBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "totalEscrowRevoked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalLiquidBalance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "migrateEscrowBalanceToRewardEscrowV2", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "migrateEscrowContractBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mintSecondary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mintSecondaryRewards", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxy", - "outputs": [ - { - "internalType": "contract Proxy", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "remainingIssuableSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "maxIssuable", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "alreadyIssued", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalSystemDebt", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "sUSD", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "setMessageSender", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - } - ], - "name": "setProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract TokenState", - "name": "_tokenState", - "type": "address" - } - ], - "name": "setTokenState", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "uint256", - "name": "reclaimed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "refunded", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "numEntriesSettled", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "synths", - "outputs": [ - { - "internalType": "contract ISynth", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "synthAddress", - "type": "address" - } - ], - "name": "synthsByAddress", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenState", - "outputs": [ - { - "internalType": "contract TokenState", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "totalIssuedSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "totalIssuedSynthsExcludeOtherCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "transferableSynthetix", - "outputs": [ - { - "internalType": "uint256", - "name": "transferable", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x211e634e869dad4b819b35fe75a3e7d6e2930ffba0004794012e00df31cfae1b", - "urls": [ - "bzz-raw://689771a8616f3b1987fe5cb35484784deeb603eb260a278df7f6301b5cb7db5d", - "dweb:/ipfs/QmPVHv194SxhmczBjh9U2Jhan1mhBZNddKrVbaeruvRakq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Synthetix.sol": "Synthetix" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Synthetix.sol": { - "keccak256": "0x211e634e869dad4b819b35fe75a3e7d6e2930ffba0004794012e00df31cfae1b", - "urls": [ - "bzz-raw://689771a8616f3b1987fe5cb35484784deeb603eb260a278df7f6301b5cb7db5d", - "dweb:/ipfs/QmPVHv194SxhmczBjh9U2Jhan1mhBZNddKrVbaeruvRakq" - ] - } - }, - "version": 1 - } - }, - "RewardEscrow": { - "bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e31461045d578063da7bd3e914610465578063ee1d036c14610491578063fec9f9da146104bd57610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b806370a082311461039157806371e780f3146103b7578063759b5225146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f1461031557806353a47bb7146103475780636b3905c41461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b6101ec6004803603602081101561038157600080fd5b50356001600160a01b0316610927565b6101ec600480360360208110156103a757600080fd5b50356001600160a01b0316610940565b6101ec61095b565b61034f610961565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b6101ec610ad0565b6102706004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610ad6565b6101ec600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610b45565b61019e600480360360208110156104d357600080fd5b50356001600160a01b0316610b58565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610ad6565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610ad6565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610b45565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6001546001600160a01b031681565b60006109328261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6002546001600160a01b031681565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610935565b6000610a598383610ad6565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b61010481565b610ade610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b0257fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b25575050505050905092915050565b6000610b518383610ad6565b6001610a5c565b610b60610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820eb2cae1a42ebf7b797c66e0653951365b2931f6d7d5d9d585deda6b977211b8164736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract ISynthetix", - "name": "_synthetix", - "type": "address" - }, - { - "internalType": "contract IFeePool", - "name": "_feePool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newFeePool", - "type": "address" - } - ], - "name": "FeePoolUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newSynthetix", - "type": "address" - } - ], - "name": "SynthetixUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Vested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "VestingEntryCreated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_VESTING_ENTRIES", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "quantity", - "type": "uint256" - } - ], - "name": "appendVestingEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "checkAccountSchedule", - "outputs": [ - { - "internalType": "uint256[520]", - "name": "", - "type": "uint256[520]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feePool", - "outputs": [ - { - "internalType": "contract IFeePool", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingEntry", - "outputs": [ - { - "internalType": "uint256[2]", - "name": "", - "type": "uint256[2]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingScheduleEntry", - "outputs": [ - { - "internalType": "uint256[2]", - "name": "", - "type": "uint256[2]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numVestingEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IFeePool", - "name": "_feePool", - "type": "address" - } - ], - "name": "setFeePool", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ISynthetix", - "name": "_synthetix", - "type": "address" - } - ], - "name": "setSynthetix", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthetix", - "outputs": [ - { - "internalType": "contract ISynthetix", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalEscrowedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalEscrowedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalVestedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "vest", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "vestingSchedules", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xe1a8c5405a7a4a61428b4cd11e2fc27091134f945e25d808137a053eb6a8f5db", - "urls": [ - "bzz-raw://cf47f909649acdae48c47f438b5b17c752cbe58d8f6ef62b0acd9592b23fa65e", - "dweb:/ipfs/Qmer62K4KZF6uAvqKXMSk2SCf5MLfNWNhCRdxZQp5EEMmu" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "RewardEscrow.sol": "RewardEscrow" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "RewardEscrow.sol": { - "keccak256": "0xe1a8c5405a7a4a61428b4cd11e2fc27091134f945e25d808137a053eb6a8f5db", - "urls": [ - "bzz-raw://cf47f909649acdae48c47f438b5b17c752cbe58d8f6ef62b0acd9592b23fa65e", - "dweb:/ipfs/Qmer62K4KZF6uAvqKXMSk2SCf5MLfNWNhCRdxZQp5EEMmu" - ] - } - }, - "version": 1 - } - }, - "RewardEscrowV2Frozen": { - "bytecode": "60806040526303bfc400600c556224ea00600d5562093a80600e55683635c9adc5dea000006011553480156200003457600080fd5b5060405162003df438038062003df483398101604081905262000057916200012f565b8181806249d400836001600160a01b038116620000915760405162461bcd60e51b81526004016200008890620001eb565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000de918490620001c5565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620002469050565b805162000129816200022c565b92915050565b600080604083850312156200014357600080fd5b60006200015185856200011c565b925050602062000164858286016200011c565b9150509250929050565b620001798162000218565b82525050565b620001798162000206565b600062000199601983620001fd565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001d582856200016e565b620001e460208301846200017f565b9392505050565b6020808252810162000129816200018a565b90815260200190565b60006001600160a01b03821662000129565b600062000129826000620001298262000206565b620002378162000206565b81146200024357600080fd5b50565b613b9e80620002566000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c1f565b6105a2565b005b6102a16105ea565b6040516102ae91906137f0565b60405180910390f35b6102bf6105f9565b6040516102ae91906137a6565b6102d461061a565b6040516102ae91906137b4565b6102976102ef366004612923565b610620565b610297610673565b61029761030a366004612a55565b6106d0565b6102d461031d366004612923565b610721565b6102d4610330366004612923565b61073c565b6102bf61074e565b6102d461034b3660046129b4565b610865565b6102d461035e366004612923565b6108c4565b610297610371366004612bc0565b6108d6565b6102d461098c565b61029761038c366004612c1f565b610992565b6103a461039f3660046129b4565b6109cf565b6040516102ae929190613a45565b6102d46109ff565b6103c2610a05565b6040516102ae9190613659565b6102976103dd366004612c1f565b610a14565b6102d4610a51565b6103a46103f83660046129b4565b610a57565b6102d461040b36600461295f565b610a91565b6102d461041e366004612923565b610b3e565b6102d4610b59565b6103c2610439366004612923565b610b5f565b610297610b7a565b610459610454366004612a55565b610cd0565b6040516102ae919061374d565b610297610474366004612923565b610e70565b610297610487366004612c1f565b61116e565b6102976111cd565b6102976104a2366004612923565b611269565b6104ba6104b536600461295f565b6113b9565b6040516102ae92919061399f565b6104d0611642565b6040516102ae919061373c565b6103c261170c565b6102d461171b565b6102d4611721565b610297610503366004612a55565b611727565b6102d46105163660046129b4565b6117f2565b6102d4610529366004612923565b611820565b61029761053c366004612b04565b611832565b61029761054f3660046129ee565b611a1d565b610297610562366004612aa2565b611a2b565b6102d4611bec565b61058261057d366004612a55565b611bf2565b6040516102ae9190613795565b61029761059d36600461295f565b611cde565b6105aa61201a565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137b4565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204690919063ffffffff16565b1190505b90565b600f5481565b61062861201a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613659565b61067b61201a565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204616565b6040516106c69291906139bf565b60405180910390a1565b6106d861206b565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061395f565b60405180910390fd5b61071c838383612085565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137b4565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108179190810190612941565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f612794565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba8161229d565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e9061229d565b9050801561095e57600060018301555b61096e848263ffffffff61204616565b9350505b506001016108da565b50801561071c5761071c33826122ce565b600d5481565b61099a61201a565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137b4565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201a565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137b4565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa5612794565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b178261229d565b9050610b29848263ffffffff61204616565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061364e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137d0565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e9190810190612941565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137c2565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127ab565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127ab565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd9612794565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123e9565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b81526004016107089061388f565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061397f565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612403565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612461565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613659565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c3d565b905060015b81811161071c576110566127d5565b61105e612461565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d929190613721565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612ba2565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612403565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247b16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201a565b600d548111156111985760405162461bcd60e51b81526004016107089061394f565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137b4565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061380f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b03918216929116906136f8565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138ef565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138bf565b6112be6124a3565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e99190613697565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c3d565b156113565760405162461bcd60e51b81526004016107089061398f565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613659565b60405180910390a250565b600060606113c56124b7565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b8152600401610708906138df565b826114125760405162461bcd60e51b8152600401610708906138ff565b60408051848152602080860282010190915283801561144b57816020015b611438612794565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204690919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124de565b61156b61253d565b6001600160a01b031663a9059cbb6115816124b7565b846040518363ffffffff1660e01b815260040161159f929190613721565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c01565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061375e565b60405180910390a2935093915050565b60608061164d612554565b60408051600380825260808201909252919250606091906020820183803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061169d57fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116c657fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116ef57fe5b60200260200101818152505061170582826125e6565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b03831661174d5760405162461bcd60e51b81526004016107089061384f565b61175561253d565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178493929190613667565b602060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d69190810190612c01565b6107115760405162461bcd60e51b8152600401610708906138cf565b6006602052816000526040600020818154811061180b57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118535760405162461bcd60e51b81526004016107089061393f565b61185b61201a565b84831461187a5760405162461bcd60e51b81526004016107089061396f565b8481146118995760405162461bcd60e51b81526004016107089061387f565b60005b85811015611a145760008787838181106118b257fe5b90506020020160206118c79190810190612923565b905060008686848181106118d757fe5b90506020020135905060008585858181106118ee57fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119315760405162461bcd60e51b81526004016107089061381f565b600b54611944908363ffffffff61204616565b600b556001600160a01b038316600090815260086020526040902054611970908363ffffffff61204616565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a5908263ffffffff61204616565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a01908590859042906139cd565b60405180910390a250505060010161189c565b50505050505050565b611a256126a2565b50505050565b6002544210611a4c5760405162461bcd60e51b81526004016107089061393f565b611a5461201a565b828114611a735760405162461bcd60e51b81526004016107089061392f565b60005b83811015611be5576000858583818110611a8c57fe5b9050602002016020611aa19190810190612923565b90506000848484818110611ab157fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611aff5760405162461bcd60e51b81526004016107089061397f565b6001600160a01b038216600090815260106020526040902054611b345760405162461bcd60e51b81526004016107089061388f565b611b5b826040518060400160405280426001600160401b0316815260200184815250612403565b6001600160a01b038216600090815260106020526040902054611b84908263ffffffff61247b16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd390429085906139bf565b60405180910390a25050600101611a76565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3457506001600160a01b0384166000908152600660205260409020545b838111611c51576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c80578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb457fe5b9060005260206000200154828281518110611ccb57fe5b6020908102919091010152600101611c86565b611ce66105f9565b611d025760405162461bcd60e51b8152600401610708906138bf565b611d0a6124a3565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d359190613713565b60206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d859190810190612c3d565b15611da25760405162461bcd60e51b81526004016107089061398f565b6001600160a01b038381166000908152600a6020526040902054163314611ddb5760405162461bcd60e51b81526004016107089061391f565b6000805b82811015611f5a57611def612794565b6001600160a01b038616600090815260056020526040812090868685818110611e1457fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f51573360009081526005602052604081208291878786818110611e7357fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec5908490612046565b336000908152600660205260409020909350858584818110611ee357fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2257fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611ddf565b506001600160a01b038416600090815260086020526040902054611f84908263ffffffff61247b16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fb6908263ffffffff61204616565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c9161200c919085908890889042906136b1565b60405180910390a250505050565b6000546001600160a01b031633146120445760405162461bcd60e51b81526004016107089061390f565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061382f565b600061208066119959541bdbdb60ca1b6126ba565b905090565b816120a25760405162461bcd60e51b81526004016107089061389f565b6000811180156120b45750600c548111155b6120d05760405162461bcd60e51b81526004016107089061383f565b600b546120e3908363ffffffff61204616565b600b556120ee61253d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016121199190613659565b60206040518083038186803b15801561213157600080fd5b505afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121699190810190612c3d565b600b54111561218a5760405162461bcd60e51b8152600401610708906138af565b6001600160a01b038316600090815260086020526040902054428201906121b7908463ffffffff61204616565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224a91612046565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc09061228e9042908890889087906139e8565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c5576000610e69565b50506020015190565b6122d882826124de565b6001600160a01b038216600090815260096020526040902054612301908263ffffffff61204616565b6001600160a01b03831660009081526009602052604090205561232261253d565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161234f929190613721565b602060405180830381600087803b15801561236957600080fd5b505af115801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a19190810190612c01565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123dd9291906139bf565b60405180910390a25050565b60006120806b53797374656d53746174757360a01b6126ba565b600061240f8383612717565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612454928692613a1d565b60405180910390a2505050565b60006120806b526577617264457363726f7760a01b6126ba565b60008282111561249d5760405162461bcd60e51b81526004016107089061385f565b50900390565b60006120806524b9b9bab2b960d11b6126ba565b60006120807853796e746865746978427269646765546f4f7074696d69736d60381b6126ba565b600b546124f1908263ffffffff61247b16565b600b556001600160a01b03821660009081526008602052604090205461251d908263ffffffff61247b16565b6001600160a01b0390921660009081526008602052604090209190915550565b6000612080680a6f2dce8d0cae8d2f60bb1b6126ba565b60408051600380825260808201909252606091602082018380388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061259057fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125b457fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612616578160200160208202803883390190505b50905060005b83518110156126585783818151811061263157fe5b602002602001015182828151811061264557fe5b602090810291909101015260010161261c565b5060005b825181101561269b5782818151811061267157fe5b602002602001015182828651018151811061268857fe5b602090810291909101015260010161265c565b5092915050565b60405162461bcd60e51b81526004016107089061386f565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126ea9186910161362e565b6040516020818303038152906040529061269b5760405162461bcd60e51b815260040161070891906137fe565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b03909116178155878301516001918201559383526006825282208054808501825590835290822001839055925461278a91612046565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b35565b80516108be81613b35565b60008083601f84011261281b57600080fd5b5081356001600160401b0381111561283257600080fd5b60208301915083602082028301111561284a57600080fd5b9250929050565b60008083601f84011261286357600080fd5b5081356001600160401b0381111561287a57600080fd5b60208301915083604082028301111561284a57600080fd5b600082601f8301126128a357600080fd5b60026128b66128b182613a79565b613a53565b915081838560208402820111156128cc57600080fd5b60005b838110156128f857816128e28882612918565b84525060209283019291909101906001016128cf565b5050505092915050565b80516108be81613b49565b80356108be81613b52565b80516108be81613b52565b60006020828403121561293557600080fd5b60006108ba84846127f3565b60006020828403121561295357600080fd5b60006108ba84846127fe565b60008060006040848603121561297457600080fd5b600061298086866127f3565b93505060208401356001600160401b0381111561299c57600080fd5b6129a886828701612809565b92509250509250925092565b600080604083850312156129c757600080fd5b60006129d385856127f3565b92505060206129e48582860161290d565b9150509250929050565b60008060008060608587031215612a0457600080fd5b6000612a1087876127f3565b9450506020612a218782880161290d565b93505060408501356001600160401b03811115612a3d57600080fd5b612a4987828801612851565b95989497509550505050565b600080600060608486031215612a6a57600080fd5b6000612a7686866127f3565b9350506020612a878682870161290d565b9250506040612a988682870161290d565b9150509250925092565b60008060008060408587031215612ab857600080fd5b84356001600160401b03811115612ace57600080fd5b612ada87828801612809565b945094505060208501356001600160401b03811115612af857600080fd5b612a4987828801612809565b60008060008060008060608789031215612b1d57600080fd5b86356001600160401b03811115612b3357600080fd5b612b3f89828a01612809565b965096505060208701356001600160401b03811115612b5d57600080fd5b612b6989828a01612809565b945094505060408701356001600160401b03811115612b8757600080fd5b612b9389828a01612809565b92509250509295509295509295565b600060408284031215612bb457600080fd5b60006108ba8484612892565b60008060208385031215612bd357600080fd5b82356001600160401b03811115612be957600080fd5b612bf585828601612809565b92509250509250929050565b600060208284031215612c1357600080fd5b60006108ba8484612902565b600060208284031215612c3157600080fd5b60006108ba848461290d565b600060208284031215612c4f57600080fd5b60006108ba8484612918565b6000612c678383612e34565b505060200190565b6000612c7b83836135c1565b505060600190565b6000612c8f83836135f8565b505060400190565b612ca081613ad6565b82525050565b612ca081613aae565b6000612cba82613a9c565b612cc48185613aa0565b9350612ccf83613a96565b8060005b83811015612cfd578151612ce78882612c5b565b9750612cf283613a96565b925050600101612cd3565b509495945050505050565b6000612d1382613a9c565b612d1d8185613aa0565b9350612d2883613a96565b8060005b83811015612cfd578151612d408882612c6f565b9750612d4b83613a96565b925050600101612d2c565b6000612d6182613a9c565b612d6b8185613aa0565b9350612d7683613a96565b8060005b83811015612cfd578151612d8e8882612c83565b9750612d9983613a96565b925050600101612d7a565b6000612db08385613aa0565b93506001600160fb1b03831115612dc657600080fd5b602083029250612dd7838584613af3565b50500190565b6000612de882613a9c565b612df28185613aa0565b9350612dfd83613a96565b8060005b83811015612cfd578151612e158882612c5b565b9750612e2083613a96565b925050600101612e01565b612ca081613ab9565b612ca081610617565b612ca0612e4982610617565b610617565b612ca081613add565b6000612e6282613a9c565b612e6c8185613aa0565b9350612e7c818560208601613aff565b612e8581613b2b565b9093019392505050565b6000612e9c603583613aa0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ef3602483613aa0565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612f39601b83613aa0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612f72603383613aa0565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612fc7602483613aa0565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b600061300d601e83613aa0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613046601b83613aa0565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061307f603183613aa0565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b60006130d2601b83613aa0565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b600061310b601183613aa9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613138601783613aa0565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000613171604783613aa0565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b60006131e0601983613aa0565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613219601583613aa0565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b600061324a603983613aa0565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b60006132a9602483613aa0565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132ef601283613aa0565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b600061331d602f83613aa0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061337a602183613aa0565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aa0565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aa0565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b6000613453601c83613aa0565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b600061348c601983613aa9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134c5602883613aa0565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061350f602b83613aa0565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b600061355c601b83613aa0565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b6000613595601f83613aa0565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135d28482613625565b5060208201516135e56020850182612e34565b506040820151611a256040850182612e34565b805160408301906136098482613625565b506020820151611a256020850182612e34565b612ca081613ae8565b612ca081613aca565b6000613639826130fe565b91506136458284612e3d565b50602001919050565b60006136398261347f565b602081016108be8284612ca6565b606081016136758286612c97565b6136826020830185612ca6565b61368f6040830184612e34565b949350505050565b604081016136a58284612c97565b6108be60208301613361565b608081016136bf8288612c97565b6136cc6020830187612e34565b81810360408301526136df818587612da4565b90506136ee6060830184612e34565b9695505050505050565b604081016137068285612ca6565b610e696020830184612ca6565b604081016136a58284612ca6565b6040810161372f8285612ca6565b610e696020830184612e34565b60208082528101610e698184612caf565b60208082528101610e698184612d08565b60608082528101613770818688612da4565b905061377f6020830185612e34565b61378c6040830184612e34565b95945050505050565b60208082528101610e698184612ddd565b602081016108be8284612e2b565b602081016108be8284612e34565b604081016137068285612e34565b604081016137de8285612e34565b818103602083015261368f8184612e57565b602081016108be8284612e4e565b60208082528101610e698184612e57565b602080825281016108be81612e8f565b602080825281016108be81612ee6565b602080825281016108be81612f2c565b602080825281016108be81612f65565b602080825281016108be81612fba565b602080825281016108be81613000565b602080825281016108be81613039565b602080825281016108be81613072565b602080825281016108be816130c5565b602080825281016108be8161312b565b602080825281016108be81613164565b602080825281016108be816131d3565b602080825281016108be8161320c565b602080825281016108be8161323d565b602080825281016108be8161329c565b602080825281016108be816132e2565b602080825281016108be81613310565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613446565b602080825281016108be816134b8565b602080825281016108be81613502565b602080825281016108be8161354f565b602080825281016108be81613588565b604081016139ad8285612e34565b818103602083015261368f8184612d56565b6040810161372f8285612e34565b606081016139db8286612e34565b6136826020830185612e34565b608081016139f68287612e34565b613a036020830186612e34565b613a106040830185612e34565b61378c6060830184612e34565b60608101613a2b8286612e34565b613a386020830185612e34565b61368f604083018461361c565b6040810161372f8285613625565b6040518181016001600160401b0381118282101715613a7157600080fd5b604052919050565b60006001600160401b03821115613a8f57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613abe565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aae565b60006108be82613aca565b82818337506000910152565b60005b83811015613b1a578181015183820152602001613b02565b83811115611a255750506000910152565b601f01601f191690565b613b3e81613aae565b811461116b57600080fd5b613b3e81613ab9565b613b3e8161061756fea365627a7a723158205b1e8291ec729d4a489c6fb1894678afe255a72962f441090281011ab358408f6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "accountToMerge", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowAmountMerged", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "AccountMerged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "AccountMergingDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - } - ], - "name": "AccountMergingStarted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowedAmountMigrated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "BurnedForMigrationToL2", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - } - ], - "name": "ImportedVestingEntry", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "name": "ImportedVestingSchedule", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MaxAccountMergingDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MaxEscrowDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newAmount", - "type": "uint256" - } - ], - "name": "MigrateEntriesThresholdAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowedAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vestedAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "MigratedAccountEscrow", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "NominateAccountToMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Vested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "duration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "VestingEntryCreated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingIsOpen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "accountVestingEntryIDs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "quantity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "appendVestingEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "burnForMigration", - "outputs": [ - { - "internalType": "uint256", - "name": "escrowedAccountBalance", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry[]", - "name": "vestingEntries", - "type": "tuple[]" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "createEscrowEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - } - ], - "name": "getAccountVestingEntryIDs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "getVestingEntry", - "outputs": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "getVestingEntryClaimable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "getVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "total", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - } - ], - "name": "getVestingSchedules", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntryWithID[]", - "name": "", - "type": "tuple[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry[]", - "name": "", - "type": "tuple[]" - } - ], - "name": "importVestingEntries", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "escrowAmounts", - "type": "uint256[]" - } - ], - "name": "importVestingSchedule", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxAccountMergingDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "max_duration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "accountToMerge", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "mergeAccount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "escrowBalances", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "vestedBalances", - "type": "uint256[]" - } - ], - "name": "migrateAccountEscrowBalances", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "migrateEntriesThresholdAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "addressToMigrate", - "type": "address" - } - ], - "name": "migrateVestingSchedule", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextEntryId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nominateAccountToMerge", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nominatedReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numVestingEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setAccountMergingDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setMaxAccountMergingWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setMaxEscrowDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setMigrateEntriesThresholdAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "setupExpiryTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "startMergingWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalBalancePendingMigration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalEscrowedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalEscrowedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalVestedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "vest", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "vestingSchedules", - "outputs": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xe6396d77a95dab5c7607a564844de3b32382f0f45992efac6445b24d6150e166", - "urls": [ - "bzz-raw://d4f427b1f8bcb8042960a8e49a6f1aedbf189b1fe7adb90643d507c9c9ba0df8", - "dweb:/ipfs/QmRkTKk7Qp8UUYVCLstTF8kpLJz1MqHZjSTpkub6KWEnh1" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "RewardEscrowV2Frozen/RewardEscrowV2Frozen.sol": "RewardEscrowV2Frozen" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "RewardEscrowV2Frozen/RewardEscrowV2Frozen.sol": { - "keccak256": "0xe6396d77a95dab5c7607a564844de3b32382f0f45992efac6445b24d6150e166", - "urls": [ - "bzz-raw://d4f427b1f8bcb8042960a8e49a6f1aedbf189b1fe7adb90643d507c9c9ba0df8", - "dweb:/ipfs/QmRkTKk7Qp8UUYVCLstTF8kpLJz1MqHZjSTpkub6KWEnh1" - ] - } - }, - "version": 1 - } - }, - "RewardEscrowV2Storage": { - "bytecode": "60806040523480156200001157600080fd5b5060405162001db138038062001db183398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b611adf80620002d26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806353401559116100c3578063ae5825491161007c578063ae58254914610294578063aefc4ccb146102a7578063c8949d11146102af578063cec7bdb1146102c4578063d5e6a906146102d7578063e6b2cf6c146102ea5761014d565b8063534015591461024c57806353a47bb71461025f578063614d08f81461027457806371e780f31461027c57806379ba5097146102845780638da5cb5b1461028c5761014d565b80633d1d26bd116101155780633d1d26bd146101d85780633e21e59a146101eb57806343ba57df146101fe57806345626bd61461021157806352580bb71461023157806352f445ca146102395761014d565b80631627540c14610152578063204b676a14610167578063227d517a1461019057806327f071d2146101a3578063326a3cfb146101c5575b600080fd5b6101656101603660046112fa565b6102f2565b005b61017a6101753660046112fa565b610350565b60405161018791906118c9565b60405180910390f35b61017a61019e3660046112fa565b6103af565b6101b66101b136600461138a565b610489565b604051610187939291906119e3565b61017a6101d33660046112fa565b610608565b6101656101e63660046113f5565b610681565b6101656101f9366004611320565b610716565b61017a61020c36600461135a565b6107c4565b61022461021f366004611320565b610903565b60405161018791906119d5565b61017a610a4f565b6101656102473660046112fa565b610a55565b61016561025a366004611320565b610aa8565b610267610bca565b6040516101879190611885565b61017a610bd9565b61017a610bf5565b610165610c27565b610267610cc3565b61017a6102a2366004611320565b610cd2565b610267610dd5565b6102b7610de4565b60405161018791906118d7565b6101656102d2366004611320565b610df3565b6101656102e53660046113d7565b610ea7565b61017a61100f565b6102fa611015565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610345908390611885565b60405180910390a150565b600b546000906001600160a01b03166103845760405162461bcd60e51b815260040161037b906119b5565b60405180910390fd5b6001600160a01b0382166000908152600460205260409020546103a683611041565b0190505b919050565b600b546000906001600160a01b03166103da5760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600760205260409020548061048057600b5460405163113ea8bd60e11b81526001600160a01b039091169063227d517a90610428908690600401611885565b60206040518083038186803b15801561044057600080fd5b505afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104789190810190611431565b9150506103aa565b6104788161108f565b600b54600090819081906001600160a01b03166104b85760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146104e25760405162461bcd60e51b815260040161037b90611965565b600084116105025760405162461bcd60e51b815260040161037b90611985565b61050b866110a8565b600061051687610350565b9050600081116105385760405162461bcd60e51b815260040161037b90611975565b8086106105575760405162461bcd60e51b815260040161037b90611955565b600080610562611242565b8891505b838210156105d9576105788a83610cd2565b92506105848a84610903565b6020810151909150156105ce5760208101516105a790889063ffffffff61116f16565b96506105c28a84836000015167ffffffffffffffff1661119b565b8787106105ce576105d9565b600190910190610566565b8382146105e657816105eb565b600182035b905190955067ffffffffffffffff16935050505093509350939050565b600b546000906001600160a01b03166106335760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600660205260409020548061048057600b5460405163326a3cfb60e01b81526001600160a01b039091169063326a3cfb90610428908690600401611885565b600b546001600160a01b03166106a95760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040161037b90611965565b60006106ed826106e1610bf5565b9063ffffffff6111e516565b905060008112156107105760405162461bcd60e51b815260040161037b906118e5565b60085550565b600b546001600160a01b031661073e5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146107685760405162461bcd60e51b815260040161037b90611965565b6000610777826106e1856103af565b9050600081121561079a5760405162461bcd60e51b815260040161037b906119a5565b6107a38161122b565b6001600160a01b039093166000908152600760205260409020929092555050565b600b546000906001600160a01b03166107ef5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146108195760405162461bcd60e51b815260040161037b90611965565b610826602083018361144f565b67ffffffffffffffff1661084c5760405162461bcd60e51b815260040161037b90611905565b6009546040805180820190915280610867602086018661144f565b63ffffffff90811682526001600160e01b036020878101358216938101939093526001600160a01b0388166000818152600385526040808220888352865280822087518154988801519095166401000000000294861663ffffffff199098169790971790941692909217909455928352600482528220805460018181018355918452919092200182905560098054909101905590505b92915050565b61090b611242565b600b546001600160a01b03166109335760405162461bcd60e51b815260040161037b906119b5565b61093b611242565b50506001600160a01b038216600090815260036020908152604080832084845282529182902082518084018452905463ffffffff80821683526001600160e01b036401000000009092048216838501908152855180870190965283519091168552511691830191909152600a54831080156109bf5750815167ffffffffffffffff16155b15610a4857600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd6906109f690879087906004016118ae565b604080518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a459190810190611413565b91505b5092915050565b600a5481565b610a5d611015565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610345908390611885565b600b546001600160a01b0316610ad05760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610afa5760405162461bcd60e51b815260040161037b90611965565b6001600160a01b03821660009081526003602090815260408083208484529091529020805463ffffffff1680610bb957600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd690610b5c90879087906004016118ae565b604080518083038186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bab9190810190611413565b5167ffffffffffffffff1690505b610bc484848361119b565b50505050565b6001546001600160a01b031681565b74526577617264457363726f77563253746f7261676560581b81565b600b546000906001600160a01b0316610c205760405162461bcd60e51b815260040161037b906119b5565b5060085490565b6001546001600160a01b03163314610c515760405162461bcd60e51b815260040161037b906118f5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610c94926001600160a01b0391821692911690611893565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600b546000906001600160a01b0316610cfd5760405162461bcd60e51b815260040161037b906119b5565b6000610d0884611041565b905080831015610d9c57600b5460405163ae58254960e01b81526001600160a01b039091169063ae58254990610d4490879087906004016118ae565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d949190810190611431565b9150506108fd565b6001600160a01b03841660009081526004602052604090208054828503908110610dc257fe5b90600052602060002001549150506108fd565b6002546001600160a01b031681565b600b546001600160a01b031681565b600b546001600160a01b0316610e1b5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610e455760405162461bcd60e51b815260040161037b90611965565b6000610e54826106e185610608565b90506000811215610e775760405162461bcd60e51b815260040161037b90611935565b610e808161122b565b6001600160a01b038416600090815260066020526040902055610ea282610681565b505050565b610eaf611015565b600b546001600160a01b031615610ed85760405162461bcd60e51b815260040161037b906119c5565b6001600160a01b038116610efe5760405162461bcd60e51b815260040161037b90611995565b600b80546001600160a01b0319166001600160a01b038316908117909155604080516339acb3db60e21b8152905163e6b2cf6c91600480820192602092909190829003018186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8a9190810190611431565b6009819055600a55600b54604080516371e780f360e01b815290516001600160a01b03909216916371e780f391600480820192602092909190829003018186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107109190810190611431565b60095481565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260040161037b90611945565b565b6001600160a01b0381166000908152600560205260408120548061048057600b54604051631025b3b560e11b81526001600160a01b039091169063204b676a90610428908690600401611885565b600060001982146110a057816108fd565b600092915050565b6001600160a01b03811660009081526005602052604090205461116c57600b54604051631025b3b560e11b81526000916001600160a01b03169063204b676a906110f6908590600401611885565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111469190810190611431565b90506111518161122b565b6001600160a01b038316600090815260056020526040902055505b50565b6000828201838110156111945760405162461bcd60e51b815260040161037b90611915565b9392505050565b6001600160a01b03831660009081526003602090815260408083208584529091529020816111c957426111cb565b815b815463ffffffff191663ffffffff91821617169055505050565b60008282018183128015906111fa5750838112155b8061120f575060008312801561120f57508381125b6111945760405162461bcd60e51b815260040161037b90611925565b6000811561123957816108fd565b50600019919050565b604080518082019091526000808252602082015290565b80356108fd81611a6d565b80356108fd81611a81565b80356108fd81611a8a565b60006040828403121561128c57600080fd5b50919050565b6000604082840312156112a457600080fd5b6112ae6040611a0b565b905060006112bc84846112ef565b82525060206112cd848483016112d9565b60208301525092915050565b80516108fd81611a8a565b80356108fd81611a93565b80516108fd81611a93565b60006020828403121561130c57600080fd5b60006113188484611259565b949350505050565b6000806040838503121561133357600080fd5b600061133f8585611259565b92505060206113508582860161126f565b9150509250929050565b6000806060838503121561136d57600080fd5b60006113798585611259565b92505060206113508582860161127a565b60008060006060848603121561139f57600080fd5b60006113ab8686611259565b93505060206113bc8682870161126f565b92505060406113cd8682870161126f565b9150509250925092565b6000602082840312156113e957600080fd5b60006113188484611264565b60006020828403121561140757600080fd5b6000611318848461126f565b60006040828403121561142557600080fd5b60006113188484611292565b60006020828403121561144357600080fd5b600061131884846112d9565b60006020828403121561146157600080fd5b600061131884846112e4565b61147681611a3b565b82525050565b61147681611a46565b61147681611a49565b600061149b603483611a32565b7f757064617465546f74616c457363726f77656442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b60006114f1603583611a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611548601883611a32565b7f76657374696e67207461726765742074696d65207a65726f0000000000000000815260200192915050565b6000611581601b83611a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006115ba602183611a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006115fd603483611a32565b7f757064617465457363726f774163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611653602f83611a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006116a4601383611a32565b720e6e8c2e4e892dcc8caf040e8dede40d0d2ced606b1b815260200192915050565b60006116d3603483611a32565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b6000611729601583611a32565b746e6f20656e747269657320746f206974657261746560581b815260200192915050565b600061175a601483611a32565b73746172676574416d6f756e74206973207a65726f60601b815260200192915050565b600061178a601683611a32565b7563616e6e6f74206265207a65726f206164647265737360501b815260200192915050565b60006117bc603483611a32565b7f7570646174655665737465644163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611812601083611a32565b6f19985b1b189858dac81b9bdd081cd95d60821b815260200192915050565b600061183e600b83611a32565b6a185b1c9958591e481cd95d60aa1b815260200192915050565b80516040830190611869848261187c565b506020820151610bc4602085018261147c565b61147681611a60565b602081016108fd828461146d565b604081016118a1828561146d565b611194602083018461146d565b604081016118bc828561146d565b611194602083018461147c565b602081016108fd828461147c565b602081016108fd8284611485565b602080825281016108fd8161148e565b602080825281016108fd816114e4565b602080825281016108fd8161153b565b602080825281016108fd81611574565b602080825281016108fd816115ad565b602080825281016108fd816115f0565b602080825281016108fd81611646565b602080825281016108fd81611697565b602080825281016108fd816116c6565b602080825281016108fd8161171c565b602080825281016108fd8161174d565b602080825281016108fd8161177d565b602080825281016108fd816117af565b602080825281016108fd81611805565b602080825281016108fd81611831565b604081016108fd8284611858565b606081016119f1828661147c565b6119fe602083018561147c565b611318604083018461147c565b60405181810167ffffffffffffffff81118282101715611a2a57600080fd5b604052919050565b90815260200190565b60006108fd82611a54565b90565b60006108fd82611a3b565b6001600160a01b031690565b67ffffffffffffffff1690565b611a7681611a3b565b811461116c57600080fd5b611a7681611a49565b611a7681611a46565b611a7681611a6056fea365627a7a723158203df976601b45ae71231d22f35e353eb3f7a50276d206aefe9df91a5f7938db826c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "accountVestingEntryIDs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry", - "name": "entry", - "type": "tuple" - } - ], - "name": "addVestingEntry", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "fallbackRewardEscrow", - "outputs": [ - { - "internalType": "contract IRewardEscrowV2Frozen", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "firstNonFallbackId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextEntryId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numVestingEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IRewardEscrowV2Frozen", - "name": "_fallbackRewardEscrow", - "type": "address" - } - ], - "name": "setFallbackRewardEscrow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryId", - "type": "uint256" - } - ], - "name": "setZeroAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - } - ], - "name": "setZeroAmountUntilTarget", - "outputs": [ - { - "internalType": "uint256", - "name": "total", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastEntryTime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "totalEscrowedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalEscrowedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "totalVestedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "int256", - "name": "delta", - "type": "int256" - } - ], - "name": "updateEscrowAccountBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "int256", - "name": "delta", - "type": "int256" - } - ], - "name": "updateTotalEscrowedBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "int256", - "name": "delta", - "type": "int256" - } - ], - "name": "updateVestedAccountBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryId", - "type": "uint256" - } - ], - "name": "vestingSchedules", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry", - "name": "entry", - "type": "tuple" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x4d370d01e7b6e8e332136b79a25e335672857603431ed00559f78a591292a831", - "urls": [ - "bzz-raw://662adbe16f16668f5c269561343e0a28c0bb29a8e2962006d5c7749853b73492", - "dweb:/ipfs/QmS6niBU7jWfdhc8ciM2nwqocJGeCLT4vLxnLvYPGkQzJB" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "RewardEscrowV2Storage.sol": "RewardEscrowV2Storage" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "RewardEscrowV2Storage.sol": { - "keccak256": "0x4d370d01e7b6e8e332136b79a25e335672857603431ed00559f78a591292a831", - "urls": [ - "bzz-raw://662adbe16f16668f5c269561343e0a28c0bb29a8e2962006d5c7749853b73492", - "dweb:/ipfs/QmS6niBU7jWfdhc8ciM2nwqocJGeCLT4vLxnLvYPGkQzJB" - ] - } - }, - "version": 1 - } - }, - "RewardEscrowV2": { - "bytecode": "60806040526303bfc4006007556224ea0060085562093a806009553480156200002757600080fd5b5060405162003adb38038062003adb8339810160408190526200004a916200011d565b8181806249d400836001600160a01b038116620000845760405162461bcd60e51b81526004016200007b90620001d9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d1918490620001b3565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506200023492505050565b805162000117816200021a565b92915050565b600080604083850312156200013157600080fd5b60006200013f85856200010a565b925050602062000152858286016200010a565b9150509250929050565b620001678162000206565b82525050565b6200016781620001f4565b600062000187601983620001eb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001c382856200015c565b620001d260208301846200016d565b9392505050565b60208082528101620001178162000178565b90815260200190565b60006001600160a01b03821662000117565b6000620001178260006200011782620001f4565b6200022581620001f4565b81146200023157600080fd5b50565b61389780620002446000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a08231116101515780638da5cb5b116100c3578063cd7b43dd11610087578063cd7b43dd14610528578063d3be14651461053b578063de065f671461054e578063e6b2cf6c14610561578063eac6248914610569578063f0b882ba1461058957610274565b80638da5cb5b146104df578063910a326d146104e7578063a0416ed3146104ef578063ae58254914610502578063b95375bd1461051557610274565b80637839b92f116101155780637839b92f146104685780637993e6991461047b57806379ba50971461048e5780637cc1d7561461049657806380d46f58146104a9578063899ffef4146104ca57610274565b806370a082311461041257806371e780f31461042557806373307e401461042d5780637418536014610440578063773ab39f1461044857610274565b806330104c5f116101ea57806345626bd6116101ae57806345626bd61461039957806346ba2d90146103b957806353a47bb7146103c15780635eb8cf25146103d65780636154c343146103de5780636dc05bd3146103ff57610274565b806330104c5f14610345578063326a3cfb1461035857806334c7fec91461036b57806337088ffc1461037e5780634525aabc1461038657610274565b80631627540c1161023c5780631627540c146102e9578063178c5655146102fc5780631bb47b4414610304578063204b676a14610317578063227d517a1461032a5780632af64bd31461033d57610274565b8063018c6c551461027957806304f3bcec1461028e57806305662986146102ac5780630961f7e9146102c15780630fcdefb7146102d4575b600080fd5b61028c610287366004612990565b61059c565b005b6102966105e4565b6040516102a3919061353f565b60405180910390f35b6102b46105f3565b6040516102a391906134f5565b6102b46102cf36600461265d565b610614565b6102dc610629565b6040516102a39190613503565b61028c6102f736600461265d565b61062f565b61028c610682565b61028c610312366004612828565b6106df565b6102dc61032536600461265d565b610730565b6102dc61033836600461265d565b6107bb565b6102b46107f0565b6102dc610353366004612791565b610907565b6102dc61036636600461265d565b610922565b61028c610379366004612913565b610957565b6102dc610b0b565b61028c610394366004612990565b610b11565b6103ac6103a7366004612791565b610b4e565b6040516102a391906136de565b6102dc610bda565b6103c9610be0565b6040516102a3919061337a565b6102dc610bef565b6103f16103ec366004612791565b610bf5565b6040516102a392919061375d565b6102dc61040d366004612702565b610c20565b6102dc61042036600461265d565b610c85565b6102dc610c90565b6103c961043b36600461265d565b610d0f565b61028c610d2a565b61045b610456366004612828565b610e80565b6040516102a3919061349c565b61028c61047636600461265d565b610fab565b61028c610489366004612990565b610fb6565b61028c611015565b61028c6104a436600461265d565b6110b1565b6104bc6104b7366004612702565b611201565b6040516102a39291906136ec565b6104d26114d2565b6040516102a3919061348b565b6103c961154a565b6102dc611559565b61028c6104fd366004612828565b61155f565b6102dc610510366004612791565b611659565b61028c610523366004612875565b6116e0565b61028c6105363660046127c1565b6116e8565b61028c610549366004612757565b6116f6565b61028c61055c3660046126a1565b611729565b6102dc6119f5565b61057c610577366004612828565b611a37565b6040516102a391906134e4565b61028c610597366004612702565b611ae8565b6105a4611e5e565b60088190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105d9908390613503565b60405180910390a150565b6003546001600160a01b031681565b60004261060d600954600a54611e8a90919063ffffffff16565b1190505b90565b60066020526000908152604090205460ff1681565b600a5481565b610637611e5e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105d990839061337a565b61068a611e5e565b42600a8190556009547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106c790829063ffffffff611e8a16565b6040516106d592919061370c565b60405180910390a1565b6106e7611eaf565b6001600160a01b0316336001600160a01b0316146107205760405162461bcd60e51b81526004016107179061369e565b60405180910390fd5b61072b838383611ec4565b505050565b600061073a612120565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610765919061337a565b60206040518083038186803b15801561077d57600080fd5b505afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b591908101906129ae565b92915050565b60006107c5612120565b6001600160a01b031663227d517a836040518263ffffffff1660e01b8152600401610765919061337a565b600060606107fc6114d2565b905060005b81518110156108fe57600082828151811061081857fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161086991869101613503565b60206040518083038186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b99190810190612683565b6001600160a01b03161415806108e457506000818152600460205260409020546001600160a01b0316155b156108f55760009350505050610611565b50600101610801565b50600191505090565b600061091b6109168484610b4e565b612143565b9392505050565b600061092c612120565b6001600160a01b031663326a3cfb836040518263ffffffff1660e01b8152600401610765919061337a565b336000610962612506565b6000805b85811015610a3e5761098a8588888481811061097e57fe5b90506020020135610b4e565b92508260200151600014610a36576109a183612143565b91508115610a23576109b1612120565b6001600160a01b03166353401559868989858181106109cc57fe5b905060200201356040518363ffffffff1660e01b81526004016109f09291906133e5565b600060405180830381600087803b158015610a0a57600080fd5b505af1158015610a1e573d6000803e3d6000fd5b505050505b610a33848363ffffffff611e8a16565b93505b600101610966565b508215610b0357610a50848585612174565b610a58612120565b6001600160a01b0316633e21e59a85610a708661226d565b6040518363ffffffff1660e01b8152600401610a8d9291906133e5565b600060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b50505050836001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc64285604051610afa92919061370c565b60405180910390a25b505050505050565b60085481565b610b19611e5e565b60078190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105d9908390613503565b610b56612506565b610b5e612120565b6001600160a01b03166345626bd684846040518363ffffffff1660e01b8152600401610b8b9291906133e5565b604080518083038186803b158015610ba257600080fd5b505afa158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b9190810190612972565b60025481565b6001546001600160a01b031681565b60075481565b600080610c00612506565b610c0a8585610b4e565b80516020909101519093509150505b9250929050565b6000610c2a612506565b60005b83811015610c7c57610c458686868481811061097e57fe5b91508160200151600014610c74576000610c5e83612143565b9050610c70848263ffffffff611e8a16565b9350505b600101610c2d565b50509392505050565b60006107b582610922565b6000610c9a612120565b6001600160a01b03166371e780f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b505afa158015610ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d0a91908101906129ae565b905090565b6005602052600090815260409020546001600160a01b031681565b6060610d346114d2565b905060005b8151811015610e7c576000828281518110610d5057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d92919061336f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dbe92919061351f565b60206040518083038186803b158015610dd657600080fd5b505afa158015610dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0e9190810190612683565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e6a9084908490613511565b60405180910390a15050600101610d39565b5050565b6060828201838111610ec6576040805160008082526020820190925290610ebd565b610eaa61251d565b815260200190600190039081610ea25790505b5091505061091b565b610ecf85610730565b811115610ee257610edf85610730565b90505b8381036000610eef612506565b606083604051908082528060200260200182016040528015610f2b57816020015b610f1861251d565b815260200190600190039081610f105790505b50905060005b84811015610f9e57610f458a8a8301611659565b9350610f518a85610b4e565b9250604051806060016040528084600001516001600160401b031681526020018460200151815260200185815250828281518110610f8b57fe5b6020908102919091010152600101610f31565b5098975050505050505050565b610fb3612296565b50565b610fbe611e5e565b600854811115610fe05760405162461bcd60e51b81526004016107179061368e565b60098190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105d9908390613503565b6001546001600160a01b0316331461103f5760405162461bcd60e51b81526004016107179061356e565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611082926001600160a01b03918216929116906133ca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156110da5760405162461bcd60e51b81526004016107179061363e565b6110e26105f3565b6110fe5760405162461bcd60e51b81526004016107179061360e565b6111066122ae565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b815260040161113191906133b0565b60206040518083038186803b15801561114957600080fd5b505afa15801561115d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061118191908101906129ae565b1561119e5760405162461bcd60e51b8152600401610717906136ce565b336000818152600560205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906111f690849061337a565b60405180910390a250565b6000606061120d6122c2565b6001600160a01b0316336001600160a01b03161461123d5760405162461bcd60e51b81526004016107179061362e565b8261125a5760405162461bcd60e51b81526004016107179061364e565b60408051848152602080860282010190915283801561129357816020015b611280612506565b8152602001906001900390816112785790505b50905060005b8381101561137a576112a9612506565b6112b98787878581811061097e57fe5b60208101519091501561137157808383815181106112d357fe5b60200260200101819052506112f5816020015185611e8a90919063ffffffff16565b93506112ff612120565b6001600160a01b031663534015598888888681811061131a57fe5b905060200201356040518363ffffffff1660e01b815260040161133e9291906133e5565b600060405180830381600087803b15801561135857600080fd5b505af115801561136c573d6000803e3d6000fd5b505050505b50600101611299565b50811561148357611389612120565b6001600160a01b031663cec7bdb1866113a18561226d565b6000036040518363ffffffff1660e01b81526004016113c19291906133e5565b600060405180830381600087803b1580156113db57600080fd5b505af11580156113ef573d6000803e3d6000fd5b505050506113fb6122e9565b6001600160a01b031663a9059cbb6114116122c2565b846040518363ffffffff1660e01b815260040161142f9291906133e5565b602060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114819190810190612954565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c858585426040516114c294939291906134ad565b60405180910390a2935093915050565b6060806114dd612300565b60408051600180825281830190925291925060609190602080830190803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061152d57fe5b60200260200101818152505061154382826123c5565b9250505090565b6000546001600160a01b031681565b60095481565b6001600160a01b0383166115855760405162461bcd60e51b81526004016107179061359e565b3360009081526006602052604090205460ff166115b45760405162461bcd60e51b8152600401610717906135ce565b6115bc6122e9565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b81526004016115eb93929190613388565b602060405180830381600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163d9190810190612954565b6107205760405162461bcd60e51b81526004016107179061361e565b6000611663612120565b6001600160a01b031663ae58254984846040518363ffffffff1660e01b81526004016116909291906133e5565b60206040518083038186803b1580156116a857600080fd5b505afa1580156116bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b91908101906129ae565b610b03612296565b6116f0612296565b50505050565b6116fe611e5e565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6117316122e9565b6001600160a01b0316336001600160a01b0316146117615760405162461bcd60e51b8152600401610717906135be565b6001600160a01b0384166117875760405162461bcd60e51b8152600401610717906136ae565b6001600160a01b0383166117ad5760405162461bcd60e51b81526004016107179061367e565b60008060006117ba612120565b6001600160a01b03166327f071d28886886040518463ffffffff1660e01b81526004016117e993929190613470565b606060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183b91908101906129cc565b925092509250848310156118615760405162461bcd60e51b81526004016107179061355e565b8483111561199257600061187b848763ffffffff61248116565b90506000611887612120565b6001600160a01b03166343ba57df8a6040518060400160405280876001600160401b03168152602001868152506040518363ffffffff1660e01b81526004016118d192919061340e565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192391908101906129ae565b90506000428411611935576000611945565b611945844263ffffffff61248116565b9050896001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428584866040516119869493929190613728565b60405180910390a25050505b61199d878787612174565b856001600160a01b0316876001600160a01b03167f18db3cc7a567ad50ae1cf6998aff0c3c2cff4e7c1338a1909def5a5a12ae23a18787866040516119e49392919061371a565b60405180910390a350505050505050565b60006119ff612120565b6001600160a01b031663e6b2cf6c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b60608282016000611a4786610730565b905080821115611a55578091505b848211611a74575050604080516000815260208101909152905061091b565b604080518684038082526020808202830101909252606090828015611aa3578160200160208202803883390190505b50905060005b82811015611adc57611abd89898301611659565b828281518110611ac957fe5b6020908102919091010152600101611aa9565b50979650505050505050565b611af06105f3565b611b0c5760405162461bcd60e51b81526004016107179061360e565b611b146122ae565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611b3f9190613400565b60206040518083038186803b158015611b5757600080fd5b505afa158015611b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b8f91908101906129ae565b15611bac5760405162461bcd60e51b8152600401610717906136ce565b6001600160a01b03838116600090815260056020526040902054163314611be55760405162461bcd60e51b81526004016107179061366e565b336000611bf0612506565b60005b84811015611d3b57611c0b8787878481811061097e57fe5b91508160200151600014611d3357611c21612120565b6001600160a01b0316635340155988888885818110611c3c57fe5b905060200201356040518363ffffffff1660e01b8152600401611c609291906133e5565b600060405180830381600087803b158015611c7a57600080fd5b505af1158015611c8e573d6000803e3d6000fd5b50505050611c9a612120565b6001600160a01b03166343ba57df85846040518363ffffffff1660e01b8152600401611cc792919061340e565b602060405180830381600087803b158015611ce157600080fd5b505af1158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d1991908101906129ae565b506020820151611d3090849063ffffffff611e8a16565b92505b600101611bf3565b50611d44612120565b6001600160a01b031663cec7bdb187611d5c8561226d565b6000036040518363ffffffff1660e01b8152600401611d7c9291906133e5565b600060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b50505050611db6612120565b6001600160a01b031663cec7bdb184611dce8561226d565b6040518363ffffffff1660e01b8152600401611deb9291906133e5565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050856001600160a01b03167f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c8484888842604051610afa959493929190613429565b6000546001600160a01b03163314611e885760405162461bcd60e51b81526004016107179061365e565b565b60008282018381101561091b5760405162461bcd60e51b81526004016107179061357e565b6000610d0a66119959541bdbdb60ca1b6124a9565b81611ee15760405162461bcd60e51b8152600401610717906135ee565b600081118015611ef357506007548111155b611f0f5760405162461bcd60e51b81526004016107179061358e565b611f17612120565b6001600160a01b031663cec7bdb184611f2f8561226d565b6040518363ffffffff1660e01b8152600401611f4c9291906133e5565b600060405180830381600087803b158015611f6657600080fd5b505af1158015611f7a573d6000803e3d6000fd5b50505050611f866122e9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611fb1919061337a565b60206040518083038186803b158015611fc957600080fd5b505afa158015611fdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200191908101906129ae565b612009610c90565b11156120275760405162461bcd60e51b8152600401610717906135fe565b4281016000612034612120565b6001600160a01b03166343ba57df866040518060400160405280866001600160401b03168152602001888152506040518363ffffffff1660e01b815260040161207e92919061340e565b602060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120d091908101906129ae565b9050846001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428686856040516121119493929190613728565b60405180910390a25050505050565b6000610d0a74526577617264457363726f77563253746f7261676560581b6124a9565b60008082602001516000146107b55782516001600160401b031642101561216b57600061091b565b50506020015190565b61217c612120565b6001600160a01b031663cec7bdb1846121948461226d565b6000036040518363ffffffff1660e01b81526004016121b49291906133e5565b600060405180830381600087803b1580156121ce57600080fd5b505af11580156121e2573d6000803e3d6000fd5b505050506121ee6122e9565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161221b9291906133e5565b602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f09190810190612954565b6000600160ff1b82106122925760405162461bcd60e51b8152600401610717906136be565b5090565b60405162461bcd60e51b8152600401610717906135de565b6000610d0a6524b9b9bab2b960d11b6124a9565b6000610d0a7853796e746865746978427269646765546f4f7074696d69736d60381b6124a9565b6000610d0a680a6f2dce8d0cae8d2f60bb1b6124a9565b60408051600480825260a0820190925260609160208201608080388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061233d57fe5b60200260200101818152505066119959541bdbdb60ca1b8160018151811061236157fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061238457fe5b60200260200101818152505074526577617264457363726f77563253746f7261676560581b816003815181106123b657fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156123f5578160200160208202803883390190505b50905060005b83518110156124375783818151811061241057fe5b602002602001015182828151811061242457fe5b60209081029190910101526001016123fb565b5060005b825181101561247a5782818151811061245057fe5b602002602001015182828651018151811061246757fe5b602090810291909101015260010161243b565b5092915050565b6000828211156124a35760405162461bcd60e51b8152600401610717906135ae565b50900390565b60008181526004602090815260408083205490516001600160a01b0390911691821515916124d99186910161334f565b6040516020818303038152906040529061247a5760405162461bcd60e51b8152600401610717919061354d565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b80356107b581613825565b80516107b581613825565b60008083601f84011261256f57600080fd5b5081356001600160401b0381111561258657600080fd5b602083019150836020820283011115610c1957600080fd5b60008083601f8401126125b057600080fd5b5081356001600160401b038111156125c757600080fd5b602083019150836040820283011115610c1957600080fd5b80356107b581613839565b80516107b581613839565b60006040828403121561260757600080fd5b612611604061376b565b9050600061261f8484612652565b825250602061263084848301612647565b60208301525092915050565b80356107b581613842565b80516107b581613842565b80516107b58161384b565b60006020828403121561266f57600080fd5b600061267b8484612547565b949350505050565b60006020828403121561269557600080fd5b600061267b8484612552565b600080600080608085870312156126b757600080fd5b60006126c38787612547565b94505060206126d487828801612547565b93505060406126e58782880161263c565b92505060606126f68782880161263c565b91505092959194509250565b60008060006040848603121561271757600080fd5b60006127238686612547565b93505060208401356001600160401b0381111561273f57600080fd5b61274b8682870161255d565b92509250509250925092565b6000806040838503121561276a57600080fd5b60006127768585612547565b9250506020612787858286016125df565b9150509250929050565b600080604083850312156127a457600080fd5b60006127b08585612547565b92505060206127878582860161263c565b600080600080606085870312156127d757600080fd5b60006127e38787612547565b94505060206127f48782880161263c565b93505060408501356001600160401b0381111561281057600080fd5b61281c8782880161259e565b95989497509550505050565b60008060006060848603121561283d57600080fd5b60006128498686612547565b935050602061285a8682870161263c565b925050604061286b8682870161263c565b9150509250925092565b6000806000806000806060878903121561288e57600080fd5b86356001600160401b038111156128a457600080fd5b6128b089828a0161255d565b965096505060208701356001600160401b038111156128ce57600080fd5b6128da89828a0161255d565b945094505060408701356001600160401b038111156128f857600080fd5b61290489828a0161255d565b92509250509295509295509295565b6000806020838503121561292657600080fd5b82356001600160401b0381111561293c57600080fd5b6129488582860161255d565b92509250509250929050565b60006020828403121561296657600080fd5b600061267b84846125ea565b60006040828403121561298457600080fd5b600061267b84846125f5565b6000602082840312156129a257600080fd5b600061267b848461263c565b6000602082840312156129c057600080fd5b600061267b8484612647565b6000806000606084860312156129e157600080fd5b60006129ed8686612647565b93505060206129fe86828701612647565b925050604061286b86828701612647565b6000612a1b8383612be8565b505060200190565b6000612a2f83836132eb565b505060600190565b6000612a438383613322565b505060400190565b612a54816137d1565b82525050565b612a54816137a9565b6000612a6e82613797565b612a78818561379b565b9350612a8383613791565b8060005b83811015612ab1578151612a9b8882612a0f565b9750612aa683613791565b925050600101612a87565b509495945050505050565b6000612ac782613797565b612ad1818561379b565b9350612adc83613791565b8060005b83811015612ab1578151612af48882612a23565b9750612aff83613791565b925050600101612ae0565b6000612b1582613797565b612b1f818561379b565b9350612b2a83613791565b8060005b83811015612ab1578151612b428882612a37565b9750612b4d83613791565b925050600101612b2e565b6000612b64838561379b565b93506001600160fb1b03831115612b7a57600080fd5b602083029250612b8b8385846137e3565b50500190565b6000612b9c82613797565b612ba6818561379b565b9350612bb183613791565b8060005b83811015612ab1578151612bc98882612a0f565b9750612bd483613791565b925050600101612bb5565b612a54816137b4565b612a5481610611565b612a54612bfd82610611565b610611565b612a54816137d8565b6000612c1682613797565b612c20818561379b565b9350612c308185602086016137ef565b612c398161381b565b9093019392505050565b6000612c50601c8361379b565b7f656e74726965732073756d206c657373207468616e2074617267657400000000815260200192915050565b6000612c8960358361379b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ce0601b8361379b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612d1960338361379b565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612d6e60248361379b565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000612db4601e8361379b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612ded600e8361379b565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000612e1760388361379b565b7f4f6e6c79207065726d697474656420657363726f772063726561746f7273206381527f616e2063726561746520657363726f7720656e74726965730000000000000000602082015260400192915050565b6000612e76601b8361379b565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000612eaf6011836137a4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612edc60178361379b565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612f1560478361379b565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000612f8460198361379b565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000612fbd60158361379b565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b6000612fee60398361379b565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b600061304d60248361379b565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b600061309360128361379b565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b60006130c1602f8361379b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061311e60218361379b565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b600061316160118361379b565b701c9958da5c1a595b9d081b9bdd081cd95d607a1b815260200192915050565b600061318e601c8361379b565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b60006131c76019836137a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061320060288361379b565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061324a600f8361379b565b6e1858d8dbdd5b9d081b9bdd081cd95d608a1b815260200192915050565b600061327560288361379b565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b60006132bf601f8361379b565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906132fc8482613346565b50602082015161330f6020850182612be8565b5060408201516116f06040850182612be8565b805160408301906133338482613346565b5060208201516116f06020850182612be8565b612a54816137c5565b600061335a82612ea2565b91506133668284612bf1565b50602001919050565b600061335a826131ba565b602081016107b58284612a5a565b606081016133968286612a4b565b6133a36020830185612a5a565b61267b6040830184612be8565b604081016133be8284612a4b565b6107b560208301613105565b604081016133d88285612a5a565b61091b6020830184612a5a565b604081016133f38285612a5a565b61091b6020830184612be8565b604081016133be8284612a5a565b6060810161341c8285612a5a565b61091b6020830184613322565b608081016134378288612a5a565b6134446020830187612be8565b8181036040830152613457818587612b58565b90506134666060830184612be8565b9695505050505050565b6060810161347e8286612a5a565b6133a36020830185612be8565b6020808252810161091b8184612a63565b6020808252810161091b8184612abc565b606080825281016134bf818688612b58565b90506134ce6020830185612be8565b6134db6040830184612be8565b95945050505050565b6020808252810161091b8184612b91565b602081016107b58284612bdf565b602081016107b58284612be8565b604081016133d88285612be8565b6040810161352d8285612be8565b818103602083015261267b8184612c0b565b602081016107b58284612c02565b6020808252810161091b8184612c0b565b602080825281016107b581612c43565b602080825281016107b581612c7c565b602080825281016107b581612cd3565b602080825281016107b581612d0c565b602080825281016107b581612d61565b602080825281016107b581612da7565b602080825281016107b581612de0565b602080825281016107b581612e0a565b602080825281016107b581612e69565b602080825281016107b581612ecf565b602080825281016107b581612f08565b602080825281016107b581612f77565b602080825281016107b581612fb0565b602080825281016107b581612fe1565b602080825281016107b581613040565b602080825281016107b581613086565b602080825281016107b5816130b4565b602080825281016107b581613111565b602080825281016107b581613154565b602080825281016107b581613181565b602080825281016107b5816131f3565b602080825281016107b58161323d565b602080825281016107b581613268565b602080825281016107b5816132b2565b604081016107b58284613322565b604081016136fa8285612be8565b818103602083015261267b8184612b0a565b604081016133f38285612be8565b6060810161347e8286612be8565b608081016137368287612be8565b6137436020830186612be8565b6137506040830185612be8565b6134db6060830184612be8565b604081016133f38285613346565b6040518181016001600160401b038111828210171561378957600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b60006107b5826137b9565b151590565b6001600160a01b031690565b6001600160401b031690565b60006107b5825b60006107b5826137a9565b82818337506000910152565b60005b8381101561380a5781810151838201526020016137f2565b838111156116f05750506000910152565b601f01601f191690565b61382e816137a9565b8114610fb357600080fd5b61382e816137b4565b61382e81610611565b61382e816137c556fea365627a7a7231582083b5ebc16b93b8e229b7b3d0385de8a5f25d2be8e44c79e3de7af1ea4dd2beb46c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "accountToMerge", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowAmountMerged", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "AccountMerged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "AccountMergingDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - } - ], - "name": "AccountMergingStarted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowedAmountMigrated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "BurnedForMigrationToL2", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MaxAccountMergingDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MaxEscrowDurationUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "NominateAccountToMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endIndex", - "type": "uint256" - } - ], - "name": "Revoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Vested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "duration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "VestingEntryCreated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingIsOpen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accountMergingStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "accountVestingEntryIDs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "quantity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "appendVestingEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "burnForMigration", - "outputs": [ - { - "internalType": "uint256", - "name": "escrowedAccountBalance", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry[]", - "name": "vestingEntries", - "type": "tuple[]" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "createEscrowEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - } - ], - "name": "getAccountVestingEntryIDs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "getVestingEntry", - "outputs": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "name": "getVestingEntryClaimable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "getVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "total", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - } - ], - "name": "getVestingSchedules", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "entryID", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntryWithID[]", - "name": "", - "type": "tuple[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry[]", - "name": "", - "type": "tuple[]" - } - ], - "name": "importVestingEntries", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxAccountMergingDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "max_duration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "mergeAccount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "name": "migrateAccountEscrowBalances", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "migrateVestingSchedule", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextEntryId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nominateAccountToMerge", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nominatedReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numVestingEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "permittedEscrowCreators", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "targetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "startIndex", - "type": "uint256" - } - ], - "name": "revokeFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setAccountMergingDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setMaxAccountMergingWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "name": "setMaxEscrowDuration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "bool", - "name": "permitted", - "type": "bool" - } - ], - "name": "setPermittedEscrowCreator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "setupExpiryTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "startMergingWindow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "totalEscrowedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalEscrowedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "totalVestedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256[]", - "name": "entryIDs", - "type": "uint256[]" - } - ], - "name": "vest", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "entryId", - "type": "uint256" - } - ], - "name": "vestingSchedules", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "internalType": "struct VestingEntries.VestingEntry", - "name": "", - "type": "tuple" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x28760db05f19e556c19376ccadd7952e3e4b3488df5c1cc406ac25579784e233", - "urls": [ - "bzz-raw://6307cbccfa1f2d7ca353c846a893e9d6547de62776fde8bd674dada178855d70", - "dweb:/ipfs/QmNX7xWE5yJTQEmMWGdLfRejbe3LXUBPduzTVWTzXxioSe" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "RewardEscrowV2.sol": "RewardEscrowV2" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "RewardEscrowV2.sol": { - "keccak256": "0x28760db05f19e556c19376ccadd7952e3e4b3488df5c1cc406ac25579784e233", - "urls": [ - "bzz-raw://6307cbccfa1f2d7ca353c846a893e9d6547de62776fde8bd674dada178855d70", - "dweb:/ipfs/QmNX7xWE5yJTQEmMWGdLfRejbe3LXUBPduzTVWTzXxioSe" - ] - } - }, - "version": 1 - } - }, - "SynthetixEscrow": { - "bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fe578063da7bd3e914610506578063ee1d036c14610532578063fec9f9da1461055e5761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b806370a082311461038c578063759b5225146103b257806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d901461033257806353a47bb71461033a57806363667eb71461035e5780636b3905c4146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610207610c9a565b6102076004803603602081101561037c57600080fd5b50356001600160a01b0316610c9f565b610207600480360360208110156103a257600080fd5b50356001600160a01b0316610cb8565b610342610cd3565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b610207610e6f565b6102bd6004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610e74565b6102076004803603604081101561054857600080fd5b506001600160a01b038135169060200135610ee3565b6101b96004803603602081101561057457600080fd5b50356001600160a01b0316610ef6565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610e74565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610ee3565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6001546001600160a01b031681565b600081565b6000610caa82610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031681565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cad565b6000610dd08383610e74565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b601481565b610e7c6110b6565b6001600160a01b0383166000908152600460205260409020805483908110610ea057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610ec3575050505050905092915050565b6000610eef8383610e74565b6001610dd3565b610efe610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820bc5b6fbdd8be8275942e328218389a026e3813568531275a446f9d0ed63b969a64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract ISynthetix", - "name": "_synthetix", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newSynthetix", - "type": "address" - } - ], - "name": "SynthetixUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Vested", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_VESTING_ENTRIES", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "QUANTITY_INDEX", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "TIME_INDEX", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "times", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "quantities", - "type": "uint256[]" - } - ], - "name": "addVestingSchedule", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quantity", - "type": "uint256" - } - ], - "name": "appendVestingEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingEntry", - "outputs": [ - { - "internalType": "uint256[2]", - "name": "", - "type": "uint256[2]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getNextVestingTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingQuantity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingScheduleEntry", - "outputs": [ - { - "internalType": "uint256[2]", - "name": "", - "type": "uint256[2]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getVestingTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numVestingEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "purgeAccount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ISynthetix", - "name": "_synthetix", - "type": "address" - } - ], - "name": "setSynthetix", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "setupExpiryTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthetix", - "outputs": [ - { - "internalType": "contract ISynthetix", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "totalVestedAccountBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalVestedBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "vest", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "vestingSchedules", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x6d789f17464ba2e49182b50e3706a4f69f290821d8a3e023152e43ba4ea4c6c3", - "urls": [ - "bzz-raw://ff741574ab7787b76fc75f8dbf4a2471250241a4aed1305f265df3ac2051bc72", - "dweb:/ipfs/Qmcy6PUVY57TDN6ZxcdZ6LBgLq2mtwH8UZDsxsnm6KpGbD" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthetixEscrow.sol": "SynthetixEscrow" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthetixEscrow.sol": { - "keccak256": "0x6d789f17464ba2e49182b50e3706a4f69f290821d8a3e023152e43ba4ea4c6c3", - "urls": [ - "bzz-raw://ff741574ab7787b76fc75f8dbf4a2471250241a4aed1305f265df3ac2051bc72", - "dweb:/ipfs/Qmcy6PUVY57TDN6ZxcdZ6LBgLq2mtwH8UZDsxsnm6KpGbD" - ] - } - }, - "version": 1 - } - }, - "SynthetixDebtShare": { - "bytecode": "6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820d4d8e7fbfa05b5c4526d15f74ba88211e753328ebd272879e1c60b275a61c2b764736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authorizedBroker", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "authorized", - "type": "bool" - } - ], - "name": "ChangeAuthorizedBroker", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authorizedToSnapshot", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "authorized", - "type": "bool" - } - ], - "name": "ChangeAuthorizedToSnapshot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "addAuthorizedBroker", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "addAuthorizedToSnapshot", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "authorizedBrokers", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "authorizedToSnapshot", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "periodId", - "type": "uint256" - } - ], - "name": "balanceOfOnPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "balances", - "outputs": [ - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "periodId", - "type": "uint128" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnShare", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentPeriodId", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "finishSetup", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "name": "importAddresses", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isInitialized", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mintShare", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "removeAuthorizedBroker", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "removeAuthorizedToSnapshot", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "sharePercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "periodId", - "type": "uint256" - } - ], - "name": "sharePercentOnPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint128", - "name": "id", - "type": "uint128" - } - ], - "name": "takeSnapshot", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "totalSupplyOnPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b", - "urls": [ - "bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151", - "dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthetixDebtShare.sol": "SynthetixDebtShare" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthetixDebtShare.sol": { - "keccak256": "0x60603a10d4152e95eab211e9a3aa81ae1ce6392ba4f56e6505ce29ebcfe4758b", - "urls": [ - "bzz-raw://f08c71ff0f048bf94e4dc3e5a52717b1ded2ac35fbe4a36004c9e9e58c229151", - "dweb:/ipfs/QmYLzUGXBFHKHaq8bn5U5r2x4ymLReoBmcRzT6cLXbW7AC" - ] - } - }, - "version": 1 - } - }, - "Proxy": { - "bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204a40a62232a93602005a0df8eafa1dff3b1633a17b706a6710abcbd12d9507c764736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "contract Proxyable", - "name": "newTarget", - "type": "address" - } - ], - "name": "TargetUpdated", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "numTopics", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "topic1", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic2", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic3", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "topic4", - "type": "bytes32" - } - ], - "name": "_emit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract Proxyable", - "name": "_target", - "type": "address" - } - ], - "name": "setTarget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "target", - "outputs": [ - { - "internalType": "contract Proxyable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa", - "urls": [ - "bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e", - "dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Proxy.sol": "Proxy" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Proxy.sol": { - "keccak256": "0xb959310d2acca36721791e0186d69202835fc1a576df5fd201034c963fd0ceaa", - "urls": [ - "bzz-raw://b2d3dcd67bc696f061518a0853ecac2825d3dbb1e0d04f5ea12178e1dae0f09e", - "dweb:/ipfs/Qme14K6LS4DdZgi9YAyGFxUWaJpUTXLHxNnCgi5wEV3oUM" - ] - } - }, - "version": 1 - } - }, - "EternalStorage": { - "bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158200dfed0d87ea0c2d908f0f117e82ff45f96d8f1f6da6e289850136fd5ef11d9cd64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBooleanValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBytesValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteStringValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getAddressValue", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBooleanValue", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBytes32Value", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBytesValue", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getIntValue", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getStringValue", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getUIntValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "value", - "type": "address" - } - ], - "name": "setAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "setBooleanValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ], - "name": "setBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - } - ], - "name": "setBytesValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "setIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "value", - "type": "string" - } - ], - "name": "setStringValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45", - "urls": [ - "bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf", - "dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "EternalStorage.sol": "EternalStorage" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "EternalStorage.sol": { - "keccak256": "0x2778cb84e45a5bcfe4c2db5cb4fcd96d92c336d0012c3ab68fa685e8c1756e45", - "urls": [ - "bzz-raw://7e3790683a233e88ccc3ae21a2f69b0afb0233bbe1a31b411f0fffcb2655cfcf", - "dweb:/ipfs/QmeH7XuPbqTEYpyfEFdErEwkuKFW8pFz9qbhYiEppYc5n6" - ] - } - }, - "version": 1 - } - }, - "DelegateApprovals": { - "bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820769492428c425b94186683000badc269a3479a27b2ccff7795165b9300fb31c064736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract EternalStorage", - "name": "_eternalStorage", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "action", - "type": "bytes32" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newEternalStorage", - "type": "address" - } - ], - "name": "EternalStorageUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "action", - "type": "bytes32" - } - ], - "name": "WithdrawApproval", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "APPROVE_ALL", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "BURN_FOR_ADDRESS", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CLAIM_FOR_ADDRESS", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "EXCHANGE_FOR_ADDRESS", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ISSUE_FOR_ADDRESS", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approveAllDelegatePowers", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approveBurnOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approveClaimOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approveExchangeOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approveIssueOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "approvedAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "canBurnFor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "canClaimFor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "canExchangeFor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "authoriser", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "canIssueFor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "eternalStorage", - "outputs": [ - { - "internalType": "contract EternalStorage", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "removeAllDelegatePowers", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "removeBurnOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "removeClaimOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "removeExchangeOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "removeIssueOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract EternalStorage", - "name": "_eternalStorage", - "type": "address" - } - ], - "name": "setEternalStorage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40", - "urls": [ - "bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e", - "dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "DelegateApprovals.sol": "DelegateApprovals" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "DelegateApprovals.sol": { - "keccak256": "0x3db3b38936505231ffba26abc30352ea229caf564b0e90a60c5ca7653de99d40", - "urls": [ - "bzz-raw://54e397c49537da2783f3d3d55f245f68d8cb29c2b7ff9083511512c28390de4e", - "dweb:/ipfs/QmaR3kq7Me2QoqHEkYuCj6X4EHJGFjyMdhTqbq6btL7LUA" - ] - } - }, - "version": 1 - } - }, - "Liquidator": { - "bytecode": "60806040523480156200001157600080fd5b5060405162002bb138038062002bb18339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61298e80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806374e889c911610104578063952225f3116100a2578063b410a03411610071578063b410a03414610350578063c855a8e114610358578063d45c0d7e14610360578063f557f73c14610373576101cf565b8063952225f31461030f578063974e9e7f14610322578063a0cf745114610335578063ad2bc2d51461033d576101cf565b8063828afc4b116100de578063828afc4b146102d7578063899ffef4146102ea5780638d1bd1be146102ff5780638da5cb5b14610307576101cf565b806374e889c9146102bf57806379ba5097146102c75780638074b372146102cf576101cf565b806339a9df1b116101715780635e887fe91161014b5780635e887fe914610284578063614d08f8146102a75780636a058966146102af57806374185360146102b7576101cf565b806339a9df1b1461024957806353a47bb71461025c5780635616c95714610271576101cf565b80631775765f116101ad5780631775765f1461021c57806323f5589a146102245780632af64bd31461022c57806331e4e03014610241576101cf565b806304f3bcec146101d45780631627540c146101f25780631710940c14610207575b600080fd5b6101dc610386565b6040516101e99190612749565b60405180910390f35b610205610200366004611f1e565b610395565b005b61020f6103f3565b6040516101e991906126a2565b61020f610403565b61020f61040d565b610234610417565b6040516101e99190612694565b61020f61052e565b610234610257366004611f1e565b610538565b610264610561565b6040516101e99190612625565b61026461027f366004611f1e565b610570565b610297610292366004611f62565b61058e565b6040516101e99493929190612858565b61020f610744565b61020f610755565b61020561076d565b61020f6108c3565b6102056108dd565b61020f610982565b61020f6102e5366004611f1e565b61098c565b6102f26109a7565b6040516101e99190612683565b61020f610a86565b610264610b1b565b61023461031d366004611f62565b610b2a565b610205610330366004611f1e565b610ce1565b61020f610d3d565b61020561034b366004611f1e565b610d47565b61020f610f1c565b61020f610f26565b61020561036e366004611f1e565b610f30565b61020f610381366004611fd8565b6112aa565b6002546001600160a01b031681565b61039d6113ab565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103e8908390612625565b60405180910390a150565b60006103fd6113d7565b90505b90565b60006103fd611488565b60006103fd6114e3565b600060606104236109a7565b905060005b815181101561052557600082828151811061043f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104909085906004016126a2565b60206040518083038186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e09190810190611f44565b6001600160a01b031614158061050b57506000818152600360205260409020546001600160a01b0316155b1561051c5760009350505050610400565b50600101610428565b50600191505090565b60006103fd611543565b6000610542611ec5565b61054b8361159d565b905061055a816000015161171a565b9392505050565b6001546001600160a01b031681565b600061057a611ec5565b6105838361159d565b602001519392505050565b600080600080306001600160a01b031663952225f387876040518363ffffffff1660e01b81526004016105c292919061264e565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106129190810190611f9c565b6106ad57600080600061062361172c565b6001600160a01b031663d37c4d8b8a6040518263ffffffff1660e01b815260040161064e9190612669565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190611fba565b9296509094509250905061073b565b6106b561172c565b6001600160a01b0316635e887fe987876040518363ffffffff1660e01b81526004016106e292919061264e565b60806040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107329190810190612025565b93509350935093505b92959194509250565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107776109a7565b905060005b81518110156108bf57600082828151811061079357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016107d5919061261a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610801929190612729565b60206040518083038186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108519190810190611f44565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ad90849084906126b0565b60405180910390a1505060010161077c565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146109105760405162461bcd60e51b815260040161090790612778565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610953926001600160a01b0391821692911690612633565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006103fd611740565b6000610996611ec5565b61099f8361159d565b519392505050565b6060806109b2611795565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106109f657fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610a1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610a3f57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600381518110610a6957fe5b602002602001018181525050610a7f82826117e6565b9250505090565b60006103fd610a93611488565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad757600080fd5b505af4158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b0f9190810190611fba565b9063ffffffff6118a216565b6000546001600160a01b031681565b600080610b356118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610b609190612625565b60206040518083038186803b158015610b7857600080fd5b505afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb09190810190611fba565b9050610bba6118ce565b8111610bca576000915050610cdb565b82610c1a57610bd7611ec5565b610be08561159d565b9050610bef816000015161171a565b8015610bff5750610bff85611926565b15610c0f57600192505050610cdb565b600092505050610cdb565b600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6057600080fd5b505af4158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c989190810190611fba565b9050610cc2610cb5610ca86114e3565b839063ffffffff6119d516565b829063ffffffff6119fa16565b821115610cd457600092505050610cdb565b5060019150505b92915050565b610ce961172c565b6001600160a01b0316336001600160a01b031614610d195760405162461bcd60e51b815260040161090790612798565b610d21611ec5565b610d2a8261159d565b8051909150156108bf576108bf82611a24565b60006103fd611afb565b620a69cb60eb1b610d56611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610d8191906126a2565b60206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd19190810190611f9c565b15610dee5760405162461bcd60e51b815260040161090790612808565b610df6611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2e57600080fd5b505afa158015610e42573d6000803e3d6000fd5b50505050610e4e611ec5565b610e578361159d565b8051909150610e785760405162461bcd60e51b815260040161090790612848565b6000610e826118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610ead9190612625565b60206040518083038186803b158015610ec557600080fd5b505afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efd9190810190611fba565b9050610f076118ce565b8111610f1657610f1684611a24565b50505050565b60006103fd6118ce565b60006103fd611b8b565b620a69cb60eb1b610f3f611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f6a91906126a2565b60206040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fba9190810190611f9c565b15610fd75760405162461bcd60e51b815260040161090790612808565b610fdf611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561101757600080fd5b505afa15801561102b573d6000803e3d6000fd5b50506002546040516321f8a72160e01b8152600093506001600160a01b0390911691506321f8a72190611071906b131959d858de53585c9ad95d60a21b906004016126a2565b60206040518083038186803b15801561108957600080fd5b505afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c19190810190611f44565b6001600160a01b0316146110e75760405162461bcd60e51b815260040161090790612818565b60006110f1611488565b1161110e5760405162461bcd60e51b8152600401610907906127d8565b6000611118611afb565b116111355760405162461bcd60e51b8152600401610907906127e8565b61113d611ec5565b6111468361159d565b8051909150156111685760405162461bcd60e51b815260040161090790612838565b60006111726118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040161119d9190612625565b60206040518083038186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ed9190810190611fba565b90506111f7611488565b8110156112165760405162461bcd60e51b8152600401610907906127b8565b61121f84611926565b61123b5760405162461bcd60e51b815260040161090790612768565b6000611255611248611afb565b429063ffffffff6119d516565b9050611262858233611bf3565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405161129b91906126a2565b60405180910390a25050505050565b6000806112b56118ce565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fd57600080fd5b505af4158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113359190810190611fba565b9050600061135961134c878563ffffffff611d2016565b889063ffffffff611d4a16565b9050600061138d61138085611374868a63ffffffff6119d516565b9063ffffffff611d2016565b849063ffffffff611d4a16565b905061139f828263ffffffff6119fa16565b98975050505050505050565b6000546001600160a01b031633146113d55760405162461bcd60e51b8152600401610907906127f8565b565b60006113e1611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016114389291906126be565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103fd9190810190611fba565b6000611492611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006114ed611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016114389291906126be565b600061154d611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b81526004016114389291906126be565b6115a5611ec5565b6115ad611d72565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115e9724c69717569646174696f6e446561646c696e6560681b86611d8f565b6040518363ffffffff1660e01b81526004016116069291906126be565b60206040518083038186803b15801561161e57600080fd5b505afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116569190810190611fba565b8152611660611d72565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61169a702634b8bab4b230ba34b7b721b0b63632b960791b86611d8f565b6040518363ffffffff1660e01b81526004016116b79291906126be565b60206040518083038186803b1580156116cf57600080fd5b505afa1580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117079190810190611f44565b6001600160a01b03166020820152919050565b60008082118015610cdb575050421190565b60006103fd6524b9b9bab2b960d11b611dc2565b600061174a611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b81526004016114389291906126be565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611816578160200160208202803883390190505b50905060005b83518110156118585783818151811061183157fe5b602002602001015182828151811061184557fe5b602090810291909101015260010161181c565b5060005b825181101561189b5782818151811061187157fe5b602002602001015182828651018151811061188857fe5b602090810291909101015260010161185c565b5092915050565b600061055a8383670de0b6b3a7640000611e1f565b60006103fd680a6f2dce8d0cae8d2f60bb1b611dc2565b60006118d8611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016114389291906126be565b60008061193161172c565b6001600160a01b031663a5fdc5de846040518263ffffffff1660e01b815260040161195c9190612625565b60206040518083038186803b15801561197457600080fd5b505afa158015611988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ac9190810190611fba565b90506119cd6119b9611740565b6119c1611543565b9063ffffffff6119d516565b111592915050565b60008282018381101561055a5760405162461bcd60e51b815260040161090790612788565b600061055a82611a1885670de0b6b3a764000063ffffffff611e5616565b9063ffffffff611e9016565b611a2c611d72565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a68724c69717569646174696f6e446561646c696e6560681b85611d8f565b6040518363ffffffff1660e01b8152600401611a859291906126be565b600060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8742604051611af091906126a2565b60405180910390a250565b6000611b05611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006103fd6c45786368616e6765526174657360981b611dc2565b60006103fd6b53797374656d53746174757360a01b611dc2565b6000611b95611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b81526004016114389291906126be565b611bfb611d72565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c37724c69717569646174696f6e446561646c696e6560681b87611d8f565b856040518463ffffffff1660e01b8152600401611c5693929190612701565b600060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b50505050611c90611d72565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611cca702634b8bab4b230ba34b7b721b0b63632b960791b87611d8f565b846040518463ffffffff1660e01b8152600401611ce9939291906126d9565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d3b848463ffffffff611e5616565b81611d4257fe5b049392505050565b600082821115611d6c5760405162461bcd60e51b8152600401610907906127a8565b50900390565b60006103fd6e466c657869626c6553746f7261676560881b611dc2565b60008282604051602001611da49291906125d4565b60405160208183030381529060405280519060200120905092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591611df2918691016125fa565b6040516020818303038152906040529061189b5760405162461bcd60e51b81526004016109079190612757565b600080611e3984611a1887600a870263ffffffff611e5616565b90506005600a820610611e4a57600a015b600a9004949350505050565b600082611e6557506000610cdb565b82820282848281611e7257fe5b041461055a5760405162461bcd60e51b815260040161090790612828565b6000808211611eb15760405162461bcd60e51b8152600401610907906127c8565b6000828481611ebc57fe5b04949350505050565b604080518082019091526000808252602082015290565b8035610cdb81612922565b8051610cdb81612922565b8035610cdb81612939565b8051610cdb81612939565b8035610cdb81612942565b8051610cdb81612942565b600060208284031215611f3057600080fd5b6000611f3c8484611edc565b949350505050565b600060208284031215611f5657600080fd5b6000611f3c8484611ee7565b60008060408385031215611f7557600080fd5b6000611f818585611edc565b9250506020611f9285828601611ef2565b9150509250929050565b600060208284031215611fae57600080fd5b6000611f3c8484611efd565b600060208284031215611fcc57600080fd5b6000611f3c8484611f13565b600080600060608486031215611fed57600080fd5b6000611ff98686611f08565b935050602061200a86828701611f08565b925050604061201b86828701611f08565b9150509250925092565b6000806000806080858703121561203b57600080fd5b60006120478787611f13565b945050602061205887828801611f13565b935050604061206987828801611f13565b925050606061207a87828801611f13565b91505092959194509250565b6000612092838361211c565b505060200190565b6120a3816128ae565b82525050565b6120a36120b5826128ae565b612901565b60006120c58261289c565b6120cf81856128a0565b93506120da83612896565b8060005b838110156121085781516120f28882612086565b97506120fd83612896565b9250506001016120de565b509495945050505050565b6120a3816128b9565b6120a381610400565b6120a361213182610400565b610400565b6120a3816128ca565b600061214a8261289c565b61215481856128a0565b93506121648185602086016128d5565b61216d81612912565b9093019392505050565b6000612184601a836128a0565b7f6e6f7420656e6f75676820534e5820666f722072657761726473000000000000815260200192915050565b60006121bd6035836128a0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612214601b836128a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061224d603c836128a0565b7f4c697175696461746f723a204f6e6c79207468652049737375657220636f6e7481527f726163742063616e20706572666f726d207468697320616374696f6e00000000602082015260400192915050565b60006122ac601e836128a0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122e56035836128a0565b7f4163636f756e742069737375616e636520726174696f206973206c657373207481527468616e206c69717569646174696f6e20726174696f60581b602082015260400192915050565b600061233c601a836128a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006123756011836128a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006123a26019836128a0565b7f4c69717569646174696f6e20726174696f206e6f742073657400000000000000815260200192915050565b60006123db6019836128a0565b7f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000815260200192915050565b6000612414602f836128a0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612471601b836128a0565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b60006124aa6017836128a0565b7f4d757374206c6971756964617465207573696e67205633000000000000000000815260200192915050565b60006124e36021836128a0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006125266027836128a0565b7f4163636f756e7420616c726561647920666c616767656420666f72206c69717581526634b230ba34b7b760c91b602082015260400192915050565b600061256f601e836128a0565b7f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000815260200192915050565b60006125a86019836128a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006125e08285612125565b6020820191506125f082846120a9565b5060140192915050565b600061260582612368565b91506126118284612125565b50602001919050565b60006126058261259b565b60208101610cdb828461209a565b60408101612641828561209a565b61055a602083018461209a565b6040810161265c828561209a565b61055a6020830184612113565b60408101612677828461209a565b610cdb60208301612458565b6020808252810161055a81846120ba565b60208101610cdb8284612113565b60208101610cdb828461211c565b60408101612641828561211c565b604081016126cc828561211c565b61055a602083018461211c565b606081016126e7828661211c565b6126f4602083018561211c565b611f3c604083018461209a565b6060810161270f828661211c565b61271c602083018561211c565b611f3c604083018461211c565b60408101612737828561211c565b8181036020830152611f3c818461213f565b60208101610cdb8284612136565b6020808252810161055a818461213f565b60208082528101610cdb81612177565b60208082528101610cdb816121b0565b60208082528101610cdb81612207565b60208082528101610cdb81612240565b60208082528101610cdb8161229f565b60208082528101610cdb816122d8565b60208082528101610cdb8161232f565b60208082528101610cdb81612395565b60208082528101610cdb816123ce565b60208082528101610cdb81612407565b60208082528101610cdb81612464565b60208082528101610cdb8161249d565b60208082528101610cdb816124d6565b60208082528101610cdb81612519565b60208082528101610cdb81612562565b60808101612866828761211c565b612873602083018661211c565b612880604083018561211c565b61288d606083018461211c565b95945050505050565b60200190565b5190565b90815260200190565b919050565b6000610cdb826128be565b151590565b6001600160a01b031690565b6000610cdb826128ae565b60005b838110156128f05781810151838201526020016128d8565b83811115610f165750506000910152565b6000610cdb826000610cdb8261291c565b601f01601f191690565b60601b90565b61292b816128ae565b811461293657600080fd5b50565b61292b816128b9565b61292b8161040056fea365627a7a72315820467176332e51265f34381876e268e83aaedb3afabc40c22a88780ec418cc56556c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "AccountFlaggedForLiquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "AccountRemovedFromLiquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "LIQUIDATION_CALLER", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "LIQUIDATION_DEADLINE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "debtBalance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "penalty", - "type": "uint256" - } - ], - "name": "calculateAmountToFixCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "checkAndRemoveAccountInLiquidation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "flagAccountForLiquidation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "flagReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getLiquidationCallerForAccount", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getLiquidationDeadlineForAccount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isLiquidationDeadlinePassed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bool", - "name": "isSelfLiquidation", - "type": "bool" - } - ], - "name": "isLiquidationOpen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issuanceRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidateReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bool", - "name": "isSelfLiquidation", - "type": "bool" - } - ], - "name": "liquidationAmounts", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRedeemed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "debtToRemove", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "escrowToLiquidate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialDebtBalance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationCollateralRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationEscrowDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationPenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "liquidationRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "removeAccountInLiquidation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "selfLiquidationPenalty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x8ce771fe8e8ccb178383188bdaf40380f6caa7c50711939bc716d58365dbe492", - "urls": [ - "bzz-raw://38cba6a4ec89ceff43e189f61f19bef085a632b4e1eeb939f8804cb791dc3f52", - "dweb:/ipfs/QmcxL6HJsrCqjmbxNHooXjWckCAH5FxBrcypjsxf1MARE6" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Liquidator.sol": "Liquidator" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Liquidator.sol": { - "keccak256": "0x8ce771fe8e8ccb178383188bdaf40380f6caa7c50711939bc716d58365dbe492", - "urls": [ - "bzz-raw://38cba6a4ec89ceff43e189f61f19bef085a632b4e1eeb939f8804cb791dc3f52", - "dweb:/ipfs/QmcxL6HJsrCqjmbxNHooXjWckCAH5FxBrcypjsxf1MARE6" - ] - } - }, - "version": 1 - } - }, - "LiquidatorRewards": { - "bytecode": "60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a7231582020f689107e91cc6ce331e01eab6138500d393d1eb72102e1984472b41ef3758a6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "RewardPaid", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "accumulatedRewardsPerShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "earned", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "entries", - "outputs": [ - { - "internalType": "uint128", - "name": "claimable", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "entryAccumulatedRewards", - "type": "uint128" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "initiated", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "name": "notifyRewardAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "updateEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195", - "urls": [ - "bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6", - "dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "LiquidatorRewards.sol": "LiquidatorRewards" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "LiquidatorRewards.sol": { - "keccak256": "0x12cf65632616f025e1549472bbac876007fc0e679501ecd57717580a50b9b195", - "urls": [ - "bzz-raw://b0f2d9f502dce49c96918f4dc28fcfb77d3465384315d515151467040d6839d6", - "dweb:/ipfs/QmdcByDsQ5WH5XZNJYws9tBrbGtmB9RV6fezWR1M413i4P" - ] - } - }, - "version": 1 - } - }, - "FeePoolEternalStorage": { - "bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158207648b05ca0935f6d5ede33ff860003dae37bb7b0e41ce2521cdf1c480e0ec4fd64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePool", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBooleanValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteBytesValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteStringValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "deleteUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getAddressValue", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBooleanValue", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBytes32Value", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getBytesValue", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getIntValue", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getStringValue", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - } - ], - "name": "getUIntValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "feePeriodIDs", - "type": "uint256[]" - } - ], - "name": "importFeeWithdrawalData", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "value", - "type": "address" - } - ], - "name": "setAddressValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "value", - "type": "bool" - } - ], - "name": "setBooleanValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "value", - "type": "bytes32" - } - ], - "name": "setBytes32Value", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "value", - "type": "bytes" - } - ], - "name": "setBytesValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "setIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "value", - "type": "string" - } - ], - "name": "setStringValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "record", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setUIntValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "setupExpiryTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e", - "urls": [ - "bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a", - "dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "FeePoolEternalStorage.sol": "FeePoolEternalStorage" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "FeePoolEternalStorage.sol": { - "keccak256": "0xfc2e439eda9865e25ca9d95b843194dd5e8ea42373fbe7a624ced9d806bf168e", - "urls": [ - "bzz-raw://e6e080854b81ee99446ecb5c6d02c47cb54d8a89f16c45bf42b711c7a96f800a", - "dweb:/ipfs/QmUVVSeweCCchrSvVwmCGmqQmWTCzot1TRBz1ZiyMzu37n" - ] - } - }, - "version": 1 - } - }, - "FeePool": { - "bytecode": "6080604052631cd554d160e21b6007553480156200001c57600080fd5b506040516200456d3803806200456d8339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b6141ba80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636de813f11161017b578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610516578063f43d41611461051e578063fd1f498d14610531576102c8565b8063e0e6393d14610506578063eb1edd611461050e576102c8565b8063cff2ddad116100bd578063cff2ddad146104e1578063d294f093146104f6578063d67bdd25146104fe576102c8565b8063b410a034146104c6578063bc67f832146104ce576102c8565b8063899ffef41161012f57806397107d6d1161011457806397107d6d14610498578063a419b69a146104ab578063ac834193146104be576102c8565b8063899ffef41461047b5780638da5cb5b14610490576102c8565b806373941b961161016057806373941b9614610458578063741853601461046b57806379ba509714610473576102c8565b80636de813f11461044857806372ccd69e14610450576102c8565b80633ebc457a11610229578063569249d0116101dd578063614d08f8116101c2578063614d08f81461041a578063642fbd8b146104225780636466f45e14610435576102c8565b8063569249d0146103ff57806359a2f19f14610407576102c8565b806341c178c31161020e57806341c178c3146103da57806346ba2d90146103e257806353a47bb7146103ea576102c8565b80633ebc457a146103ac5780633fcd2240146103b4576102c8565b806322425fa4116102805780632af64bd3116102655780632af64bd31461036f5780632e227eeb14610384578063331400161461038c576102c8565b806322425fa41461035457806322bf55ef1461035c576102c8565b80630813071c116102b15780630813071c1461030b5780630de586151461031e5780631627540c1461033f576102c8565b806304f3bcec146102cd57806307ea50cd146102eb575b600080fd5b6102d5610544565b6040516102e29190613e6a565b60405180910390f35b6102fe6102f936600461319a565b610553565b6040516102e29190613d87565b6102fe6103193660046131de565b610628565b61033161032c36600461319a565b61073a565b6040516102e2929190613dbe565b61035261034d36600461319a565b6107bc565b005b6102fe61081a565b61035261036a366004613254565b61082a565b610377610887565b6040516102e29190613d79565b61033161099e565b61039f61039a36600461319a565b610b25565b6040516102e29190613d5a565b610352610d1c565b6103c76103c2366004613254565b610f24565b6040516102e29796959493929190613fe7565b610331610fd2565b6102fe611080565b6103f2611086565b6040516102e29190613ce0565b6102fe611095565b61037761041536600461319a565b6110f0565b6102fe611102565b6102fe61043036600461319a565b611126565b61037761044336600461319a565b6111c7565b6102fe6112f3565b6102fe611348565b6103526104663660046132a2565b61135d565b610352611445565b610352611597565b610483611633565b6040516102e29190613d68565b6103f261198d565b6103526104a636600461319a565b61199c565b6102fe6104b936600461319a565b6119ef565b6102fe611a0e565b6102fe611aba565b6103526104dc36600461319a565b611ac4565b6104e9611aee565b6040516102e2919061404f565b610377611af3565b6103f2611b6a565b6102fe611b79565b6103f2611b83565b6102d5611b9b565b61035261052c3660046132c1565b611baa565b61035261053f366004613254565b611d5a565b6005546001600160a01b031681565b600061055d611dc6565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161059e929190613c79565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105d09190613d87565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106209190810190613236565b90505b919050565b6000811580610638575060028210155b1561064557506000610734565b61065160018303611df1565b5468010000000000000000900467ffffffffffffffff1661067457506000610734565b61067c611e1b565b6001600160a01b0316638ced14df846008856002811061069857fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106e1929167ffffffffffffffff1690600401613d17565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107319190810190613236565b90505b92915050565b6000806107456130b4565b61074e84610b25565b905060008060015b60028110156107af5761077b84826002811061076e57fe5b6020020151518490611e46565b92506107a584826002811061078c57fe5b602002015160016020020151839063ffffffff611e4616565b9150600101610756565b509093509150505b915091565b6107c4611e6b565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061080f908390613ce0565b60405180910390a150565b6000610824611e97565b90505b90565b61083333611f5e565b6108585760405162461bcd60e51b815260040161084f90613e89565b60405180910390fd5b610876816108666000611df1565b600301549063ffffffff611e4616565b6108806000611df1565b6003015550565b60006060610893611633565b905060005b81518110156109955760008282815181106108af57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610900908590600401613d87565b60206040518083038186803b15801561091857600080fd5b505afa15801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095091908101906131c0565b6001600160a01b031614158061097b57506000818152600660205260409020546001600160a01b0316155b1561098c5760009350505050610827565b50600101610898565b50600191505090565b6000806000806109cd7f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d919081019061335d565b50935050925050600080610a707f6578743a41676772656761746f7244656274526174696f000000000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae0919081019061335d565b50919450909250859150508215610b0657610b01818463ffffffff61215f16565b610b09565b60005b9650818410610b185781610b1a565b835b955050505050509091565b610b2d6130b4565b600080610b38611e1b565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b80908790600401613ce0565b60206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd09190810190613236565b9150600080610be0600085612178565b8651829052865160200181905290925090506000610bfd87610553565b905060015b8015610d11576000610c1382611df1565b5467ffffffffffffffff16905080831015610d07576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610c79908c9067ffffffffffffffff861690600401613d17565b60206040518083038186803b158015610c9157600080fd5b505afa158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cc99190810190613236565b9650610cd58288612178565b909550935084888360028110610ce757fe5b60200201515283888360028110610cfa57fe5b6020020151600160200201525b5060001901610c02565b505050505050919050565b610d246121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506000610d7e611e97565b11610d9b5760405162461bcd60e51b815260040161084f90613fc9565b610da3611e97565b4203610daf6000611df1565b5468010000000000000000900467ffffffffffffffff161115610de45760405162461bcd60e51b815260040161084f90613ea9565b6000610dee610fd2565b5090506000610dfb61099e565b509050610e088282612207565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610e71907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613dec565b60206040518083038186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ec191908101906131c0565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610eee929190613dbe565b600060405180830381600087803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b505050505050565b6000806000806000806000610f376130e1565b610f4089611df1565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b6000806000806110017f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611071919081019061335d565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b60028110156110ea576110c16110b082611df1565b60030154839063ffffffff611e4616565b91506110e06110cf82611df1565b60040154839063ffffffff6125cd16565b915060010161109b565b50905090565b60006110fb826125f5565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b600080611131611e1b565b90506000816001600160a01b031663e6d24bbd856040518263ffffffff1660e01b81526004016111619190613ce0565b60206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b19190810190613236565b90506111be600082612178565b50949350505050565b60006111d16121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506112296126e9565b611231612728565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261127e92879290911690600401613cfc565b60206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ce9190810190613218565b6112ea5760405162461bcd60e51b815260040161084f90613f39565b61062082612753565b60008060015b60028110156110ea5761131f61130e82611df1565b60050154839063ffffffff611e4616565b915061133e61132d82611df1565b60060154839063ffffffff6125cd16565b91506001016112f9565b60006113546001611df1565b60040154905090565b3330148061141b57506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a721906113b6907f53796e746865746978427269646765546f42617365000000000000000000000090600401613d87565b60206040518083038186803b1580156113ce57600080fd5b505afa1580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061140691908101906131c0565b6001600160a01b0316336001600160a01b0316145b6114375760405162461bcd60e51b815260040161084f90613f79565b6114418282612207565b5050565b606061144f611633565b905060005b815181101561144157600082828151811061146b57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016114ad9190613cca565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016114d9929190613dcc565b60206040518083038186803b1580156114f157600080fd5b505afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152991908101906131c0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906115859084908490613d95565b60405180910390a15050600101611454565b6001546001600160a01b031633146115c15760405162461bcd60e51b815260040161084f90613e99565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611604926001600160a01b0391821692911690613cfc565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60608061163e612833565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061169557fe5b6020026020010181815250507f53796e7468657469784465627453686172650000000000000000000000000000816001815181106116cf57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160028151811061170957fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061174357fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061176657fe5b6020026020010181815250507f526577617264457363726f775632000000000000000000000000000000000000816005815181106117a057fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106117da57fe5b6020026020010181815250507f52657761726473446973747269627574696f6e000000000000000000000000008160078151811061181457fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061184e57fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061188857fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a815181106118c257fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106118fc57fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061193657fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061197057fe5b6020026020010181815250506119868282612892565b9250505090565b6000546001600160a01b031681565b6119a4611e6b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061080f908390613cee565b60006119f96130b4565b611a0283610b25565b60200151519392505050565b6000610824611aa6611a1e612947565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6257600080fd5b505af4158015611a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9a9190810190613236565b9063ffffffff611e4616565b611aae6129be565b9063ffffffff612a3516565b60006108246129be565b611acc612a5f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611afd6121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b3557600080fd5b505afa158015611b49573d6000803e3d6000fd5b50505050611b556126e9565b600354610824906001600160a01b0316612753565b6003546001600160a01b031681565b6000610824612947565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611bb2612a89565b6004544210611bd35760405162461bcd60e51b815260040161084f90613f89565b60028710611bf35760405162461bcd60e51b815260040161084f90613fa9565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611c5057fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611d5157611cf3612af7565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611d1e9190613fd9565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050505b50505050505050565b611d626126e9565b611d6a612b0b565b6003546001600160a01b03908116911614611d975760405162461bcd60e51b815260040161084f90613f09565b611db581611da56000611df1565b600501549063ffffffff611e4616565b611dbf6000611df1565b6005015550565b60006108247f466565506f6f6c457465726e616c53746f726167650000000000000000000000612102565b60006008600260ff16836016540181611e0657fe5b0660028110611e1157fe5b6007020192915050565b60006108247f53796e7468657469784465627453686172650000000000000000000000000000612102565b6000828201838110156107315760405162461bcd60e51b815260040161084f90613ec9565b6000546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613f49565b565b6000611ea1612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60206040518083038186803b158015611f2657600080fd5b505afa158015611f3a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108249190810190613236565b6000611f68612b61565b6001600160a01b0316826001600160a01b0316148061200a57506000611f8c612af7565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611fb79190613ce0565b60206040518083038186803b158015611fcf57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120079190810190613236565b14155b806120935750612018612b8c565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016120439190613ce0565b60206040518083038186803b15801561205b57600080fd5b505afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120939190810190613218565b806120b657506120a1612bb7565b6001600160a01b0316826001600160a01b0316145b806120d957506120c4612be2565b6001600160a01b0316826001600160a01b0316145b8061062057506120e7612c0d565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b03909116918215159161213291869101613caa565b604051602081830303815290604052906110fb5760405162461bcd60e51b815260040161084f9190613e78565b600061073183836b033b2e3c9fd0803ce8000000612c38565b6000808261218b575060009050806121d5565b600061219685611df1565b905060006121b1858360030154612a3590919063ffffffff16565b905060006121cc868460050154612a3590919063ffffffff16565b91945090925050505b9250929050565b60006108247f53797374656d5374617475730000000000000000000000000000000000000000612102565b61220f612c0d565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050612269612be2565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122a357600080fd5b505af11580156122b7573d6000803e3d6000fd5b50505050806122c66000611df1565b60020155816122d56000611df1565b6001015560006122e481611df1565b905060006122f26001611df1565b90506123178260030154611a9a836004015484600301546125cd90919063ffffffff16565b6123216000611df1565b6003015560058083015460068301549183015461234892611a9a919063ffffffff6125cd16565b6123526000611df1565b60050155600061236181611df1565b60030154111561243557612373612af7565b6001600160a01b031663c81ff8fa60075473feefeefeefeefeefeefeefeefeefeefeefeefeef6123a36000611df1565b600301546040518463ffffffff1660e01b81526004016123c593929190613da3565b602060405180830381600087803b1580156123df57600080fd5b505af11580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124179190810190613218565b506124226000611df1565b600301546124306000611df1565b600401555b60165461246e9060029061246290600190612456908463ffffffff611e4616565b9063ffffffff6125cd16565b9063ffffffff612c7d16565b60168190556008906002811061248057fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906124e490611df1565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790554261250f6000611df1565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905561254c612af7565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016125779190613fd9565b600060405180830381600087803b15801561259157600080fd5b505af11580156125a5573d6000803e3d6000fd5b505050506125c66125b66001611df1565b5467ffffffffffffffff16612cad565b5050505050565b6000828211156125ef5760405162461bcd60e51b815260040161084f90613ed9565b50900390565b600080600080612603612af7565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b815260040161262e9190613ce0565b604080518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267d9190810190613272565b91509150600061268b6129be565b9050808310156126a357506001935091506107b79050565b60006126c06126b3611a1e612947565b839063ffffffff612a3516565b9050808411156126da5760008395509550505050506107b7565b50600194509092505050915091565b6002546001600160a01b0316331480159061270f57506003546001600160a01b03163314155b15611e9557600380546001600160a01b03191633179055565b60006108247f44656c6567617465417070726f76616c73000000000000000000000000000000612102565b6000808080808080612764886125f5565b91509150816127855760405162461bcd60e51b815260040161084f90613f59565b80156127a35760405162461bcd60e51b815260040161084f90613f19565b6127ac8861073a565b9094509250831515806127bf5750600083115b6127db5760405162461bcd60e51b815260040161084f90613ef9565b6127f9886127e96001611df1565b5467ffffffffffffffff16612d65565b839450600083111561281a5761280e83612de2565b955061281a8887612eac565b612825888688612f5e565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061288357fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128c2578160200160208202803883390190505b50905060005b8351811015612904578381815181106128dd57fe5b60200260200101518282815181106128f157fe5b60209081029190910101526001016128c8565b5060005b82518110156110fb5782818151811061291d57fe5b602002602001015182828651018151811061293457fe5b6020908102919091010152600101612908565b6000612951612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60006129c8612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b6000670de0b6b3a7640000612a50848463ffffffff61301a16565b81612a5757fe5b049392505050565b6002546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613fb9565b6002546001600160a01b03163314801590612aaf57506003546001600160a01b03163314155b15612ac757600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611e955760405162461bcd60e51b815260040161084f90613eb9565b60006108246524b9b9bab2b960d11b612102565b60006108247f52657761726473446973747269627574696f6e00000000000000000000000000612102565b60006108247f466c657869626c6553746f726167650000000000000000000000000000000000612102565b60006108247f45786368616e6765720000000000000000000000000000000000000000000000612102565b60006108247f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612102565b60006108247f467574757265734d61726b65744d616e61676572000000000000000000000000612102565b60006108247f57726170706572466163746f7279000000000000000000000000000000000000612102565b60006108247f4574686572577261707065720000000000000000000000000000000000000000612102565b600080612c5e84612c5287600a870263ffffffff61301a16565b9063ffffffff61305416565b90506005600a820610612c6f57600a015b600a900490505b9392505050565b600081612c9c5760405162461bcd60e51b815260040161084f90613f29565b818381612ca557fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612cd3908490602001613d87565b6040516020818303038152906040526001604051612cf090613cd5565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612d3793929160009081908190600401613e0b565b600060405180830381600087803b158015612d5157600080fd5b505af11580156125c6573d6000803e3d6000fd5b612d6d611dc6565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612dae929190613c79565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610eee929190613dbe565b6000818160015b6002811015612ea4576000612e1d612e0083611df1565b60060154612e0d84611df1565b600501549063ffffffff6125cd16565b90508015612e9a576000848210612e345784612e36565b815b9050612e5581612e4585611df1565b600601549063ffffffff611e4616565b612e5e84611df1565b60060155612e72858263ffffffff6125cd16565b9450612e84848263ffffffff611e4616565b935084612e98578395505050505050610623565b505b5060001901612de9565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612eea5760405162461bcd60e51b815260040161084f90613f99565b6301dfe200612ef7613089565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612f2693929190613d32565b600060405180830381600087803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b5050505050505050565b6002546040516001600160a01b039091169063907dff9790612f8890869086908690602001613d32565b6040516020818303038152906040526001604051612fa590613c9f565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612fec93929160009081908190600401613e0b565b600060405180830381600087803b15801561300657600080fd5b505af1158015611d51573d6000803e3d6000fd5b60008261302957506000610734565b8282028284828161303657fe5b04146107315760405162461bcd60e51b815260040161084f90613f69565b60008082116130755760405162461bcd60e51b815260040161084f90613ee9565b600082848161308057fe5b04949350505050565b60006108247f526577617264457363726f775632000000000000000000000000000000000000612102565b60405180604001604052806002905b6130cb61313a565b8152602001906001900390816130c35790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b803561073481614145565b805161073481614145565b80516107348161415c565b805161073481614165565b803561073481614165565b80516107348161416e565b6000602082840312156131ac57600080fd5b60006131b88484613158565b949350505050565b6000602082840312156131d257600080fd5b60006131b88484613163565b600080604083850312156131f157600080fd5b60006131fd8585613158565b925050602061320e85828601613184565b9150509250929050565b60006020828403121561322a57600080fd5b60006131b8848461316e565b60006020828403121561324857600080fd5b60006131b88484613179565b60006020828403121561326657600080fd5b60006131b88484613184565b6000806040838503121561328557600080fd5b60006132918585613179565b925050602061320e8582860161316e565b600080604083850312156132b557600080fd5b60006131fd8585613184565b600080600080600080600060e0888a0312156132dc57600080fd5b60006132e88a8a613184565b97505060206132f98a828b01613184565b965050604061330a8a828b01613184565b955050606061331b8a828b01613184565b945050608061332c8a828b01613184565b93505060a061333d8a828b01613184565b92505060c061334e8a828b01613184565b91505092959891949750929550565b600080600080600060a0868803121561337557600080fd5b6000613381888861318f565b955050602061339288828901613179565b94505060406133a388828901613179565b93505060606133b488828901613179565b92505060806133c58882890161318f565b9150509295509295909350565b60006133de83836134c8565b505060400190565b60006133f2838361351d565b505060200190565b613403816140c9565b82525050565b61340381614076565b61340361341e82614076565b614124565b61342c81614063565b6134368184610623565b925061344182610827565b8060005b83811015610f1c57815161345987826133d2565b96506134648361405d565b925050600101613445565b600061347a82614069565b613484818561406d565b935061348f8361405d565b8060005b838110156134bd5781516134a788826133e6565b97506134b28361405d565b925050600101613493565b509495945050505050565b6134d181614063565b6134db8184610623565b92506134e682610827565b8060005b83811015610f1c5781516134fe87826133e6565b96506135098361405d565b9250506001016134ea565b61340381614081565b61340381610827565b61340361353282610827565b610827565b600061354282614069565b61354c818561406d565b935061355c8185602086016140f4565b61356581614135565b9093019392505050565b613403816140d0565b613403816140db565b613403816140e9565b600061359760178361406d565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006135d060358361406d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061362f601d8361406d565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061366860138361406d565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006136a1602483610623565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613700601b8361406d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613739601e8361406d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613772601a8361406d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006137ab60408361406d565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061380a602b8361406d565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b6000613869601183610623565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006138a260188361406d565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b60006138db601e8361406d565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061391460188361406d565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b600061394d601f8361406d565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613986602f8361406d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006139e5601f8361406d565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a1e60218361406d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613a7d601b8361406d565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613ab660298361406d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b15601983610623565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4e60178361406d565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613b8760188361406d565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613bc0601883610623565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613bf960178361406d565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c32601b8361406d565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b61340381614086565b613403816140a7565b613403816140b4565b6000613c858285613526565b602082019150613c958284613412565b5060140192915050565b600061073482613694565b6000613cb58261385c565b9150613cc18284613526565b50602001919050565b6000613cb582613b08565b600061073482613bb3565b602081016107348284613409565b6020810161073482846133fa565b60408101613d0a8285613409565b612c766020830184613409565b60408101613d258285613409565b612c76602083018461351d565b60608101613d408286613409565b613d4d602083018561351d565b6131b8604083018461351d565b608081016107348284613423565b60208082528101610731818461346f565b602081016107348284613514565b60208101610734828461351d565b60408101613d0a828561351d565b60608101613db1828661351d565b613d4d6020830185613409565b60408101613d25828561351d565b60408101613dda828561351d565b81810360208301526131b88184613537565b60408101613dfa828461351d565b8181036020830152610731816137fd565b60c08082528101613e1c8189613537565b9050613e2b6020830188613581565b613e38604083018761351d565b613e456060830186613578565b613e526080830185613578565b613e5f60a0830184613578565b979650505050505050565b60208101610734828461356f565b602080825281016107318184613537565b602080825281016106208161358a565b60208082528101610620816135c3565b6020808252810161062081613622565b602080825281016106208161365b565b60208082528101610620816136f3565b602080825281016106208161372c565b6020808252810161062081613765565b602080825281016106208161379e565b6020808252810161062081613895565b60208082528101610620816138ce565b6020808252810161062081613907565b6020808252810161062081613940565b6020808252810161062081613979565b60208082528101610620816139d8565b6020808252810161062081613a11565b6020808252810161062081613a70565b6020808252810161062081613aa9565b6020808252810161062081613b41565b6020808252810161062081613b7a565b6020808252810161062081613bec565b6020808252810161062081613c25565b602081016107348284613c5e565b60e08101613ff5828a613c67565b6140026020830189613c67565b61400f6040830188613c67565b61401c606083018761351d565b614029608083018661351d565b61403660a083018561351d565b61404360c083018461351d565b98975050505050505050565b602081016107348284613c70565b60200190565b50600290565b5190565b90815260200190565b60006106208261409b565b151590565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b6000610620825b600061062082614076565b600061062061353283610827565b600061062082610827565b60005b8381101561410f5781810151838201526020016140f7565b8381111561411e576000848401525b50505050565b60006106208260006106208261413f565b601f01601f191690565b60601b90565b61414e81614076565b811461415957600080fd5b50565b61414e81614081565b61414e81610827565b61414e816140ba56fea365627a7a7231582015dfbdba66b9d941e18a76c78c2e9af845616ef9bfedbc6cfb25f7f67e3228aa6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "feePeriodId", - "type": "uint256" - } - ], - "name": "FeePeriodClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sUSDAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "snxRewards", - "type": "uint256" - } - ], - "name": "FeesClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "proxyAddress", - "type": "address" - } - ], - "name": "ProxyUpdated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "FEE_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "FEE_PERIOD_LENGTH", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "allNetworksDebtSharesSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesSupply", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "allNetworksSnxBackedDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimFees", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "claimingForAddress", - "type": "address" - } - ], - "name": "claimOnBehalf", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "closeCurrentFeePeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "allNetworksSnxBackedDebt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "allNetworksDebtSharesSupply", - "type": "uint256" - } - ], - "name": "closeSecondary", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "period", - "type": "uint256" - } - ], - "name": "effectiveDebtRatioForPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feePeriodDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "feesAvailable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "feesBurned", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "feesByPeriod", - "outputs": [ - { - "internalType": "uint256[2][2]", - "name": "results", - "type": "uint256[2][2]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "feesToBurn", - "outputs": [ - { - "internalType": "uint256", - "name": "feesFromPeriod", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_claimingAddress", - "type": "address" - } - ], - "name": "getLastFeeWithdrawal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getPenaltyThresholdRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "feePeriodIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feePeriodId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feesToDistribute", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feesClaimed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rewardsToDistribute", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rewardsClaimed", - "type": "uint256" - } - ], - "name": "importFeePeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isFeesClaimable", - "outputs": [ - { - "internalType": "bool", - "name": "feesClaimable", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issuanceRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "messageSender", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxy", - "outputs": [ - { - "internalType": "contract Proxy", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "recentFeePeriods", - "outputs": [ - { - "internalType": "uint64", - "name": "feePeriodId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "unused", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "startTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "feesToDistribute", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feesClaimed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rewardsToDistribute", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rewardsClaimed", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "recordFeePaid", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "setMessageSender", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - } - ], - "name": "setProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setRewardsToDistribute", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "setupExpiryTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "targetThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalFeesAvailable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalFeesBurned", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalRewardsAvailable", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xb197ac69f3b6e89713b5aeb686d7ae141fca9da76c59e0e7ff11279d747e85b4", - "urls": [ - "bzz-raw://0c76333ab757a0c316670ca8c485497132dcb51c154483d50f887fd6e3f0d094", - "dweb:/ipfs/QmQQ9x36bKfyhDAC9bdqptsL3zPUvPn6piLLQ6Y9JyQKds" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "FeePool.sol": "FeePool" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 1500 - }, - "remappings": [] - }, - "sources": { - "FeePool.sol": { - "keccak256": "0xb197ac69f3b6e89713b5aeb686d7ae141fca9da76c59e0e7ff11279d747e85b4", - "urls": [ - "bzz-raw://0c76333ab757a0c316670ca8c485497132dcb51c154483d50f887fd6e3f0d094", - "dweb:/ipfs/QmQQ9x36bKfyhDAC9bdqptsL3zPUvPn6piLLQ6Y9JyQKds" - ] - } - }, - "version": 1 - } - }, - "RewardsDistribution": { - "bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c5578063bf7e214f146102cd578063c9e9cc4d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f57806395896b7614610297578063a430be6c146102bd57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b61015b600480360360208110156102ad57600080fd5b50356001600160a01b0316610ddc565b6101a5610e06565b6101a5610e15565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b610de4610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158206e57faabe931d25cb0ddc6aa29ee8dd4867e8647441bc9e7fdb219bb4b3e702d64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_authority", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetixProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardEscrow", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePoolProxy", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardDistributionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardsDistributed", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "addRewardDistribution", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "authority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "distributeRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "distributions", - "outputs": [ - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "distributionsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "editRewardDistribution", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feePoolProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "removeRewardDistribution", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rewardEscrow", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_authority", - "type": "address" - } - ], - "name": "setAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_feePoolProxy", - "type": "address" - } - ], - "name": "setFeePoolProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_rewardEscrow", - "type": "address" - } - ], - "name": "setRewardEscrow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_synthetixProxy", - "type": "address" - } - ], - "name": "setSynthetixProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthetixProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x80fc180997a3ed77cfbc846425c5aba81e95892bbef54d953b0f15f5df6b0832", - "urls": [ - "bzz-raw://ebda4ec4d4871a0c50964cddf6e95707ae7514ae1da5db188bdca189c69d7173", - "dweb:/ipfs/QmNkC7QVka8UrbX3qJaryoMhUQZDow4Boybcb9kWnvCbJ4" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "RewardsDistribution.sol": "RewardsDistribution" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "RewardsDistribution.sol": { - "keccak256": "0x80fc180997a3ed77cfbc846425c5aba81e95892bbef54d953b0f15f5df6b0832", - "urls": [ - "bzz-raw://ebda4ec4d4871a0c50964cddf6e95707ae7514ae1da5db188bdca189c69d7173", - "dweb:/ipfs/QmNkC7QVka8UrbX3qJaryoMhUQZDow4Boybcb9kWnvCbJ4" - ] - } - }, - "version": 1 - } - }, - "DebtCache": { - "bytecode": "60806040526008805461ff001960ff199091166001171690553480156200002557600080fd5b50604051620034f7380380620034f7833981016040819052620000489162000114565b81818080836001600160a01b0381166200007f5760405162461bcd60e51b81526004016200007690620001d0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000cc918490620001aa565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055506200022b9350505050565b80516200010e8162000211565b92915050565b600080604083850312156200012857600080fd5b600062000136858562000101565b9250506020620001498582860162000101565b9150509250929050565b6200015e81620001fd565b82525050565b6200015e81620001eb565b60006200017e601983620001e2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ba828562000153565b620001c9602083018462000164565b9392505050565b602080825281016200010e816200016f565b90815260200190565b60006001600160a01b0382166200010e565b60006200010e8260006200010e82620001eb565b6200021c81620001eb565b81146200022857600080fd5b50565b6132bc806200023b6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd146103cd578063d685743a146103d5578063e3476cd4146103e8578063fc524773146103f0576101e5565b8063af5355d81461038c578063b13cd78514610394578063b7224ec7146103a7578063cda218c7146103ba576101e5565b80638da5cb5b116100de5780638da5cb5b146103565780638dd5bfbc1461035e5780639e3b92ca14610371578063a5f27edb14610384576101e5565b80637418536014610329578063759076e51461033157806379ba509714610339578063899ffef414610341576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b819146102d657806353a47bb7146102e9578063614d08f8146102fe5780636bf7c43514610306576101e5565b80632992dba21461028b5780632af64bd3146102a1578063392e53cd146102b65780633a900a2e146102be576101e5565b806307619a5f116101c357806307619a5f146102325780630fb38465146102525780631627540c1461026557806317b38db414610278576101e5565b806304bd11e5146101ea57806304f3bcec146101ff578063053932621461021d575b600080fd5b6101fd6101f83660046128a3565b6103f8565b005b61020761040c565b6040516102149190613014565b60405180910390f35b61022561041b565b6040516102149190612fbd565b610245610240366004612701565b610422565b6040516102149190612f5b565b6102256102603660046128df565b610469565b6101fd6102733660046126bd565b61047b565b6101fd610286366004612743565b6104d9565b610293610554565b604051610214929190613113565b6102a961067c565b6040516102149190612faf565b6102a9610793565b6102c66107a1565b604051610214949392919061312e565b6101fd6102e43660046128df565b6107d2565b6102f16108ff565b6040516102149190612f01565b61022561090e565b610319610314366004612701565b61091e565b6040516102149493929190612f6c565b6101fd610971565b610293610ac7565b6101fd610ada565b610349610b7f565b6040516102149190612f4a565b6102f1610d13565b6101fd61036c3660046128df565b610d22565b6101fd61037f3660046128fd565b610de6565b6102a9610e35565b610225610e3e565b6102456103a2366004612701565b610e4d565b6101fd6103b536600461292d565b610e8b565b6101fd6103c8366004612701565b6110a0565b610225611179565b6101fd6103e33660046128fd565b61117f565b6101fd61120c565b6102a961143b565b610400611448565b61040981611482565b50565b6002546001600160a01b031681565b6004545b90565b60606104608383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506114cf92505050565b90505b92915050565b60009081526005602052604090205490565b61048361155f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104ce908390612f01565b60405180910390a150565b6104e1611589565b61054e84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092506115e4915050565b50505050565b6000806060610561611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059957600080fd5b505afa1580156105ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d591908101906127b3565b9050606060006105e361173d565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b815260040161060e9190612f4a565b60006040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106629190810190612852565b91509150610671838383611758565b945094505050509091565b60006060610688610b7f565b905060005b815181101561078a5760008282815181106106a457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106f5908590600401612fbd565b60206040518083038186803b15801561070d57600080fd5b505afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074591908101906126e3565b6001600160a01b031614158061077057506000818152600360205260409020546001600160a01b0316155b15610781576000935050505061041f565b5060010161068d565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff166107c382611985565b94509450945094505090919293565b6107da611448565b60006107e58261199e565b9050600082131561085b57631cd554d160e21b600052600560205260008051602061325a83398151915254610820908263ffffffff6119a916565b631cd554d160e21b600052600560205260008051602061325a83398151915255600454610853908263ffffffff6119a916565b6004556108c2565b631cd554d160e21b600052600560205260008051602061325a8339815191525461088b908263ffffffff6119ce16565b631cd554d160e21b600052600560205260008051602061325a833981519152556004546108be908263ffffffff6119ce16565b6004555b7f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5996004546040516108f39190612fbd565b60405180910390a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b606060008060006109618686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119f692505050565b9299919850965090945092505050565b606061097b610b7f565b905060005b8151811015610ac357600082828151811061099757fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109d99190612ef6565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a05929190612ff4565b60206040518083038186803b158015610a1d57600080fd5b505afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5591908101906126e3565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ab19084908490612fcb565b60405180910390a15050600101610980565b5050565b600080610ad2611b54565b915091509091565b6001546001600160a01b03163314610b0d5760405162461bcd60e51b8152600401610b0490613043565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b50926001600160a01b0391821692911690612f1d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b8a611d9c565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506524b9b9bab2b960d11b81600081518110610bca57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bf057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610c1a57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c4357fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600481518110610c7157fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610c9c57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600681518110610cc557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600781518110610cf657fe5b602002602001018181525050610d0c8282611ded565b9250505090565b6000546001600160a01b031681565b610d2a61155f565b6000610d34611729565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610d5f9190612fbd565b60206040518083038186803b158015610d7757600080fd5b505afa158015610d8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610daf919081019061295d565b6001600160a01b031614610dd55760405162461bcd60e51b8152600401610b04906130f3565b600090815260056020526040812055565b610dee611ea9565b600082815260066020526040812054820190811215610e1f5760405162461bcd60e51b8152600401610b0490613033565b6000928352600660205260409092209190915550565b60085460ff1690565b6000610e48611f64565b905090565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061201492505050565b610e9361155f565b600854610100900460ff1615610ebb5760405162461bcd60e51b8152600401610b0490613083565b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4a91908101906127b3565b90506000815111610f6d5760405162461bcd60e51b8152600401610b0490613103565b6040516307619a5f60e01b81526060906001600160a01b038516906307619a5f90610f9c908590600401612f4a565b60006040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff0919081019061281d565b905060005b825181101561109957600082828151811061100c57fe5b602002602001015111156110915761106682828151811061102957fe5b60200260200101516006600086858151811061104157fe5b60200260200101518152602001908152602001600020546119a990919063ffffffff16565b6006600085848151811061107657fe5b60200260200101518152602001908152602001600020819055505b600101610ff5565b5050505050565b6110a861209c565b606060006110b461173d565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b81526004016110e1929190612f38565b60006040518083038186803b1580156110f957600080fd5b505afa15801561110d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111359190810190612852565b9150915061054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692508591506115e49050565b60075490565b611187611448565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106111b757fe5b602090810291909101015260408051600180825281830190925260609181602001602082028038833901905050905082816000815181106111f457fe5b60200260200101818152505061054e828260006115e4565b61121461209c565b606061121e611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561125657600080fd5b505afa15801561126a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261129291908101906127b3565b9050606060008060006112a4856119f6565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b8181101561135d57600087828151811061130957fe5b6020026020010151905061132681856119a990919063ffffffff16565b935080600560008b858151811061133957fe5b602090810291909101810151825281019190915260400160002055506001016112f3565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc78590556113ad838663ffffffff61210216565b6004819055426007556040519091507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599906113e9908390612fbd565b60405180910390a17fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f426040516114209190612fbd565b60405180910390a161143184611482565b5050505050505050565b6000610e48600754611985565b611450611729565b6001600160a01b0316336001600160a01b0316146114805760405162461bcd60e51b8152600401610b04906130e3565b565b60085460ff16151581151514610409576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611503578160200160208202803883390190505b50905060005b82811015611557576006600086838151811061152157fe5b602002602001015181526020019081526020016000205482828151811061154457fe5b6020908102919091010152600101611509565b509392505050565b6000546001600160a01b031633146114805760405162461bcd60e51b8152600401610b04906130c3565b611591611729565b6001600160a01b0316336001600160a01b031614806115c857506115b361211d565b6001600160a01b0316336001600160a01b0316145b6114805760405162461bcd60e51b8152600401610b0490613053565b8251825181146116065760405162461bcd60e51b8152600401610b04906130b3565b60008060606116158787612134565b905060005b848110156116a457600088828151811061163057fe5b60200260200101519050600083838151811061164857fe5b602002602001015190506116786005600084815260200190815260200160002054876119a990919063ffffffff16565b955061168a858263ffffffff6119a916565b60009283526005602052604090922055925060010161161a565b50818314611711576004546116cf846116c3838663ffffffff6119a916565b9063ffffffff6119ce16565b9050806004819055507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599816040516117079190612fbd565b60405180910390a1505b84156117205761172085611482565b50505050505050565b6000610e486524b9b9bab2b960d11b61230f565b6000610e486c45786368616e6765526174657360981b61230f565b60008060008061176661236c565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561179d57600080fd5b505afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117d59190810190612999565b915091506000806117e461236c565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561181b57600080fd5b505afa15801561182f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118539190810190612999565b9150915086806118605750825b806118685750805b945061187a848363ffffffff6119a916565b955061190461188761238b565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118bf57600080fd5b505afa1580156118d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f7919081019061297b565b879063ffffffff6119a916565b955060005b89518110156119785761196e6119618a838151811061192457fe5b6020026020010151600660008e868151811061193c57fe5b60200260200101518152602001908152602001600020546123a590919063ffffffff16565b889063ffffffff6119a916565b9650600101611909565b5050505050935093915050565b6000814203611992611f64565b10806104635750501590565b6000610463826123ba565b6000828201838110156104605760405162461bcd60e51b8152600401610b0490613063565b6000828211156119f05760405162461bcd60e51b8152600401610b0490613073565b50900390565b6060600080600060606000611a0961173d565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b8152600401611a349190612f4a565b60006040518083038186803b158015611a4c57600080fd5b505afa158015611a60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a889190810190612852565b915091506060611a988884612134565b9050600080611aa88a8686611758565b91509150600080611ab76123d0565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611aee57600080fd5b505afa158015611b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b269190810190612999565b915091508482858880611b365750835b80611b3e5750855b9a509a509a509a50505050505050509193509193565b6000806060611b61611729565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611b9957600080fd5b505afa158015611bad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bd591908101906127b3565b905060606000611be361173d565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b8152600401611c0e9190612f4a565b60006040518083038186803b158015611c2657600080fd5b505afa158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c629190810190612852565b915091506060611c728484612134565b9050600080611c82868686611758565b845191935091506000805b82811015611cc557611cbb868281518110611ca457fe5b6020026020010151836119a990919063ffffffff16565b9150600101611c8d565b50600080611cd16123d0565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611d0857600080fd5b505afa158015611d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d409190810190612999565b9092509050611d55838363ffffffff6119a916565b9250858310611d7357611d6e838763ffffffff6119ce16565b611d76565b60005b9250828880611d825750815b80611d8a5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611dde57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611e1d578160200160208202803883390190505b50905060005b8351811015611e5f57838181518110611e3857fe5b6020026020010151828281518110611e4c57fe5b6020908102919091010152600101611e23565b5060005b8251811015611ea257828181518110611e7857fe5b6020026020010151828286510181518110611e8f57fe5b6020908102919091010152600101611e63565b5092915050565b6000611eb36123f2565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b8152600401611ede9190612f0f565b60206040518083038186803b158015611ef657600080fd5b505afa158015611f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f2e91908101906128c1565b6000549091506001600160a01b031633148080611f485750815b610ac35760405162461bcd60e51b8152600401610b04906130a3565b6000611f6e61240e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401611fc4929190612fd9565b60206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e48919081019061297b565b6060600082519050606081604051908082528060200260200182016040528015612048578160200160208202803883390190505b50905060005b82811015611557576005600086838151811061206657fe5b602002602001015181526020019081526020016000205482828151811061208957fe5b602090810291909101015260010161204e565b6000546001600160a01b03163314611480576120b661242b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156120ee57600080fd5b505afa15801561054e573d6000803e3d6000fd5b60008282101561211457818303610460565b50600092915050565b6000610e486822bc31b430b733b2b960b91b61230f565b606060008351905080604051908082528060200260200182016040528015612166578160200160208202803883390190505b5091506060612173611729565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b815260040161219e9190612f4a565b60006040518083038186803b1580156121b657600080fd5b505afa1580156121ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121f291908101906127e8565b905060005b8281101561230657600082828151811061220d57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316141561224a5760405162461bcd60e51b8152600401610b0490613093565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561228557600080fd5b505afa158015612299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122bd919081019061297b565b90506122e58784815181106122ce57fe5b6020026020010151826123a590919063ffffffff16565b8684815181106122f157fe5b602090810291909101015250506001016121f7565b50505092915050565b60008181526003602090815260408083205490516001600160a01b03909116918215159161233f91869101612ed6565b60405160208183030381529060405290611ea25760405162461bcd60e51b8152600401610b049190613022565b6000610e487021b7b63630ba32b930b626b0b730b3b2b960791b61230f565b6000610e486b22ba3432b92bb930b83832b960a11b61230f565b60006104608383670de0b6b3a7640000612445565b60008082126123c95781610463565b5060000390565b6000610e4873233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b61230f565b6000610e486d57726170706572466163746f727960901b61230f565b6000610e486e466c657869626c6553746f7261676560881b61230f565b6000610e486b53797374656d53746174757360a01b61230f565b600080600a830461245c868663ffffffff61248316565b8161246357fe5b0490506005600a82061061247557600a015b600a900490505b9392505050565b60008261249257506000610463565b8282028284828161249f57fe5b04146104605760405162461bcd60e51b8152600401610b04906130d3565b80356104638161322a565b80516104638161322a565b60008083601f8401126124e557600080fd5b50813567ffffffffffffffff8111156124fd57600080fd5b60208301915083602082028301111561251557600080fd5b9250929050565b600082601f83011261252d57600080fd5b815161254061253b8261317d565b613156565b9150818183526020840193506020810190508385602084028201111561256557600080fd5b60005b83811015612591578161257b888261269c565b8452506020928301929190910190600101612568565b5050505092915050565b600082601f8301126125ac57600080fd5b81516125ba61253b8261317d565b915081818352602084019350602081019050838560208402820111156125df57600080fd5b60005b8381101561259157816125f588826126b2565b84525060209283019291909101906001016125e2565b600082601f83011261261c57600080fd5b815161262a61253b8261317d565b9150818183526020840193506020810190508385602084028201111561264f57600080fd5b60005b838110156125915781612665888261269c565b8452506020928301929190910190600101612652565b80356104638161323e565b80516104638161323e565b803561046381613247565b805161046381613247565b803561046381613250565b805161046381613250565b6000602082840312156126cf57600080fd5b60006126db84846124bd565b949350505050565b6000602082840312156126f557600080fd5b60006126db84846124c8565b6000806020838503121561271457600080fd5b823567ffffffffffffffff81111561272b57600080fd5b612737858286016124d3565b92509250509250929050565b6000806000806040858703121561275957600080fd5b843567ffffffffffffffff81111561277057600080fd5b61277c878288016124d3565b9450945050602085013567ffffffffffffffff81111561279b57600080fd5b6127a7878288016124d3565b95989497509550505050565b6000602082840312156127c557600080fd5b815167ffffffffffffffff8111156127dc57600080fd5b6126db8482850161251c565b6000602082840312156127fa57600080fd5b815167ffffffffffffffff81111561281157600080fd5b6126db8482850161259b565b60006020828403121561282f57600080fd5b815167ffffffffffffffff81111561284657600080fd5b6126db8482850161260b565b6000806040838503121561286557600080fd5b825167ffffffffffffffff81111561287c57600080fd5b6128888582860161260b565b925050602061289985828601612686565b9150509250929050565b6000602082840312156128b557600080fd5b60006126db848461267b565b6000602082840312156128d357600080fd5b60006126db8484612686565b6000602082840312156128f157600080fd5b60006126db8484612691565b6000806040838503121561291057600080fd5b600061291c8585612691565b925050602061289985828601612691565b6000806040838503121561294057600080fd5b600061294c85856126a7565b9250506020612899858286016126a7565b60006020828403121561296f57600080fd5b60006126db84846126b2565b60006020828403121561298d57600080fd5b60006126db848461269c565b600080604083850312156129ac57600080fd5b6000612888858561269c565b60006129c48383612acd565b505060200190565b6129d5816131dd565b82525050565b6129d5816131b6565b60006129f083856131a8565b93506001600160fb1b03831115612a0657600080fd5b602083029250612a178385846131e8565b50500190565b6000612a28826131a4565b612a3281856131a8565b9350612a3d8361319e565b8060005b83811015612a6b578151612a5588826129b8565b9750612a608361319e565b925050600101612a41565b509495945050505050565b6000612a81826131a4565b612a8b81856131a8565b9350612a968361319e565b8060005b83811015612a6b578151612aae88826129b8565b9750612ab98361319e565b925050600101612a9a565b6129d5816131c1565b6129d58161041f565b6129d5612ae28261041f565b61041f565b6129d5816131c6565b6000612afb826131a4565b612b0581856131a8565b9350612b158185602086016131f4565b612b1e81613220565b9093019392505050565b6000612b356024836131a8565b7f4578636c7564656420646562742063616e6e6f74206265636f6d65206e6567618152637469766560e01b602082015260400192915050565b6000612b7b6035836131a8565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612bd26021836131a8565b7f53656e646572206973206e6f7420497373756572206f722045786368616e67658152603960f91b602082015260400192915050565b6000612c15601b836131a8565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612c4e601e836131a8565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612c876011836131b1565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612cb46013836131a8565b72185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b815260200192915050565b6000612ce36014836131a8565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000612d13601f836131a8565b7f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300815260200192915050565b6000612d4c601a836131a8565b7f496e707574206172726179206c656e6774687320646966666572000000000000815260200192915050565b6000612d85602f836131a8565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612dd66021836131a8565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612e196014836131a8565b7329b2b73232b91034b9903737ba1024b9b9bab2b960611b815260200192915050565b6000612e496019836131b1565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612e82600c836131a8565b6b53796e74682065786973747360a01b815260200192915050565b6000612eaa601d836131a8565b7f70726576696f75732049737375657220686173206e6f2073796e746873000000815260200192915050565b6000612ee182612c7a565b9150612eed8284612ad6565b50602001919050565b6000612ee182612e3c565b6020810161046382846129db565b6020810161046382846129cc565b60408101612f2b82856129db565b61247c60208301846129db565b602080825281016126db8184866129e4565b602080825281016104608184612a1d565b602080825281016104608184612a76565b60808082528101612f7d8187612a76565b9050612f8c6020830186612acd565b612f996040830185612acd565b612fa66060830184612ac4565b95945050505050565b602081016104638284612ac4565b602081016104638284612acd565b60408101612f2b8285612acd565b60408101612fe78285612acd565b61247c6020830184612acd565b604081016130028285612acd565b81810360208301526126db8184612af0565b602081016104638284612ae7565b602080825281016104608184612af0565b6020808252810161046381612b28565b6020808252810161046381612b6e565b6020808252810161046381612bc5565b6020808252810161046381612c08565b6020808252810161046381612c41565b6020808252810161046381612ca7565b6020808252810161046381612cd6565b6020808252810161046381612d06565b6020808252810161046381612d3f565b6020808252810161046381612d78565b6020808252810161046381612dc9565b6020808252810161046381612e0c565b6020808252810161046381612e75565b6020808252810161046381612e9d565b604081016131218285612acd565b61247c6020830184612ac4565b6080810161313c8287612acd565b6131496020830186612acd565b612f996040830185612ac4565b60405181810167ffffffffffffffff8111828210171561317557600080fd5b604052919050565b600067ffffffffffffffff82111561319457600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610463826131d1565b151590565b6000610463826131b6565b6001600160a01b031690565b6000610463826131c6565b82818337506000910152565b60005b8381101561320f5781810151838201526020016131f7565b8381111561054e5750506000910152565b601f01601f191690565b613233816131b6565b811461040957600080fd5b613233816131c1565b6132338161041f565b613233816131c656fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820ef34a01e4f8d2fb5815b8aa28977990895bed66375d7462371a3d70e3da8a0276c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "DebtCacheSnapshotTaken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "cachedDebt", - "type": "uint256" - } - ], - "name": "DebtCacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bool", - "name": "isInvalid", - "type": "bool" - } - ], - "name": "DebtCacheValidityChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cacheInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isInvalid", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isStale", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cacheInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cacheStale", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cacheTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cachedDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "cachedSynthDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "cachedSynthDebts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "snxIssuedDebts", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "currentSynthDebts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "debtValues", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "futuresDebt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "excludedDebt", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "debtSnapshotStaleTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "excludedIssuedDebts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "excludedDebts", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDebtCache", - "name": "prevDebtCache", - "type": "address" - }, - { - "internalType": "contract IIssuer", - "name": "prevIssuer", - "type": "address" - } - ], - "name": "importExcludedIssuedDebts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isInitialized", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "purgeCachedSynthDebt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "int256", - "name": "delta", - "type": "int256" - } - ], - "name": "recordExcludedDebtChange", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "takeDebtSnapshot", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalNonSnxBackedDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "excludedDebt", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "currencyRate", - "type": "uint256" - } - ], - "name": "updateCachedSynthDebtWithRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "updateCachedSynthDebts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "currencyRates", - "type": "uint256[]" - } - ], - "name": "updateCachedSynthDebtsWithRates", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "int256", - "name": "amount", - "type": "int256" - } - ], - "name": "updateCachedsUSDDebt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "currentlyInvalid", - "type": "bool" - } - ], - "name": "updateDebtCacheValidity", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x45faa43664c73555e199429f30aa328159e89cdb3ba577fbe38d6a7027a25151", - "urls": [ - "bzz-raw://be634e390f627855da201695ca40b5e650eda9696c622f1dc1c4b3fd4cbd2aa7", - "dweb:/ipfs/QmYgcUdEyoa5UhH77P1GCRe1FjrJPwFmiJyvpoCRz6wAVR" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "DebtCache.sol": "DebtCache" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "DebtCache.sol": { - "keccak256": "0x45faa43664c73555e199429f30aa328159e89cdb3ba577fbe38d6a7027a25151", - "urls": [ - "bzz-raw://be634e390f627855da201695ca40b5e650eda9696c622f1dc1c4b3fd4cbd2aa7", - "dweb:/ipfs/QmYgcUdEyoa5UhH77P1GCRe1FjrJPwFmiJyvpoCRz6wAVR" - ] - } - }, - "version": 1 - } - }, - "ExchangerWithFeeRecAlternatives": { - "bytecode": "60806040523480156200001157600080fd5b5060405162005a5938038062005a59833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61583280620002276000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063614d08f8116100f95780638e52049c11610097578063c39def0b11610071578063c39def0b14610379578063d6f32e061461039a578063dc703e73146103ad578063f450aa34146103c0576101c4565b80638e52049c14610353578063a4bca13114610369578063c193f0d814610371576101c4565b80637dd1a57a116100d35780637dd1a57a1461031b578063892571171461032e578063899ffef4146103365780638da5cb5b1461034b576101c4565b8063614d08f814610303578063741853601461030b57806379ba509714610313576101c4565b80632af64bd3116101665780634c268fc8116101405780634c268fc8146102a75780634f8633d2146102ba57806353a47bb7146102db57806357af302c146102f0576101c4565b80632af64bd31461027757806333a768801461028c578063372a395a1461029f576101c4565b80631627540c116101a25780631627540c1461021a57806319d5c6651461022f5780631a5c6095146102515780631b16802c14610264576101c4565b806304f3bcec146101c9578063059c29ec146101e75780630ae81a5e14610207575b600080fd5b6101d16103d3565b6040516101de9190615368565b60405180910390f35b6101fa6101f536600461442e565b6103e2565b6040516101de919061528f565b6101fa61021536600461461e565b610482565b61022d61022836600461432e565b6104bf565b005b61024261023d36600461442e565b61051d565b6040516101de9392919061530e565b6101fa61025f36600461461e565b6105d0565b61024261027236600461442e565b61063c565b61027f61074f565b6040516101de9190615281565b6101fa61029a366004614468565b610867565b6101fa610981565b6101fa6102b5366004614504565b610990565b6102cd6102c836600461436a565b610ac1565b6040516101de92919061566b565b6102e3610ca8565b6040516101de9190615177565b61027f6102fe3660046145e2565b610cb7565b6101fa610d44565b61022d610d68565b61022d610ebe565b6101fa6103293660046145e2565b610f5a565b6101fa611061565b61033e61106b565b6040516101de919061524b565b6102e36110e0565b61035b6110ef565b6040516101de929190615686565b6101fa611111565b61027f61111b565b61038c61038736600461461e565b611125565b6040516101de929190615650565b61027f6103a836600461442e565b611168565b6102426103bb3660046146f7565b611205565b6102426103ce3660046146f7565b61126f565b6002546001600160a01b031681565b60006104796103ef6115ab565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040161041c9291906151ae565b60206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061046c9190810190614600565b6104746115c6565b611672565b90505b92915050565b600061048c613f07565b61049633856116bd565b90506104a0613f07565b6104aa33856116bd565b90506104b6828261174b565b95945050505050565b6104c761178a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610512908390615177565b60405180910390a150565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__630a0ecd1b6105446117b6565b878761054e6115c6565b6040518563ffffffff1660e01b815260040161056d94939291906155ac565b60006040518083038186803b15801561058557600080fd5b505af4158015610599573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c1919081019061477d565b50919790965090945092505050565b60006105da613f07565b6105e433856116bd565b90506105ee613f07565b6105f833856116bd565b9050600080610607848461184f565b9150915080156106325760405162461bcd60e51b81526004016106299061549f565b60405180910390fd5b5095945050505050565b600080600061064961189e565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b8152600401610674919061528f565b60006040518083038186803b15801561068c57600080fd5b505afa1580156106a0573d6000803e3d6000fd5b5050505073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56106c66117b6565b878760016106d26115c6565b6040518663ffffffff1660e01b81526004016106f2959493929190615567565b60606040518083038186803b15801561070a57600080fd5b505af415801561071e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610742919081019061473a565b9250925092509250925092565b6000606061075b61106b565b905060005b815181101561085d57600082828151811061077757fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906107c890859060040161528f565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610818919081019061434c565b6001600160a01b031614158061084357506000818152600360205260409020546001600160a01b0316155b156108545760009350505050610864565b50600101610760565b5060019150505b90565b6000806108726118b8565b9050336001600160a01b038216148061090857506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f906108b5903390600401615185565b60206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190614600565b14155b6109245760405162461bcd60e51b81526004016106299061546f565b60006109338a8a8a8a8a6118cf565b9093509050838310156109585760405162461bcd60e51b81526004016106299061545f565b6109628187611f6a565b84156109745761097485888584612001565b5050979650505050505050565b600061098b612072565b905090565b81600061099b6120da565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004016109c6919061528f565b60206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a16919081019061463d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610a419190615177565b60206040518083038186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a919190810190614600565b905080821115610a9f578091505b8215610ab857610ab5828463ffffffff6120ee16565b91505b50949350505050565b6000806000610ace6118b8565b9050336001600160a01b0382161480610b6457506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f90610b11903390600401615185565b60206040518083038186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b619190810190614600565b14155b610b805760405162461bcd60e51b81526004016106299061546f565b60008c6001600160a01b03168c6001600160a01b031614610c3c57610ba3612113565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b8152600401610bd0929190615193565b60206040518083038186803b158015610be857600080fd5b505afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c2091908101906145c4565b610c3c5760405162461bcd60e51b8152600401610629906153df565b610c44613f07565b610c4e8d8d6116bd565b9050610c58613f07565b610c628e8c6116bd565b9050610c728f838e848e8e612132565b9197509095509250610c848389611f6a565b8615610c9657610c96878c8886612001565b50505050995099975050505050505050565b6001546001600160a01b031681565b600080610cc26127b5565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610ced919061528f565b604080518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3c919081019061467a565b949350505050565b7f45786368616e67657257697468466565526563416c7465726e6174697665730081565b6060610d7261106b565b905060005b8151811015610eba576000828281518110610d8e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610dd0919061516c565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dfc9291906152ee565b60206040518083038186803b158015610e1457600080fd5b505afa158015610e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e4c919081019061434c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ea8908490849061529d565b60405180910390a15050600101610d77565b5050565b6001546001600160a01b03163314610ee85760405162461bcd60e51b8152600401610629906153cf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610f2b926001600160a01b0391821692911690615193565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610f646127d0565b6001600160a01b031663ba03e93f610f7a6127b5565b6001600160a01b0316637103353e856040518263ffffffff1660e01b8152600401610fa5919061528f565b60206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff5919081019061434c565b6040518263ffffffff1660e01b81526004016110119190615177565b60206040518083038186803b15801561102957600080fd5b505afa15801561103d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047c9190810190614600565b600061098b6115c6565b6060806110766127ec565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b816000815181106110c357fe5b6020026020010181815250506110d982826129dd565b9250505090565b6000546001600160a01b031681565b60045467ffffffffffffffff811690600160401b90046001600160c01b031682565b600061098b612a99565b600061098b612b01565b600080611130613f07565b61113a33866116bd565b9050611144613f07565b61114e33866116bd565b905061115a8282612bb1565b9350935050505b9250929050565b600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__638317e96b61118c6117b6565b85856111966115c6565b6040518563ffffffff1660e01b81526004016111b594939291906155ac565b60206040518083038186803b1580156111cd57600080fd5b505af41580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047991908101906145c4565b6000806000611212613f07565b61121c33876116bd565b9050611226613f07565b61123033876116bd565b905061123a613f07565b61124b33631cd554d160e21b6116bd565b905061125989848484612c26565b50939d929c50909a509098505050505050505050565b600080600061127c613f07565b61128633876116bd565b9050611290613f07565b61129a33876116bd565b9050631cd554d160e21b87148061133157506112b46127b5565b6001600160a01b0316632528f0fe886040518263ffffffff1660e01b81526004016112df919061528f565b60206040518083038186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061132f91908101906145c4565b155b61134d5760405162461bcd60e51b8152600401610629906153af565b631cd554d160e21b8614806113e257506113656127b5565b6001600160a01b0316632528f0fe876040518263ffffffff1660e01b8152600401611390919061528f565b60206040518083038186803b1580156113a857600080fd5b505afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113e091908101906145c4565b155b6113fe5760405162461bcd60e51b8152600401610629906153ff565b61140661189e565b6001600160a01b03166342a28e21886040518263ffffffff1660e01b8152600401611431919061528f565b60006040518083038186803b15801561144957600080fd5b505afa15801561145d573d6000803e3d6000fd5b5050505061146961189e565b6001600160a01b03166342a28e21876040518263ffffffff1660e01b8152600401611494919061528f565b60006040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b5050505060006114d0838361184f565b909450905080156114f35760405162461bcd60e51b8152600401610629906154bf565b60006114fd6127b5565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040161152c9392919061530e565b60606040518083038186803b15801561154457600080fd5b505afa158015611558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157c919081019061473a565b5050905061158a8186612cfb565b965061159c818863ffffffff612d8d16565b95505050505093509350939050565b600061098b6c45786368616e6765537461746560981b612db5565b60006115d0612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b81526004016116229291906152ab565b60206040518083038186803b15801561163a57600080fd5b505afa15801561164e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b9190810190614600565b6000821580611690575061168c838363ffffffff6120ee16565b4210155b1561169d5750600061047c565b610479426116b1858563ffffffff6120ee16565b9063ffffffff612d8d16565b6116c5613f07565b6116cd612e2f565b6001600160a01b031663697b659b84846040518363ffffffff1660e01b81526004016116fa9291906151ae565b6101a06040518083038186803b15801561171357600080fd5b505afa158015611727573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610479919081019061465b565b600080611769836060015185606001516120ee90919063ffffffff16565b905080610479576101008084015190850151610d3c9163ffffffff6120ee16565b6000546001600160a01b031633146117b45760405162461bcd60e51b81526004016106299061548f565b565b6117be613f84565b6040518060c001604052806117d16115ab565b6001600160a01b031681526020016117e76127b5565b6001600160a01b031681526020016117fd6127d0565b6001600160a01b03168152602001611813612e55565b6001600160a01b031681526020016118296120da565b6001600160a01b0316815260200161183f6118b8565b6001600160a01b03169052905090565b60008060006118718461010001518661010001516120ee90919063ffffffff16565b9050600061187f8686612bb1565b93509050611893828263ffffffff6120ee16565b935050509250929050565b600061098b6b53797374656d53746174757360a01b612db5565b600061098b680a6f2dce8d0cae8d2f60bb1b612db5565b6000806000806000806118e0613f07565b6118ea8c8c6116bd565b90506118f4613f07565b6118fe8d8b6116bd565b905061190b8c8b8d612e6c565b611922575060009650869550611f60945050505050565b61192a6127b5565b6001600160a01b031663fce132f9836040518263ffffffff1660e01b8152600401611955919061551f565b60206040518083038186803b15801561196d57600080fd5b505afa158015611981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119a591908101906145c4565b156119c25760405162461bcd60e51b8152600401610629906154ff565b6119ca6127b5565b6001600160a01b031663fce132f9826040518263ffffffff1660e01b81526004016119f5919061551f565b60206040518083038186803b158015611a0d57600080fd5b505afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a4591908101906145c4565b15611a625760405162461bcd60e51b81526004016106299061547f565b611a6d8b8e8e61304e565b955085611a87575060009650869550611f60945050505050565b611a8f613f07565b611aa08e631cd554d160e21b6116bd565b90506000611ab088858585612c26565b949e50929c509099509097509095509050611ac96127d0565b6001600160a01b03166378cb51cb82611ae88d8d63ffffffff6120ee16565b6040518363ffffffff1660e01b8152600401611b059291906152ab565b60206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b5591908101906145c4565b15611b725760405162461bcd60e51b81526004016106299061540f565b6000631cd554d160e21b8f1415611b8a575087611bcf565b631cd554d160e21b8d1415611ba0575080611bcf565b600080611baf8b888788612c26565b5050505091509150611bca81836120ee90919063ffffffff16565b925050505b611bd98582613118565b5050505050611bee8a8c868b8a8c60006131b6565b508415611e4b57611bfd6127b5565b6001600160a01b031663654a60ac8987631cd554d160e21b6040518463ffffffff1660e01b8152600401611c339392919061530e565b60206040518083038186803b158015611c4b57600080fd5b505afa158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c839190810190614600565b9450611c8d6120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401611cbf919061528f565b60206040518083038186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d0f919081019061463d565b6001600160a01b031663867904b4611d2561347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5d57600080fd5b505afa158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d95919081019061434c565b876040518363ffffffff1660e01b8152600401611db39291906151ae565b600060405180830381600087803b158015611dcd57600080fd5b505af1158015611de1573d6000803e3d6000fd5b50505050611ded61347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b8152600401611e18919061528f565b600060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050505b611e7d60405180604001604052808c81526020018a815250604051806040016040528085815260200184815250613493565b611e856118b8565b6001600160a01b0316636c00f3108c8c878c8b8d6040518763ffffffff1660e01b8152600401611eba969594939291906151f1565b600060405180830381600087803b158015611ed457600080fd5b505af1158015611ee8573d6000803e3d6000fd5b50505050611ef46118b8565b6001600160a01b0316632f7206ce8c8c878c8b8d6040518763ffffffff1660e01b8152600401611f29969594939291906151f1565b600060405180830381600087803b158015611f4357600080fd5b505af1158015611f57573d6000803e3d6000fd5b50505050505050505b9550959350505050565b600082118015611f8257506001600160a01b03811615155b8015611f915750611f91612b01565b15610eba57611f9e6136d9565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b8152600401611fcb92919061529d565b600060405180830381600087803b158015611fe557600080fd5b505af1158015611ff9573d6000803e3d6000fd5b505050505050565b6120096118b8565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b815260040161203a94939291906152b9565b600060405180830381600087803b15801561205457600080fd5b505af1158015612068573d6000803e3d6000fd5b5050505050505050565b600061207c612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b81526004016116229291906152ab565b600061098b6524b9b9bab2b960d11b612db5565b6000828201838110156104795760405162461bcd60e51b8152600401610629906153ef565b600061098b7044656c6567617465417070726f76616c7360781b612db5565b600080600061214a8860000151876000015189612e6c565b61215c575060009150819050806127a9565b612164613fb9565b61216c613f84565b6121746117b6565b60208101518b51604051633d00c50f60e11b81529293506001600160a01b0390911691637a018a1e916121a99160040161528f565b60206040518083038186803b1580156121c157600080fd5b505afa1580156121d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f99190810190614600565b60a083015260208101518851604051633d00c50f60e11b81526001600160a01b0390921691637a018a1e916122309160040161528f565b60206040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122809190810190614600565b60c08301528951612294908a908d9061304e565b60e083018190526122b15750600093508392508291506127a99050565b60208101518a5160e08401518a5160a086015160c087015160405162d9ccd960e71b81526001600160a01b0390961695636ce66c80956122fb95909490939092909160040161531c565b60606040518083038186803b15801561231357600080fd5b505afa158015612327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061234b919081019061473a565b6020850152835260408301528951885160a084015160c0850151612371939291906136f5565b60006123878b8a8560a001518660c00151613861565b6060850191909152905080156123aa5750600094508493508392506127a9915050565b6123bc83604001518460600151612cfb565b60408401519096506123d4908763ffffffff612d8d16565b94506123f18b600001518d8560e001518c600001518a8d8d6131b6565b93506001600160a01b03841615612406578397505b84156126615760208201518951604051631952982b60e21b81526001600160a01b039092169163654a60ac91612449918990631cd554d160e21b9060040161530e565b60206040518083038186803b15801561246157600080fd5b505afa158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124999190810190614600565b94506124a36120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004016124d5919061528f565b60206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612525919081019061463d565b6001600160a01b031663867904b461253b61347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561257357600080fd5b505afa158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125ab919081019061434c565b876040518363ffffffff1660e01b81526004016125c99291906151ae565b600060405180830381600087803b1580156125e357600080fd5b505af11580156125f7573d6000803e3d6000fd5b5050505061260361347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b815260040161262e919061528f565b600060405180830381600087803b15801561264857600080fd5b505af115801561265c573d6000803e3d6000fd5b505050505b6040805180820182528c5181528a51602080830191909152825180840190935285518352858101519083015261269691613493565b61269e6118b8565b6001600160a01b0316636c00f3108d8d600001518660e001518d600001518b8e6040518763ffffffff1660e01b81526004016126df969594939291906151f1565b600060405180830381600087803b1580156126f957600080fd5b505af115801561270d573d6000803e3d6000fd5b50505050600061271b6115c6565b11156127a55773__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__632f2de902838a8e600001518760e001518e600001518c8a606001516040518863ffffffff1660e01b815260040161277497969594939291906155e3565b60006040518083038186803b15801561278c57600080fd5b505af41580156127a0573d6000803e3d6000fd5b505050505b5050505b96509650969350505050565b600061098b6c45786368616e6765526174657360981b612db5565b600061098b6d21b4b931bab4ba213932b0b5b2b960911b612db5565b6060806127f76138b4565b60408051600b80825261018082019092529192506060919060208201610160803883390190505090506b53797374656d53746174757360a01b8160008151811061283d57fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061286757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061289157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106128b757fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106128db57fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061290657fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160068151811061293457fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061295757fe5b6020026020010181815250506844656274436163686560b81b8160088151811061297d57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b816009815181106129a857fe5b602002602001018181525050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b81600a815181106110c357fe5b60608151835101604051908082528060200260200182016040528015612a0d578160200160208202803883390190505b50905060005b8351811015612a4f57838181518110612a2857fe5b6020026020010151828281518110612a3c57fe5b6020908102919091010152600101612a13565b5060005b8251811015612a9257828181518110612a6857fe5b6020026020010151828286510181518110612a7f57fe5b6020908102919091010152600101612a53565b5092915050565b6000612aa3612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b81526004016116229291906152ab565b6000612b0b612e12565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401612b619291906152ab565b60206040518083038186803b158015612b7957600080fd5b505afa158015612b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b91908101906145c4565b600080600080612bc085613905565b91509150600080612bd088613905565b9092509050612be5848363ffffffff6120ee16565b610120890151909650861180612bfb5786612c02565b8861012001515b9650868180612c0e5750845b80612c165750825b9650965050505050509250929050565b6000806000806000806000612c396127b5565b6001600160a01b03166326bd30fa8b8d8c8c6040518563ffffffff1660e01b8152600401612c6a949392919061552e565b60806040518083038186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cba91908101906147ea565b919650945092509050612ccd8a8a61174b565b9450612cd98186612cfb565b9650612ceb818863ffffffff612d8d16565b9550509499939850945094509450565b6000610479612d808373__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4857600080fd5b505af4158015612d5c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116b19190810190614600565b849063ffffffff6139d616565b600082821115612daf5760405162461bcd60e51b81526004016106299061542f565b50900390565b60008181526003602090815260408083205490516001600160a01b039091169182151591612de59186910161514c565b60405160208183030381529060405290612a925760405162461bcd60e51b8152600401610629919061539e565b600061098b6e466c657869626c6553746f7261676560881b612db5565b600061098b772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612db5565b600061098b6844656274436163686560b81b612db5565b600082841415612e8e5760405162461bcd60e51b8152600401610629906153bf565b60008211612eae5760405162461bcd60e51b81526004016106299061541f565b600080631cd554d160e21b861415612ec95760008080612f4e565b612ed16127b5565b6001600160a01b031663045056f8876040518263ffffffff1660e01b8152600401612efc919061528f565b606060405180830381600087803b158015612f1657600080fd5b505af1158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f4e91908101906146aa565b9250925050600080631cd554d160e21b871415612f6e5760008080612ff3565b612f766127b5565b6001600160a01b031663045056f8886040518263ffffffff1660e01b8152600401612fa1919061528f565b606060405180830381600087803b158015612fbb57600080fd5b505af1158015612fcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ff391908101906146aa565b925092505082156130165760405162461bcd60e51b8152600401610629906154df565b80156130345760405162461bcd60e51b81526004016106299061544f565b83158015613040575081155b9450505050505b9392505050565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56130756117b6565b878760006130816115c6565b6040518663ffffffff1660e01b81526004016130a1959493929190615567565b60606040518083038186803b1580156130b957600080fd5b505af41580156130cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130f1919081019061473a565b889550909350915050801561310f5761310c85858885610990565b92505b50509392505050565b60045460009067ffffffffffffffff1642146131345781613151565b60045461315190600160401b90046001600160c01b0316836120ee565b90508260a001518111156131775760405162461bcd60e51b81526004016106299061550f565b600480546001600160c01b03909216600160401b0267ffffffffffffffff42811667ffffffffffffffff19909416939093179092169190911790555050565b60006131c06120da565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004016131eb919061528f565b60206040518083038186803b15801561320357600080fd5b505afa158015613217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061323b919081019061463d565b6001600160a01b0316639dc29fac88886040518363ffffffff1660e01b81526004016132689291906151ae565b600060405180830381600087803b15801561328257600080fd5b505af1158015613296573d6000803e3d6000fd5b5050505060006132a46120da565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004016132cf919061528f565b60206040518083038186803b1580156132e757600080fd5b505afa1580156132fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331f919081019061463d565b905082156134115760008190506133a8816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b15801561336857600080fd5b505afa15801561337c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133a0919081019061463d565b86888a613a00565b60405163219e412d60e21b81529093506001600160a01b0383169063867904b4906133d99086908a906004016151ae565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b5050505050613472565b60405163219e412d60e21b81526001600160a01b0382169063867904b49061343f90879089906004016151ae565b600060405180830381600087803b15801561345957600080fd5b505af115801561346d573d6000803e3d6000fd5b505050505b50979650505050505050565b600061098b66119959541bdbdb60ca1b612db5565b8151600090631cd554d160e21b14806134b657506020830151631cd554d160e21b145b90506000816134c65760036134c9565b60025b60ff1690506060816040519080825280602002602001820160405280156134fa578160200160208202803883390190505b50905084600060200201518160008151811061351257fe5b602090810291909101015284600160200201518160018151811061353257fe5b60200260200101818152505060608260405190808252806020026020018201604052801561356a578160200160208202803883390190505b50905084600060200201518160008151811061358257fe5b60209081029190910101528460016020020151816001815181106135a257fe5b6020026020010181815250508361366a57631cd554d160e21b826002815181106135c857fe5b60200260200101818152505073__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561361857600080fd5b505af415801561362c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136509190810190614600565b8160028151811061365d57fe5b6020026020010181815250505b613672612e55565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b815260040161369f92919061525c565b600060405180830381600087803b1580156136b957600080fd5b505af11580156136cd573d6000803e3d6000fd5b50505050505050505050565b600061098b6d54726164696e675265776172647360901b612db5565b828414156137155760405162461bcd60e51b8152600401610629906153bf565b6040805160028082526060808301845292602083019080388339019050509050848160008151811061374357fe5b602002602001018181525050838160018151811061375d57fe5b60209081029190910101526040805160028082526060828101909352816020016020820280388339019050509050838160008151811061379957fe5b60200260200101818152505082816001815181106137b357fe5b6020026020010181815250506137c76127b5565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b81526004016137f492919061525c565b60206040518083038186803b15801561380c57600080fd5b505afa158015613820573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061384491908101906145c4565b15611ff95760405162461bcd60e51b8152600401610629906154ef565b60008060006138838661010001518861010001516120ee90919063ffffffff16565b9050600061389388888888613b43565b935090506138a7828263ffffffff6120ee16565b9350505094509492505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106138f657fe5b60200260200101818152505090565b600080631cd554d160e21b836000015114806139275750600183610140015111155b15613937575060009050806139d1565b60006139416127b5565b8451604051633d00c50f60e11b81526001600160a01b039290921691637a018a1e9161396f9160040161528f565b60206040518083038186803b15801561398757600080fd5b505afa15801561399b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139bf9190810190614600565b90506139cb8482613bbc565b92509250505b915091565b6000670de0b6b3a76400006139f1848463ffffffff613cc616565b816139f857fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613a355760405162461bcd60e51b8152600401610629906154cf565b6000613a7d613a42613d00565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613d24565b600254604051638d7017d360e01b81529192506001600160a01b0380841692638d7017d392613ab9928b929116908a908a908a90600401615376565b600060405180830381600087803b158015613ad357600080fd5b505af1158015613ae7573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f838688604051613b32939291906151c9565b60405180910390a395945050505050565b600080600080613b538786613bbc565b91509150600080613b648a89613bbc565b9092509050613b79848363ffffffff6120ee16565b6101208b0151909650861180613b8f5786613b96565b8a61012001515b9650868180613ba25750845b80613baa5750825b96509650505050505094509492505050565b600080631cd554d160e21b84600001511480613bde5750600184610140015111155b15613bee57506000905080611161565b6060613bf86127b5565b8551610140870151604051630ed7624560e41b81526001600160a01b03939093169263ed76245092613c30929091899060040161530e565b60006040518083038186803b158015613c4857600080fd5b505afa158015613c5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c849190810190614565565b5080915050613c9e81866101600151876101800151613d6e565b610120860151909350831180613cb45783613cbb565b8561012001515b969095509350505050565b600082613cd55750600061047c565b82820282848281613ce257fe5b04146104795760405162461bcd60e51b8152600401610629906154af565b600061098b755669727475616c53796e74684d6173746572636f707960501b612db5565b60006060613d3184613df8565b90506037602082016000f09150826001600160a01b038316613d665760405162461bcd60e51b8152600401610629919061539e565b505092915050565b6000835160001415613d8257506000613047565b8351600090600019015b8015610ab857613da2828563ffffffff6139d616565b91506000613dda876001840381518110613db857fe5b6020026020010151888481518110613dcc57fe5b602002602001015188613e54565b9050613dec838263ffffffff6120ee16565b92505060001901613d8c565b604051606090613e3e90693d602d80600a3d3981f360b01b9069363d3d373d3d3d363d7360b01b9085906e5af43d82803e903d91602b57fd5bf360881b90602001615104565b6040516020818303038152906040529050919050565b600082613e6357506000613047565b6000838511613e7457848403613e78565b8385035b90506000613e8c828663ffffffff613ea816565b9050838111613e9c57600061310c565b92909203949350505050565b600061047982613ec685670de0b6b3a764000063ffffffff613cc616565b9063ffffffff613ed216565b6000808211613ef35760405162461bcd60e51b81526004016106299061543f565b6000828481613efe57fe5b04949350505050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561047c816157bd565b805161047c816157bd565b600082601f83011261402557600080fd5b8151614038614033826156c8565b6156a1565b915081818352602084019350602081019050838561010084028201111561405e57600080fd5b60005b8381101561408d5781614074888261413e565b8452506020909201916101009190910190600101614061565b5050505092915050565b600082601f8301126140a857600080fd5b81516140b6614033826156c8565b915081818352602084019350602081019050838560208402820111156140db57600080fd5b60005b8381101561408d57816140f18882614128565b84525060209283019291909101906001016140de565b803561047c816157d4565b805161047c816157d4565b803561047c816157dd565b805161047c816157dd565b805161047c816157e6565b6000610100828403121561415157600080fd5b61415c6101006156a1565b9050600061416a8484614128565b825250602061417b84848301614128565b602083015250604061418f84828501614128565b60408301525060606141a384828501614128565b60608301525060806141b784828501614128565b60808301525060a06141cb84828501614128565b60a08301525060c06141df84828501614128565b60c08301525060e06141f384828501614128565b60e08301525092915050565b60006101a0828403121561421257600080fd5b61421d6101a06156a1565b9050600061422b8484614128565b825250602061423c84848301614009565b602083015250604061425084828501614009565b604083015250606061426484828501614128565b606083015250608061427884828501614128565b60808301525060a061428c84828501614128565b60a08301525060c06142a084828501614128565b60c08301525060e06142b484828501614128565b60e0830152506101006142c984828501614128565b610100830152506101206142df84828501614128565b610120830152506101406142f584828501614128565b6101408301525061016061430b84828501614128565b6101608301525061018061432184828501614128565b6101808301525092915050565b60006020828403121561434057600080fd5b6000610d3c8484613ffe565b60006020828403121561435e57600080fd5b6000610d3c8484614009565b60008060008060008060008060006101208a8c03121561438957600080fd5b60006143958c8c613ffe565b99505060206143a68c828d01613ffe565b98505060406143b78c828d0161411d565b97505060606143c88c828d0161411d565b96505060806143d98c828d0161411d565b95505060a06143ea8c828d01613ffe565b94505060c06143fb8c828d01614107565b93505060e061440c8c828d01613ffe565b92505061010061441e8c828d0161411d565b9150509295985092959850929598565b6000806040838503121561444157600080fd5b600061444d8585613ffe565b925050602061445e8582860161411d565b9150509250929050565b600080600080600080600060e0888a03121561448357600080fd5b600061448f8a8a613ffe565b97505060206144a08a828b0161411d565b96505060406144b18a828b0161411d565b95505060606144c28a828b0161411d565b94505060806144d38a828b01613ffe565b93505060a06144e48a828b0161411d565b92505060c06144f58a828b0161411d565b91505092959891949750929550565b6000806000806080858703121561451a57600080fd5b60006145268787613ffe565b94505060206145378782880161411d565b93505060406145488782880161411d565b92505060606145598782880161411d565b91505092959194509250565b6000806040838503121561457857600080fd5b825167ffffffffffffffff81111561458f57600080fd5b61459b85828601614097565b925050602083015167ffffffffffffffff8111156145b857600080fd5b61445e85828601614097565b6000602082840312156145d657600080fd5b6000610d3c8484614112565b6000602082840312156145f457600080fd5b6000610d3c848461411d565b60006020828403121561461257600080fd5b6000610d3c8484614128565b6000806040838503121561463157600080fd5b600061444d858561411d565b60006020828403121561464f57600080fd5b6000610d3c8484614133565b60006101a0828403121561466e57600080fd5b6000610d3c84846141ff565b6000806040838503121561468d57600080fd5b60006146998585614128565b925050602061445e85828601614112565b6000806000606084860312156146bf57600080fd5b60006146cb8686614128565b93505060206146dc86828701614112565b92505060406146ed86828701614112565b9150509250925092565b60008060006060848603121561470c57600080fd5b6000614718868661411d565b93505060206147298682870161411d565b92505060406146ed8682870161411d565b60008060006060848603121561474f57600080fd5b600061475b8686614128565b935050602061476c86828701614128565b92505060406146ed86828701614128565b6000806000806080858703121561479357600080fd5b600061479f8787614128565b94505060206147b087828801614128565b93505060406147c187828801614128565b925050606085015167ffffffffffffffff8111156147de57600080fd5b61455987828801614014565b6000806000806080858703121561480057600080fd5b600061480c8787614128565b945050602061481d87828801614128565b935050604061482e87828801614128565b925050606061455987828801614128565b600061484b8383614949565b505060200190565b61485c81615765565b82525050565b61485c81615701565b61485c61487782615701565b61579c565b6000614887826156ef565b61489181856156f3565b935061489c836156e9565b8060005b838110156148ca5781516148b4888261483f565b97506148bf836156e9565b9250506001016148a0565b509495945050505050565b60006148e0826156ef565b6148ea81856156f3565b93506148f5836156e9565b8060005b838110156148ca57815161490d888261483f565b9750614918836156e9565b9250506001016148f9565b61485c8161570c565b61485c61493882615711565b610864565b61485c6149388261571e565b61485c81610864565b61485c61493882610864565b61485c81615735565b6000614972826156ef565b61497c81856156f3565b935061498c818560208601615770565b614995816157ad565b9093019392505050565b60006149ac6016836156f3565b751cdc98c81cde5b9d1a081c985d19481a5b9d985b1a5960521b815260200192915050565b60006149de6013836156f3565b72086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b815260200192915050565b6000614a0d6035836156f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614a64601d836156f3565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b6000614a9d601b836156f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614ad66017836156f3565b7f646573742073796e7468207261746520696e76616c6964000000000000000000815260200192915050565b6000614b0f601d836156f3565b7f41746f6d6963207261746520646576696174657320746f6f206d756368000000815260200192915050565b6000614b48600b836156f3565b6a16995c9bc8185b5bdd5b9d60aa1b815260200192915050565b6000614b6f601e836156f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614ba8601a836156f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614be16011836156fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614c0e601a836156f3565b7f646573742072617465207374616c65206f7220666c6167676564000000000000815260200192915050565b6000614c47603a836156f3565b7f54686520616d6f756e742072656365697665642069732062656c6f772074686581527f206d696e696d756d20616d6f756e74207370656369666965642e000000000000602082015260400192915050565b6000614ca66045836156f3565b7f45786368616e6765723a204f6e6c792073796e746865746978206f722061207381527f796e746820636f6e74726163742063616e20706572666f726d2074686973206160208201526431ba34b7b760d91b604082015260600192915050565b6000614d136017836156f3565b7f446573742073796e746820746f6f20766f6c6174696c65000000000000000000815260200192915050565b6000614d4c602f836156f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614d9d600c836156f3565b6b746f6f20766f6c6174696c6560a01b815260200192915050565b6000614dc56021836156f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614e08601b836156f3565b7f65786368616e676520726174657320746f6f20766f6c6174696c650000000000815260200192915050565b6000614e41601c836156f3565b7f43616e6e6f74207669727475616c697a6520746869732073796e746800000000815260200192915050565b6000614e7a6019836156fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614eb36019836156f3565b7f7372632072617465207374616c65206f7220666c616767656400000000000000815260200192915050565b6000614eec601e836156f3565b7f7372632f646573742072617465207374616c65206f7220666c61676765640000815260200192915050565b6000614f256016836156f3565b755372632073796e746820746f6f20766f6c6174696c6560501b815260200192915050565b6000614f576016836156f3565b7514dd5c9c185cdcd959081d9bdb1d5b59481b1a5b5a5d60521b815260200192915050565b80516101a0830190614f8e8482614949565b506020820151614fa16020850182614862565b506040820151614fb46040850182614862565b506060820151614fc76060850182614949565b506080820151614fda6080850182614949565b5060a0820151614fed60a0850182614949565b5060c082015161500060c0850182614949565b5060e082015161501360e0850182614949565b50610100820151615028610100850182614949565b5061012082015161503d610120850182614949565b50610140820151615052610140850182614949565b50610160820151615067610160850182614949565b5061018082015161507c610180850182614949565b50505050565b805160c0830190615093848261495e565b5060208201516150a6602085018261495e565b5060408201516150b9604085018261495e565b5060608201516150cc606085018261495e565b5060808201516150df608085018261495e565b5060a082015161507c60a085018261495e565b61485c8161574c565b61485c81615758565b6000615110828761492c565b600a82019150615120828661492c565b600a82019150615130828561486b565b601482019150615140828461493d565b50600f01949350505050565b600061515782614bd4565b91506151638284614952565b50602001919050565b600061515782614e6d565b6020810161047c8284614862565b6020810161047c8284614853565b604081016151a18285614862565b6130476020830184614862565b604081016151bc8285614862565b6130476020830184614949565b606081016151d78286614862565b6151e46020830185614949565b610d3c6040830184614949565b60c081016151ff8289614862565b61520c6020830188614949565b6152196040830187614949565b6152266060830186614949565b6152336080830185614949565b61524060a0830184614862565b979650505050505050565b60208082528101610479818461487c565b6040808252810161526d818561487c565b90508181036020830152610d3c81846148d5565b6020810161047c8284614923565b6020810161047c8284614949565b604081016151a18285614949565b604081016151bc8285614949565b608081016152c78287614949565b6152d46020830186614949565b6152e16040830185614949565b6104b66060830184614949565b604081016152fc8285614949565b8181036020830152610d3c8184614967565b606081016151d78286614949565b60a0810161532a8288614949565b6153376020830187614949565b6153446040830186614949565b6153516060830185614949565b61535e6080830184614949565b9695505050505050565b6020810161047c828461495e565b60a08101615384828861495e565b615391602083018761495e565b6153446040830186614862565b602080825281016104798184614967565b6020808252810161047c8161499f565b6020808252810161047c816149d1565b6020808252810161047c81614a00565b6020808252810161047c81614a57565b6020808252810161047c81614a90565b6020808252810161047c81614ac9565b6020808252810161047c81614b02565b6020808252810161047c81614b3b565b6020808252810161047c81614b62565b6020808252810161047c81614b9b565b6020808252810161047c81614c01565b6020808252810161047c81614c3a565b6020808252810161047c81614c99565b6020808252810161047c81614d06565b6020808252810161047c81614d3f565b6020808252810161047c81614d90565b6020808252810161047c81614db8565b6020808252810161047c81614dfb565b6020808252810161047c81614e34565b6020808252810161047c81614ea6565b6020808252810161047c81614edf565b6020808252810161047c81614f18565b6020808252810161047c81614f4a565b6101a0810161047c8284614f7c565b610500810161553d8287614f7c565b61554b6101a0830186614949565b6155596101c0830185614f7c565b6104b6610360830184614f7c565b61014081016155768288615082565b61558360c0830187614862565b61559060e0830186614949565b61559e610100830185614923565b61535e610120830184614949565b61012081016155bb8287615082565b6155c860c0830186614862565b6155d560e0830185614949565b6104b6610100830184614949565b61018081016155f2828a615082565b6155ff60c0830189614862565b61560c60e0830188614949565b61561a610100830187614949565b615628610120830186614949565b615636610140830185614949565b615644610160830184614949565b98975050505050505050565b6040810161565e8285614949565b6130476020830184614923565b604081016156798285614949565b613047602083018461495e565b6040810161569482856150fb565b61304760208301846150f2565b60405181810167ffffffffffffffff811182821017156156c057600080fd5b604052919050565b600067ffffffffffffffff8211156156df57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b600061047c82615740565b151590565b6001600160b01b03191690565b70ffffffffffffffffffffffffffffffffff191690565b600061047c82615701565b6001600160a01b031690565b6001600160c01b031690565b67ffffffffffffffff1690565b600061047c82615735565b60005b8381101561578b578181015183820152602001615773565b8381111561507c5750506000910152565b600061047c82600061047c826157b7565b601f01601f191690565b60601b90565b6157c681615701565b81146157d157600080fd5b50565b6157c68161570c565b6157c681610864565b6157c68161573556fea365627a7a7231582015fce35424935ddbf2276e4bb135bd1b5a20523351334aac8ff00fc4576dea196c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "name": "ExchangeEntryAppended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "reclaim", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rebate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "srcRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "destRoundIdAtPeriodEnd", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "exchangeTimestamp", - "type": "uint256" - } - ], - "name": "ExchangeEntrySettled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "synth", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vSynth", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "VirtualSynthCreated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "atomicMaxVolumePerBlock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "refunded", - "type": "uint256" - } - ], - "name": "calculateAmountAfterSettlement", - "outputs": [ - { - "internalType": "uint256", - "name": "amountAfterSettlement", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "dynamicFeeRateForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "feeRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "tooVolatile", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "exchangeForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "virtualSynth", - "type": "bool" - }, - { - "internalType": "address", - "name": "rewardAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - } - ], - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "contract IVirtualSynth", - "name": "vSynth", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "trackingCode", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minAmount", - "type": "uint256" - } - ], - "name": "exchangeAtomically", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "feeRateForAtomicExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "feeRateForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "getAmountsForAtomicExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "getAmountsForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "hasWaitingPeriodOrSettlementOwing", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "isSynthRateInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastAtomicVolume", - "outputs": [ - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint192", - "name": "volume", - "type": "uint192" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "lastExchangeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "maxSecsLeftInWaitingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "priceDeviationThresholdFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "uint256", - "name": "reclaimed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "refunded", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "numEntriesSettled", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "settlementOwing", - "outputs": [ - { - "internalType": "uint256", - "name": "reclaimAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rebateAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "numEntries", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tradingRewardsEnabled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "waitingPeriodSecs", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x2b0e6c4ac0a409d45ee31daa3059b886378f03e58d074b05aa3218c72b67de00", - "urls": [ - "bzz-raw://644c197c76daf68a5a887f58ff92e6e65eeb591aeb4e569ef10d8ff5cebd4719", - "dweb:/ipfs/QmUkRGstLdSokhbDQpNvL6m7usj4QDt8BF6EtSnP2jmHPx" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ExchangerWithFeeRecAlternatives.sol": "ExchangerWithFeeRecAlternatives" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ExchangerWithFeeRecAlternatives.sol": { - "keccak256": "0x2b0e6c4ac0a409d45ee31daa3059b886378f03e58d074b05aa3218c72b67de00", - "urls": [ - "bzz-raw://644c197c76daf68a5a887f58ff92e6e65eeb591aeb4e569ef10d8ff5cebd4719", - "dweb:/ipfs/QmUkRGstLdSokhbDQpNvL6m7usj4QDt8BF6EtSnP2jmHPx" - ] - } - }, - "version": 1 - } - }, - "CircuitBreaker": { - "bytecode": "60806040523480156200001157600080fd5b506040516200179f3803806200179f8339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61157c80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806374185360116100975780638da5cb5b116100665780638da5cb5b146101dd578063ba03e93f146101e5578063cfefbc7f146101f8578063ec5f638e1461020b57610100565b806374185360146101a557806378cb51cb146101ad57806379ba5097146101c0578063899ffef4146101c857610100565b8063372a395a116100d3578063372a395a14610160578063413caeb51461017557806353a47bb714610188578063614d08f81461019d57610100565b806304f3bcec146101055780631627540c1461012357806318b844ad146101385780632af64bd314610158575b600080fd5b61010d61021e565b60405161011a9190611418565b60405180910390f35b610136610131366004610f15565b61022d565b005b61014b610146366004610f59565b61028b565b60405161011a91906113b3565b61014b6102c9565b6101686103e1565b60405161011a91906113c1565b61014b610183366004610f59565b6103f0565b6101906105ea565b60405161011a9190611372565b6101686105f9565b61013661060e565b61014b6101bb36600461103f565b610764565b610136610770565b6101d061080c565b60405161011a91906113a2565b6101906108c4565b6101686101f3366004610f15565b6108d3565b610136610206366004610f93565b6108ee565b61014b610219366004610f15565b610abf565b6002546001600160a01b031681565b610235610add565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610280908390611372565b60405180910390a150565b6001600160a01b03821660009081526005602052604081205460ff16806102b757506102b78383610b09565b806102c0575081155b90505b92915050565b600060606102d561080c565b905060005b81518110156103d75760008282815181106102f157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103429085906004016113c1565b60206040518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103929190810190610f3b565b6001600160a01b03161415806103bd57506000818152600360205260409020546001600160a01b0316155b156103ce57600093505050506103de565b506001016102da565b5060019150505b90565b60006103eb610b44565b905090565b60006104046524b9b9bab2b960d11b610bfc565b6001600160a01b0316336001600160a01b0316148061044c57506104376c45786368616e6765526174657360981b610bfc565b6001600160a01b0316336001600160a01b0316145b6104715760405162461bcd60e51b815260040161046890611487565b60405180910390fd5b6001600160a01b0383166104975760405162461bcd60e51b815260040161046890611457565b8115806104a957506104a98383610b09565b80156104ce57506001600160a01b03831660009081526005602052604090205460ff16155b801561054f57506104dd610c60565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061054d9190810190611003565b155b156105bc576001600160a01b0383166000818152600560209081526040808320805460ff191660011790556004909152908190205490517f67bad4b353dfb692ff5355991cbbb32b44e8b68fe393f9116791efc111beefe7916105b39186906113dd565b60405180910390a25b506001600160a01b039190911660009081526004602090815260408083209390935560059052205460ff1690565b6001546001600160a01b031681565b6d21b4b931bab4ba213932b0b5b2b960911b81565b606061061861080c565b905060005b815181101561076057600082828151811061063457fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016106769190611367565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016106a29291906113f8565b60206040518083038186803b1580156106ba57600080fd5b505afa1580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f29190810190610f3b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061074e90849084906113cf565b60405180910390a1505060010161061d565b5050565b60006102c08383610c7a565b6001546001600160a01b0316331461079a5760405162461bcd60e51b815260040161046890611437565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926107dd926001600160a01b0391821692911690611380565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610817610cd9565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b8160008151811061085a57fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061087d57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106108a757fe5b6020026020010181815250506108bd8282610d2a565b9250505090565b6000546001600160a01b031681565b6001600160a01b031660009081526004602052604090205490565b6108f6610add565b60005b83811015610ab857600085858381811061090f57fe5b90506020020160206109249190810190610f15565b6001600160a01b0316141561094b5760405162461bcd60e51b815260040161046890611457565b84848281811061095757fe5b905060200201602061096c9190810190610f15565b6001600160a01b03167f915f74751eb02d50f865435828021de99701d7eca4ccd06a308d5dc01ab70ace600460008888868181106109a657fe5b90506020020160206109bb9190810190610f15565b6001600160a01b03166001600160a01b03168152602001908152602001600020548585858181106109e857fe5b905060200201356040516109fd9291906113dd565b60405180910390a2828282818110610a1157fe5b9050602002013560046000878785818110610a2857fe5b9050602002016020610a3d9190810190610f15565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060056000878785818110610a7357fe5b9050602002016020610a889190810190610f15565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016108f9565b5050505050565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b03163314610b075760405162461bcd60e51b815260040161046890611467565b565b6001600160a01b0382166000908152600460205260408120548015610b3a57610b328184610c7a565b9150506102c3565b5060009392505050565b6000610b4e610ddf565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401610bac9291906113dd565b60206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103eb9190810190611021565b60008181526003602090815260408083205490516001600160a01b039091169182151591610c2c91869101611347565b60405160208183030381529060405290610c595760405162461bcd60e51b81526004016104689190611426565b5092915050565b60006103eb6b53797374656d53746174757360a01b610bfc565b6000821580610c87575081155b15610c94575060016102c3565b600083831115610cb557610cae838563ffffffff610dfc16565b9050610cc8565b610cc5848463ffffffff610dfc16565b90505b610cd0610b44565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610d1b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d5a578160200160208202803883390190505b50905060005b8351811015610d9c57838181518110610d7557fe5b6020026020010151828281518110610d8957fe5b6020908102919091010152600101610d60565b5060005b8251811015610c5957828181518110610db557fe5b6020026020010151828286510181518110610dcc57fe5b6020908102919091010152600101610da0565b60006103eb6e466c657869626c6553746f7261676560881b610bfc565b60006102c082610e1a85670de0b6b3a764000063ffffffff610e2616565b9063ffffffff610e6016565b600082610e35575060006102c3565b82820282848281610e4257fe5b04146102c05760405162461bcd60e51b815260040161046890611477565b6000808211610e815760405162461bcd60e51b815260040161046890611447565b6000828481610e8c57fe5b04949350505050565b80356102c381611510565b80516102c381611510565b60008083601f840112610ebd57600080fd5b50813567ffffffffffffffff811115610ed557600080fd5b602083019150836020820283011115610eed57600080fd5b9250929050565b80516102c381611527565b80356102c381611530565b80516102c381611530565b600060208284031215610f2757600080fd5b6000610f338484610e95565b949350505050565b600060208284031215610f4d57600080fd5b6000610f338484610ea0565b60008060408385031215610f6c57600080fd5b6000610f788585610e95565b9250506020610f8985828601610eff565b9150509250929050565b60008060008060408587031215610fa957600080fd5b843567ffffffffffffffff811115610fc057600080fd5b610fcc87828801610eab565b9450945050602085013567ffffffffffffffff811115610feb57600080fd5b610ff787828801610eab565b95989497509550505050565b60006020828403121561101557600080fd5b6000610f338484610ef4565b60006020828403121561103357600080fd5b6000610f338484610f0a565b6000806040838503121561105257600080fd5b6000610f788585610eff565b600061106a83836110e3565b505060200190565b61107b816114af565b82525050565b600061108c8261149d565b61109681856114a1565b93506110a183611497565b8060005b838110156110cf5781516110b9888261105e565b97506110c483611497565b9250506001016110a5565b509495945050505050565b61107b816114ba565b61107b816103de565b61107b6110f8826103de565b6103de565b61107b816114cb565b60006111118261149d565b61111b81856114a1565b935061112b8185602086016114d6565b61113481611506565b9093019392505050565b600061114b6035836114a1565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111a2601a836114a1565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006111db6011836114aa565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112086013836114a1565b7204f7261636c652061646472657373206973203606c1b815260200192915050565b6000611237602f836114a1565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112886021836114a1565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112cb6019836114aa565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611304602e836114a1565b7f4f6e6c7920696e7465726e616c20636f6e7472616374732063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b6000611352826111ce565b915061135e82846110ec565b50602001919050565b6000611352826112be565b602081016102c38284611072565b6040810161138e8285611072565b61139b6020830184611072565b9392505050565b602080825281016102c08184611081565b602081016102c382846110da565b602081016102c382846110e3565b6040810161138e82856110e3565b604081016113eb82856110e3565b61139b60208301846110e3565b6040810161140682856110e3565b8181036020830152610f338184611106565b602081016102c382846110fd565b602080825281016102c08184611106565b602080825281016102c38161113e565b602080825281016102c381611195565b602080825281016102c3816111fb565b602080825281016102c38161122a565b602080825281016102c38161127b565b602080825281016102c3816112f7565b60200190565b5190565b90815260200190565b919050565b60006102c3826114bf565b151590565b6001600160a01b031690565b60006102c3826114af565b60005b838110156114f15781810151838201526020016114d9565b83811115611500576000848401525b50505050565b601f01601f191690565b611519816114af565b811461152457600080fd5b50565b611519816114ba565b611519816103de56fea365627a7a723158206015efb58c3e29bbf7b75ef6cbb4e30e4af1745785f62beff66c4f737e0e4a506c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oracleAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "CircuitBroken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oracleAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "LastValueOverridden", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "oracleAddress", - "type": "address" - } - ], - "name": "circuitBroken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "base", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "comparison", - "type": "uint256" - } - ], - "name": "isDeviationAboveThreshold", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "oracleAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "isInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "oracleAddress", - "type": "address" - } - ], - "name": "lastValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "priceDeviationThresholdFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "oracleAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "probeCircuitBreaker", - "outputs": [ - { - "internalType": "bool", - "name": "circuitBroken", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "oracleAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "resetLastValue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff", - "urls": [ - "bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79", - "dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CircuitBreaker.sol": "CircuitBreaker" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CircuitBreaker.sol": { - "keccak256": "0x0d88f35d158592c9f585fb588785af9710c3725bb67f786026c832cc9ab7fcff", - "urls": [ - "bzz-raw://c41f80f97bbcb4a21317561bec33f89f24a3c571e41e5f2edb6e2c03f5a60c79", - "dweb:/ipfs/QmdSwzRDCCajKzvdo8z7ZUn4FxK63S4FLFXykpCG4YFGeW" - ] - } - }, - "version": 1 - } - }, - "ExchangeCircuitBreaker": { - "bytecode": "60806040523480156200001157600080fd5b5060405162000ff938038062000ff98339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b610dd680620002236000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063614d08f81161008c578063899ffef411610066578063899ffef4146101665780638da5cb5b1461017b578063a47af19e14610183578063cb1ec317146101a4576100cf565b8063614d08f81461014e578063741853601461015657806379ba50971461015e576100cf565b806304f3bcec146100d45780631627540c146100f25780632af64bd3146101075780633fa70f451461011c5780634ffcd9df1461013157806353a47bb714610139575b600080fd5b6100dc6101b7565b6040516100e99190610c97565b60405180910390f35b61010561010036600461090a565b6101c6565b005b61010f610224565b6040516100e99190610c4d565b61012461033c565b6040516100e99190610c5b565b6100dc610341565b610141610361565b6040516100e99190610c0c565b610124610370565b61010561038d565b6101056104e3565b61016e610588565b6040516100e99190610c3c565b6101416105f4565b61019661019136600461094e565b610603565b6040516100e9929190610cd6565b6101966101b236600461094e565b6106a8565b6002546001600160a01b031681565b6101ce610737565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610219908390610c0c565b60405180910390a150565b60006060610230610588565b905060005b815181101561033257600082828151811061024c57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061029d908590600401610c5b565b60206040518083038186803b1580156102b557600080fd5b505afa1580156102c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102ed9190810190610930565b6001600160a01b031614158061031857506000818152600360205260409020546001600160a01b0316155b156103295760009350505050610339565b50600101610235565b5060019150505b90565b604181565b600061035c6c45786368616e6765526174657360981b610763565b905090565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610397610588565b905060005b81518110156104df5760008282815181106103b357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016103f59190610c01565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610421929190610c77565b60206040518083038186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104719190810190610930565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104cd9084908490610c69565b60405180910390a1505060010161039c565b5050565b6001546001600160a01b031633146105165760405162461bcd60e51b815260040161050d90610cb6565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610559926001600160a01b0391821692911690610c1a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806105936107c7565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b816000815181106105d757fe5b6020026020010181815250506105ed8282610818565b9250505090565b6000546001600160a01b031681565b600080600080610611610341565b6001600160a01b031663045056f8866040518263ffffffff1660e01b815260040161063c9190610c5b565b606060405180830381600087803b15801561065657600080fd5b505af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061068e91908101906109a6565b9195509092509050808061069f5750815b92505050915091565b6000806106b3610341565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016106de9190610c5b565b604080518083038186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061072d919081019061096c565b9094909350915050565b6000546001600160a01b031633146107615760405162461bcd60e51b815260040161050d90610cc6565b565b60008181526003602090815260408083205490516001600160a01b03909116918215159161079391869101610be1565b604051602081830303815290604052906107c05760405162461bcd60e51b815260040161050d9190610ca5565b5092915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061080957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610848578160200160208202803883390190505b50905060005b835181101561088a5783818151811061086357fe5b602002602001015182828151811061087757fe5b602090810291909101015260010161084e565b5060005b82518110156107c0578281815181106108a357fe5b60200260200101518282865101815181106108ba57fe5b602090810291909101015260010161088e565b80356108d881610d6a565b92915050565b80516108d881610d6a565b80516108d881610d81565b80356108d881610d8a565b80516108d881610d8a565b60006020828403121561091c57600080fd5b600061092884846108cd565b949350505050565b60006020828403121561094257600080fd5b600061092884846108de565b60006020828403121561096057600080fd5b600061092884846108f4565b6000806040838503121561097f57600080fd5b600061098b85856108ff565b925050602061099c858286016108e9565b9150509250929050565b6000806000606084860312156109bb57600080fd5b60006109c786866108ff565b93505060206109d8868287016108e9565b92505060406109e9868287016108e9565b9150509250925092565b60006109ff8383610a78565b505060200190565b610a1081610d09565b82525050565b6000610a2182610cf7565b610a2b8185610cfb565b9350610a3683610cf1565b8060005b83811015610a64578151610a4e88826109f3565b9750610a5983610cf1565b925050600101610a3a565b509495945050505050565b610a1081610d14565b610a1081610339565b610a10610a8d82610339565b610339565b610a1081610d25565b6000610aa682610cf7565b610ab08185610cfb565b9350610ac0818560208601610d30565b610ac981610d60565b9093019392505050565b6000610ae0603583610cfb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610b37601183610d04565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000610b64602f83610cfb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610bb5601983610d04565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000610bec82610b2a565b9150610bf88284610a81565b50602001919050565b6000610bec82610ba8565b602081016108d88284610a07565b60408101610c288285610a07565b610c356020830184610a07565b9392505050565b60208082528101610c358184610a16565b602081016108d88284610a6f565b602081016108d88284610a78565b60408101610c288285610a78565b60408101610c858285610a78565b81810360208301526109288184610a9b565b602081016108d88284610a92565b60208082528101610c358184610a9b565b602080825281016108d881610ad3565b602080825281016108d881610b57565b60408101610ce48285610a78565b610c356020830184610a6f565b60200190565b5190565b90815260200190565b919050565b60006108d882610d19565b151590565b6001600160a01b031690565b60006108d882610d09565b60005b83811015610d4b578181015183820152602001610d33565b83811115610d5a576000848401525b50505050565b601f01601f191690565b610d7381610d09565b8114610d7e57600080fd5b50565b610d7381610d14565b610d738161033956fea365627a7a723158208dac82a16d30d0a1bd67055a945b8ce6aada2e2857378b501e900985102227276c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CIRCUIT_BREAKER_SUSPENSION_REASON", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRates", - "outputs": [ - { - "internalType": "contract IExchangeRates", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateWithBreakCircuit", - "outputs": [ - { - "internalType": "uint256", - "name": "lastValidRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "invalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "rateWithInvalid", - "outputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "invalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05", - "urls": [ - "bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf", - "dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ExchangeCircuitBreaker.sol": "ExchangeCircuitBreaker" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ExchangeCircuitBreaker.sol": { - "keccak256": "0xddffaeb6abc8d02bff5b3e6c42271d3a6d560180cfc42afea721176d7e436a05", - "urls": [ - "bzz-raw://61da11eb68ce6ac74024fba4e471ee7b6e236f8d790657f240f19037183b5faf", - "dweb:/ipfs/QmR2wDJ426Z52uP32DJ66Knnb1JiWX4JsQQAbuJhbYnJNi" - ] - } - }, - "version": 1 - } - }, - "VirtualSynthMastercopy": { - "bytecode": "60806040526004805460ff60a01b191690556008805460ff1916905534801561002757600080fd5b506008805460ff19166001179055611716806100446000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80633db3dc9b116100c35780638f7758391161007c5780638f7758391461028657806395d89b411461028e578063a457c2d714610296578063a9059cbb146102a9578063dbd06c85146102bc578063dd62ed3e146102c457610158565b80633db3dc9b146102335780634be37cea1461023b5780636a256b291461024357806370a082311461025857806378f2ac261461026b5780638d7017d31461027357610158565b806323b872dd1161011557806323b872dd146101d55780632c4e722e146101e8578063313ce567146101f0578063378dc3dc14610205578063395093511461020d5780633af9e6691461022057610158565b806304f3bcec1461015d57806306fdde031461017b578063095ea7b314610190578063115f4fee146101b0578063158ef93e146101b857806318160ddd146101c0575b600080fd5b6101656102d7565b6040516101729190611522565b60405180910390f35b6101836102e6565b6040516101729190611530565b6101a361019e366004610fc8565b610310565b6040516101729190611506565b610165610327565b6101a3610336565b6101c861033f565b6040516101729190611514565b6101a36101e3366004610f7b565b610345565b6101c861039d565b6101f86103ac565b604051610172919061161d565b6101c86103b1565b6101a361021b366004610fc8565b6103b7565b6101c861022e366004610efd565b6103f3565b6101c86103fe565b6101c8610404565b610256610251366004610efd565b61040e565b005b6101c8610266366004610efd565b6104b6565b6101a36104d1565b610256610281366004611016565b6104e1565b6101a3610562565b610183610572565b6101a36102a4366004610fc8565b610587565b6101a36102b7366004610fc8565b6105c3565b6101c86105d0565b6101c86102d2366004610f41565b6105d6565b6004546001600160a01b031681565b60606007546040516020016102fb91906114b2565b60405160208183030381529060405290505b90565b600061031d338484610601565b5060015b92915050565b6003546001600160a01b031681565b60085460ff1681565b60025490565b60006103528484846106b5565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461039291869161038d908663ffffffff6107b116565b610601565b5060015b9392505050565b60006103a76107d9565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031d91859061038d908663ffffffff61097016565b600061032182610995565b60065481565b60006103a76109bb565b610416610a44565b6003546001600160a01b031663a9059cbb8261043181610995565b6040518363ffffffff1660e01b815260040161044e9291906114eb565b602060405180830381600087803b15801561046857600080fd5b505af115801561047c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104a09190810190610ff8565b506104b3816104ae836104b6565b610bc2565b50565b6001600160a01b031660009081526020819052604090205490565b60006104db6109bb565b15905090565b60085460ff161561050d5760405162461bcd60e51b815260040161050490611591565b60405180910390fd5b6008805460ff19166001179055600380546001600160a01b038088166001600160a01b031992831617909255600480549287169290911691909117905560078190556105598383610c7f565b50600555505050565b600454600160a01b900460ff1681565b60606007546040516020016102fb91906114d2565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161031d91859061038d908663ffffffff6107b116565b600061031d3384846106b5565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166106275760405162461bcd60e51b8152600401610504906115ef565b6001600160a01b03821661064d5760405162461bcd60e51b815260040161050490611551565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106a8908590611514565b60405180910390a3505050565b6001600160a01b0383166106db5760405162461bcd60e51b8152600401610504906115df565b6001600160a01b0382166107015760405162461bcd60e51b815260040161050490611541565b6001600160a01b03831660009081526020819052604090205461072a908263ffffffff6107b116565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461075f908263ffffffff61097016565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106a8908590611514565b6000828211156107d35760405162461bcd60e51b815260040161050490611571565b50900390565b6000600554600014156107ee5750600061030d565b600454600090600160a01b900460ff16610951576003546040516370a0823160e01b81526001600160a01b03909116906370a08231906108329030906004016114dd565b60206040518083038186803b15801561084a57600080fd5b505afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610882919081019061108b565b905060008061088f610d33565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b81526004016108be9291906114eb565b60606040518083038186803b1580156108d657600080fd5b505afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061090e91908101906110a9565b50909250905081156109315761092a838363ffffffff6107b116565b925061094a565b801561094a57610947838263ffffffff61097016565b92505b5050610956565b506006545b60055461096a90829063ffffffff610db316565b91505090565b6000828201838110156103965760405162461bcd60e51b815260040161050490611561565b6000806109a1836104b6565b90506103966109ae6107d9565b829063ffffffff610dc816565b60006109c5610d33565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b81526004016109f49291906114eb565b60206040518083038186803b158015610a0c57600080fd5b505afa158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103a7919081019061108b565b600454600160a01b900460ff1615610a5b57610bc0565b6004805460ff60a01b1916600160a01b179055610a76610d33565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b8152600401610aa59291906114eb565b606060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610af791908101906110a9565b50506003546040516370a0823160e01b81526001600160a01b0390911691506370a0823190610b2a9030906004016114dd565b60206040518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b7a919081019061108b565b6006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610ba661033f565b600654604051610bb792919061160f565b60405180910390a15b565b6001600160a01b038216610be85760405162461bcd60e51b8152600401610504906115cf565b600254610bfb908263ffffffff6107b116565b6002556001600160a01b038216600090815260208190526040902054610c27908263ffffffff6107b116565b6001600160a01b0383166000818152602081905260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c73908590611514565b60405180910390a35050565b6001600160a01b038216610ca55760405162461bcd60e51b8152600401610504906115ff565b600254610cb8908263ffffffff61097016565b6002556001600160a01b038216600090815260208190526040902054610ce4908263ffffffff61097016565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c73908590611514565b6004805460405163dacb2d0160e01b81526000926001600160a01b039092169163dacb2d0191610d6391016115b1565b60206040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103a79190810190610f23565b60006103968383670de0b6b3a7640000610ddd565b60006103968383670de0b6b3a7640000610e21565b600080610e0384610df787600a870263ffffffff610e4c16565b9063ffffffff610e8616565b90506005600a825b0610610e1557600a015b600a9004949350505050565b600080600a8304610e38868663ffffffff610e4c16565b81610e3f57fe5b0490506005600a82610e0b565b600082610e5b57506000610321565b82820282848281610e6857fe5b04146103965760405162461bcd60e51b8152600401610504906115a1565b6000808211610ea75760405162461bcd60e51b815260040161050490611581565b6000828481610eb257fe5b04949350505050565b8035610321816116a4565b8051610321816116a4565b8051610321816116b8565b8035610321816116c1565b8035610321816116ca565b8051610321816116c1565b600060208284031215610f0f57600080fd5b6000610f1b8484610ebb565b949350505050565b600060208284031215610f3557600080fd5b6000610f1b8484610ec6565b60008060408385031215610f5457600080fd5b6000610f608585610ebb565b9250506020610f7185828601610ebb565b9150509250929050565b600080600060608486031215610f9057600080fd5b6000610f9c8686610ebb565b9350506020610fad86828701610ebb565b9250506040610fbe86828701610edc565b9150509250925092565b60008060408385031215610fdb57600080fd5b6000610fe78585610ebb565b9250506020610f7185828601610edc565b60006020828403121561100a57600080fd5b6000610f1b8484610ed1565b600080600080600060a0868803121561102e57600080fd5b600061103a8888610ee7565b955050602061104b88828901610ee7565b945050604061105c88828901610ebb565b935050606061106d88828901610edc565b925050608061107e88828901610edc565b9150509295509295909350565b60006020828403121561109d57600080fd5b6000610f1b8484610ef2565b6000806000606084860312156110be57600080fd5b60006110ca8686610ef2565b93505060206110db86828701610ef2565b9250506040610fbe86828701610ef2565b6110f58161163d565b82525050565b6110f581611648565b6110f58161030d565b6110f56111198261030d565b61030d565b6110f58161164d565b60006111328261162b565b61113c818561162f565b935061114c81856020860161166a565b6111558161169a565b9093019392505050565b600061116c60238361162f565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b60006111b160228361162f565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b60006111f5601b8361162f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061122e601e8361162f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611267600e83611638565b6d02b34b93a3ab0b61029bcb73a34160951b8152600e0192915050565b6000611291601a8361162f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006112ca601a8361162f565b7f7653796e746820616c726561647920696e697469616c697a6564000000000000815260200192915050565b600061130360218361162f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6822bc31b430b733b2b960b91b9052565b6000611357600183611638565b603b60f91b815260010192915050565b600061137460218361162f565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b60006113b760258361162f565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b60006113fe60248361162f565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000611444601c8361162f565b7f45786368616e67657220636f6e7472616374206e6f7420666f756e6400000000815260200192915050565b600061147d601f8361162f565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6110f581611664565b60006114bd8261125a565b91506114c9828461110d565b50602001919050565b60006114bd8261134a565b6020810161032182846110ec565b604081016114f982856110ec565b6103966020830184611104565b6020810161032182846110fb565b602081016103218284611104565b60208101610321828461111e565b602080825281016103968184611127565b602080825281016103218161115f565b60208082528101610321816111a4565b60208082528101610321816111e8565b6020808252810161032181611221565b6020808252810161032181611284565b60208082528101610321816112bd565b60208082528101610321816112f6565b604081016115be82611339565b818103602083015261032181611437565b6020808252810161032181611367565b60208082528101610321816113aa565b60208082528101610321816113f1565b6020808252810161032181611470565b604081016114f98285611104565b6020810161032182846114a9565b5190565b90815260200190565b919050565b600061032182611658565b151590565b60006103218261163d565b6001600160a01b031690565b60ff1690565b60005b8381101561168557818101518382015260200161166d565b83811115611694576000848401525b50505050565b601f01601f191690565b6116ad8161163d565b81146104b357600080fd5b6116ad81611648565b6116ad8161030d565b6116ad8161164d56fea365627a7a723158208fc572766d3a6595d2445ddde40b061d1eaeac35b7cb55905817a6230526f01e6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalSupply", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountAfterSettled", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currencyKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "initialSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_synth", - "type": "address" - }, - { - "internalType": "contract IAddressResolver", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "initialized", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "rate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "readyToSettle", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract IAddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secsLeftInWaitingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "settle", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "settled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "settledAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synth", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xfa94161d62dc70250d4e9221616d86ad511685c3310c96717439795672470742", - "urls": [ - "bzz-raw://8f33b8a060c2b728aa993b50eb83870a920c619694adfaf3361d815a32820699", - "dweb:/ipfs/QmUn4ErKvNQ8Jx9gAHM2i7vDAG8RxKENX15vc8T3cWeenZ" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "VirtualSynthMastercopy.sol": "VirtualSynthMastercopy" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "VirtualSynthMastercopy.sol": { - "keccak256": "0xfa94161d62dc70250d4e9221616d86ad511685c3310c96717439795672470742", - "urls": [ - "bzz-raw://8f33b8a060c2b728aa993b50eb83870a920c619694adfaf3361d815a32820699", - "dweb:/ipfs/QmUn4ErKvNQ8Jx9gAHM2i7vDAG8RxKENX15vc8T3cWeenZ" - ] - } - }, - "version": 1 - } - }, - "ExchangeState": { - "bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158204750152a58dcedbbf25a34d687256136ed9e9cd533c0efb976e8c7126611200364736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "name": "appendExchangeEntry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "exchanges", - "outputs": [ - { - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getEntryAt", - "outputs": [ - { - "internalType": "bytes32", - "name": "src", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "dest", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amountReceived", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForSrc", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "roundIdForDest", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "getLengthOfEntries", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "getMaxTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxEntriesInQueue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "removeEntries", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxEntriesInQueue", - "type": "uint256" - } - ], - "name": "setMaxEntriesInQueue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e", - "urls": [ - "bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe", - "dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "ExchangeState.sol": "ExchangeState" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "ExchangeState.sol": { - "keccak256": "0xb1da5a11c9ac048e4c0c5238abfc04ffe656bb822ec77f54d9a34aaa74758b4e", - "urls": [ - "bzz-raw://7dbc4aec115a0cee37c77371cbe0500aac08284a4821a09551f71d647f515fbe", - "dweb:/ipfs/QmRuyPobqbQ8ZbXFnfkeQ8gPE8Y527qNVLfQRW9kU2kHSE" - ] - } - }, - "version": 1 - } - }, - "Issuer": { - "bytecode": "60806040523480156200001157600080fd5b5060405162006099380380620060998339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615e7680620002236000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806372c6581611610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c1461061d578063dbf6334014610630578063dd3d2b2e14610638578063fd864ccf1461064b576102bb565b8063c81ff8fa146105e4578063c8977132146105f7578063d37c4d8b1461060a576102bb565b8063a311c7c21461057d578063a5fdc5de14610590578063ae3bbbbb146105a3578063b06e8c65146105b6578063b410a034146105c9578063bff4fdfc146105d1576102bb565b8063835e119c1161013b578063835e119c14610521578063849cf58814610534578063890235d414610547578063899ffef41461055a5780638da5cb5b146105625780639a5154b41461056a576102bb565b806372c65816146104c357806372cb051f146104d657806374185360146104eb57806379ba5097146104f35780637b1001b7146104fb57806380aa6a911461050e576102bb565b806331e6da5a116102265780634e99bda9116101df5780634e99bda91461044757806353a47bb71461044f5780635e887fe914610464578063614d08f8146104875780636bed04151461048f5780637168d2c2146104b0576102bb565b806331e6da5a146103c857806332608039146103db5780633b6afe40146103ee57806344ec6b621461040e57806347a9b6db14610421578063497d704a14610434576102bb565b80631627540c116102785780631627540c1461035f57806316b2213f146103725780631b3ba4d014610385578063242df9e1146103985780632af64bd3146103a05780632b3f41aa146103b5576102bb565b8063042e0688146102c057806304f3bcec146102d557806305b3c1c9146102f35780630b887dae146103135780631137aedf146103265780631313e6ca14610348575b600080fd5b6102d36102ce366004614ce5565b61065e565b005b6102dd6106cf565b6040516102ea9190615a85565b60405180910390f35b610306610301366004614bf2565b6106de565b6040516102ea91906159d1565b6102d3610321366004614dbc565b6106f4565b610339610334366004614bf2565b6107d2565b6040516102ea939291906159fb565b6103506107ee565b6040516102ea93929190615c9b565b6102d361036d366004614bf2565b610895565b610306610380366004614bf2565b6108f3565b6102d3610393366004614ce5565b610905565b610306610af1565b6103a8610b01565b6040516102ea91906159c3565b6102d36103c3366004614c2e565b610c18565b6102d36103d6366004614e74565b610c67565b6102dd6103e9366004614dbc565b610d6c565b6104016103fc366004614d15565b610d87565b6040516102ea91906159b2565b6102d361041c366004614c68565b610e35565b6102d361042f366004614d15565b610e88565b6102d3610442366004614bf2565b610f39565b6103a8610f81565b610457611013565b6040516102ea91906158de565b610477610472366004614cb5565b611022565b6040516102ea9493929190615cc3565b610306611044565b6104a261049d366004614ce5565b611051565b6040516102ea929190615c8d565b6102d36104be366004614d15565b6110bd565b6103396104d1366004614cb5565b6111f2565b6104de611364565b6040516102ea91906159a1565b6102d3611370565b6102d36114c2565b610306610509366004614e19565b61155e565b6102d361051c366004614ce5565b611572565b6102dd61052f366004614dbc565b61195d565b6102d3610542366004614e38565b611984565b6103a8610555366004614df8565b6119f7565b6104de611d7d565b610457612022565b6102d3610578366004614c68565b612031565b61030661058b366004614bf2565b61207f565b61030661059e366004614bf2565b612091565b6104a26105b1366004614bf2565b61209c565b6102d36105c4366004614ce5565b6120b2565b6103066120f6565b6103a86105df366004614bf2565b612100565b6103a86105f2366004614df8565b61210b565b6102d3610605366004614bf2565b6124d1565b610306610618366004614ce5565b612516565b6102d361062b366004614c68565b612548565b6103066125ee565b610306610646366004614bf2565b6125f4565b6102d3610659366004614c2e565b6125ff565b61066661264e565b6001600160a01b0316336001600160a01b03161461069f5760405162461bcd60e51b815260040161069690615b4f565b60405180910390fd5b600081116106bf5760405162461bcd60e51b815260040161069690615c1f565b6106cb82826000612665565b5050565b6002546001600160a01b031681565b6000806106ea8361278f565b509150505b919050565b6106fc6127e2565b600061070661280e565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a90610738908590600090600401615a23565b600060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e59150610797906001906004016159c3565b600060405180830381600087803b1580156107b157600080fd5b505af11580156107c5573d6000803e3d6000fd5b505050506106cb82612825565b60008060006107e084612cd3565b509196909550909350915050565b60008060008060006108276108227f6578743a41676772656761746f7249737375656453796e746873000000000000612d43565b612da0565b50935050925050600080610839612e2b565b915091508396508160001461085d57610858878363ffffffff612e6616565b610860565b60005b9550600061086c612e86565b905042811080156108895750838142031180610889575081814203115b95505050505050909192565b61089d6127e2565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108e89083906158de565b60405180910390a150565b60066020526000908152604090205481565b61090d6127e2565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061093b90600401615b12565b60206040518083038186803b15801561095357600080fd5b505afa158015610967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b9190810190614c10565b6001600160a01b0316826001600160a01b0316146109bb5760405162461bcd60e51b815260040161069690615af2565b600081116109db5760405162461bcd60e51b815260040161069690615c0f565b6109e3612f30565b6001600160a01b0316631b16802c83631cd554d160e21b6040518363ffffffff1660e01b8152600401610a17929190615922565b606060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a699190810190614f73565b5050631cd554d160e21b600052506005602052600080516020615e1483398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610abb9085908590600401615922565b600060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050505050565b6000610afb612f47565b90505b90565b60006060610b0d611d7d565b905060005b8151811015610c0f576000828281518110610b2957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b7a9085906004016159d1565b60206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bca9190810190614c10565b6001600160a01b0316141580610bf557506000818152600360205260409020546001600160a01b0316155b15610c065760009350505050610afe565b50600101610b12565b50600191505090565b610c2061264e565b6001600160a01b0316336001600160a01b031614610c505760405162461bcd60e51b815260040161069690615b4f565b610c5a8282612fa2565b6106cb8260006001613043565b610c7a66119959541bdbdb60ca1b612d43565b6001600160a01b0316336001600160a01b031614610caa5760405162461bcd60e51b815260040161069690615b6f565b6000610cb46132b6565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d319190810190614e92565b6001600160801b031610156106cb5760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610abb908590600401615c7f565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610db7578160200160208202803883390190505b50905060005b82811015610e2a5760056000878784818110610dd557fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610e0a57fe5b6001600160a01b0390921660209283029190910190910152600101610dbd565b509150505b92915050565b610e3d61264e565b6001600160a01b0316336001600160a01b031614610e6d5760405162461bcd60e51b815260040161069690615b4f565b610e7783836132d6565b610e8383826000612665565b505050565b610e906127e2565b8060005b81811015610ecd57610ec5848483818110610eab57fe5b9050602002016020610ec09190810190614e38565b61330b565b600101610e94565b50610ed661280e565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610f0291906159c3565b600060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b50505050505050565b610f4161264e565b6001600160a01b0316336001600160a01b031614610f715760405162461bcd60e51b815260040161069690615b4f565b610f7e8160006001613043565b50565b6000610f8b61349c565b6001600160a01b031663c8e5bbd5610fa360016134b7565b6040518263ffffffff1660e01b8152600401610fbf91906159a1565b60006040518083038186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2f9190810190614d57565b6001546001600160a01b031681565b6000806000806110328686613593565b93509350935093505b92959194509250565b6524b9b9bab2b960d11b81565b600080600061106e61106286613941565b620a69cb60eb1b6139c6565b93509091506000905061108f611082613a37565b839063ffffffff613a8f16565b90508481106110a157600093506110b4565b6110b1858263ffffffff613aa416565b93505b50509250929050565b6110c56127e2565b8060006110d061280e565b90506060826040519080825280602002602001820160405280156110fe578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db4906111329088908890869060040161597b565b600060405180830381600087803b15801561114c57600080fd5b505af1158015611160573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e59150611191906001906004016159c3565b600060405180830381600087803b1580156111ab57600080fd5b505af11580156111bf573d6000803e3d6000fd5b506000925050505b83811015610ae9576111ea8686838181106111de57fe5b90506020020135612825565b6001016111c7565b60008060006111ff61264e565b6001600160a01b0316336001600160a01b03161461122f5760405162461bcd60e51b815260040161069690615b4f565b611237613acc565b6001600160a01b031663952225f386866040518363ffffffff1660e01b8152600401611264929190615907565b60206040518083038186803b15801561127c57600080fd5b505afa158015611290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112b49190810190614d9e565b6112d05760405162461bcd60e51b815260040161069690615baf565b60006112dc8686613593565b929650909450925090506112f1868483613ae4565b8461135c576112fe613acc565b6001600160a01b031663974e9e7f876040518263ffffffff1660e01b815260040161132991906158de565b600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b505050505b509250925092565b6060610afb60006134b7565b606061137a611d7d565b905060005b81518110156106cb57600082828151811061139657fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113d891906158d3565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611404929190615a3e565b60206040518083038186803b15801561141c57600080fd5b505afa158015611430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114549190810190614c10565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114b090849084906159df565b60405180910390a1505060010161137f565b6001546001600160a01b031633146114ec5760405162461bcd60e51b815260040161069690615ac2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261152f926001600160a01b03918216929116906158ec565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061156a8383613c1b565b509392505050565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a721906115bc9075446562744d69677261746f724f6e457468657265756d60501b906004016159d1565b60206040518083038186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061160c9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061165b9075446562744d69677261746f724f6e4f7074696d69736d60501b906004016159d1565b60206040518083038186803b15801561167357600080fd5b505afa158015611687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ab9190810190614c10565b9050336001600160a01b03831614806116cc5750336001600160a01b038216145b6116e85760405162461bcd60e51b815260040161069690615c2f565b6001600160a01b038216158061170557506001600160a01b038116155b6117215760405162461bcd60e51b815260040161069690615ab2565b600061172b6132b6565b6002546040516321f8a72160e01b81529192506001600160a01b0316906321f8a721906117759075446562744d69677261746f724f6e457468657265756d60501b906004016159d1565b60206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117c59190810190614c10565b6001600160a01b0316336001600160a01b0316141561184357604051631a378f0d60e01b81526001600160a01b03821690631a378f0d9061180c9088908890600401615922565b600060405180830381600087803b15801561182657600080fd5b505af115801561183a573d6000803e3d6000fd5b50505050611956565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061188c9075446562744d69677261746f724f6e4f7074696d69736d60501b906004016159d1565b60206040518083038186803b1580156118a457600080fd5b505afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118dc9190810190614c10565b6001600160a01b0316336001600160a01b0316141561195657604051636178258560e11b81526001600160a01b0382169063c2f04b0a906119239088908890600401615922565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050505b5050505050565b6004818154811061196a57fe5b6000918252602090912001546001600160a01b0316905081565b61198c6127e2565b6119958161330b565b61199d61280e565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004016119c991906159c3565b600060405180830381600087803b1580156119e357600080fd5b505af1158015611956573d6000803e3d6000fd5b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611a48907853796e746865746978427269646765546f4f7074696d69736d60381b906004016159d1565b60206040518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a989190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611ae6907453796e746865746978427269646765546f4261736560581b906004016159d1565b60206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b369190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611b769066119959541bdbdb60ca1b906004016159d1565b60206040518083038186803b158015611b8e57600080fd5b505afa158015611ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bc69190810190614c10565b9050336001600160a01b0384161480611be75750336001600160a01b038316145b80611bfa5750336001600160a01b038216145b611c165760405162461bcd60e51b815260040161069690615ad2565b6000878152600560205260409020546001600160a01b0316611c4a5760405162461bcd60e51b815260040161069690615b8f565b60008511611c6a5760405162461bcd60e51b815260040161069690615c1f565b611c7386613da6565b6000878152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611cb29089908990600401615922565b600060405180830381600087803b158015611ccc57600080fd5b505af1158015611ce0573d6000803e3d6000fd5b50505050600080611cf089613e1f565b91509150611cfc61280e565b6001600160a01b03166342c7b819611d22611d1d8a8663ffffffff613ea416565b613ece565b6040518263ffffffff1660e01b8152600401611d3e91906159d1565b600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b50929b9a5050505050505050505050565b606080611d88613ef7565b60408051600e8082526101e0820190925291925060609190602082016101c080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611dcb57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611df157fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611e1b57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b81600381518110611e4657fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600481518110611e7557fe5b60200260200101818152505066119959541bdbdb60ca1b81600581518110611e9957fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611ec757fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600781518110611ef257fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600881518110611f1957fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600981518110611f4757fe5b6020026020010181815250506844656274436163686560b81b81600a81518110611f6d57fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b81518110611f9757fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600c81518110611fd157fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600d8151811061200557fe5b60200260200101818152505061201b8282613f48565b9250505090565b6000546001600160a01b031681565b61203961264e565b6001600160a01b0316336001600160a01b0316146120695760405162461bcd60e51b815260040161069690615b4f565b6120738383612fa2565b610e8383826000613043565b600061208a82613ffd565b5092915050565b6000610e2f82614053565b6000806120a883613ffd565b915091505b915091565b6120ba61264e565b6001600160a01b0316336001600160a01b0316146120ea5760405162461bcd60e51b815260040161069690615b4f565b6106cb82826000613043565b6000610afb613a37565b6000610e2f826140ef565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a7219061215c907853796e746865746978427269646765546f4f7074696d69736d60381b906004016159d1565b60206040518083038186803b15801561217457600080fd5b505afa158015612188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ac9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a721906121fa907453796e746865746978427269646765546f4261736560581b906004016159d1565b60206040518083038186803b15801561221257600080fd5b505afa158015612226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224a9190810190614c10565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061228a9066119959541bdbdb60ca1b906004016159d1565b60206040518083038186803b1580156122a257600080fd5b505afa1580156122b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122da9190810190614c10565b9050336001600160a01b03841614806122fb5750336001600160a01b038316145b8061230e5750336001600160a01b038216145b61232a5760405162461bcd60e51b815260040161069690615ad2565b6000878152600560205260409020546001600160a01b031661235e5760405162461bcd60e51b815260040161069690615b8f565b6000851161237e5760405162461bcd60e51b815260040161069690615c1f565b612386612f30565b6001600160a01b0316631b16802c87896040518363ffffffff1660e01b81526004016123b3929190615922565b606060405180830381600087803b1580156123cd57600080fd5b505af11580156123e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124059190810190614f73565b50505060008781526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906124479089908990600401615922565b600060405180830381600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b5050505060008061248589613e1f565b9150915061249161280e565b6001600160a01b03166342c7b8196124b2611d1d8a8663ffffffff613ea416565b6000036040518263ffffffff1660e01b8152600401611d3e91906159d1565b6124d961264e565b6001600160a01b0316336001600160a01b0316146125095760405162461bcd60e51b815260040161069690615b4f565b610f7e8160006001612665565b60008061252284613941565b905080612533576000915050610e2f565b61253d81846139c6565b509095945050505050565b61255061410e565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561258957600080fd5b505afa15801561259d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c19190810190614c10565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b8152600401610f02929190615922565b60045490565b6000610e2f82614146565b61260761264e565b6001600160a01b0316336001600160a01b0316146126375760405162461bcd60e51b815260040161069690615b4f565b61264182826132d6565b6106cb8260006001612665565b6000610afb680a6f2dce8d0cae8d2f60bb1b612d43565b61266d6141bf565b1561267757610e83565b60008061268385612cd3565b93505050915061269281614388565b826126bc57818411156126b75760405162461bcd60e51b815260040161069690615b2f565b6126c0565b8193505b6126ca85856143a6565b6126d385613da6565b631cd554d160e21b6000526005602052600080516020615e148339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906127229088908890600401615922565b600060405180830381600087803b15801561273c57600080fd5b505af1158015612750573d6000803e3d6000fd5b5050505061275c61280e565b6001600160a01b03166342c7b81961277386613ece565b6040518263ffffffff1660e01b815260040161192391906159d1565b6000806000806127a4620a69cb60eb1b613e1f565b9150915060006127bc6127b687614053565b846144f0565b90506127d66127c9613a37565b829063ffffffff613ea416565b94509092505050915091565b6000546001600160a01b0316331461280c5760405162461bcd60e51b815260040161069690615bbf565b565b6000610afb6844656274436163686560b81b612d43565b6000818152600560205260409020546001600160a01b03168061285a5760405162461bcd60e51b815260040161069690615b9f565b631cd554d160e21b8214156128815760405162461bcd60e51b815260040161069690615bef565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156128bc57600080fd5b505afa1580156128d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128f49190810190614dda565b90508015612b765760008061290761349c565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b8152600401612934929190615a5e565b60606040518083038186803b15801561294c57600080fd5b505afa158015612960573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129849190810190614f73565b5091509150600081116129a95760405162461bcd60e51b815260040161069690615c6f565b60006129b3614502565b631cd554d160e21b6000526005602052600080516020615e148339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612a039084908790600401615922565b600060405180830381600087803b158015612a1d57600080fd5b505af1158015612a31573d6000803e3d6000fd5b50505050612a3d61280e565b6001600160a01b03166342c7b819612a5485613ece565b6040518263ffffffff1660e01b8152600401612a7091906159d1565b600060405180830381600087803b158015612a8a57600080fd5b505af1158015612a9e573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612aea57600080fd5b505afa158015612afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b229190810190614e56565b846040518363ffffffff1660e01b8152600401612b40929190615a93565b600060405180830381600087803b158015612b5a57600080fd5b505af1158015612b6e573d6000803e3d6000fd5b505050505050505b60005b600454811015612c5d57826001600160a01b031660048281548110612b9a57fe5b6000918252602090912001546001600160a01b03161415612c555760048181548110612bc257fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612bed57fe5b600091825260209091200154600480546001600160a01b039092169183908110612c1357fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612c4f906000198301614a7f565b50612c5d565b600101612b79565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612cc690859085906159df565b60405180910390a1505050565b600080600080612cf2612ce586613941565b631cd554d160e21b6139c6565b91945092509050600080612d058761278f565b915091508195508280612d155750805b9250858510612d275760009550612d3a565b612d37868663ffffffff613aa416565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591612d73918691016158b3565b6040516020818303038152906040529061208a5760405162461bcd60e51b81526004016106969190615aa1565b6000806000806000856001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015612de157600080fd5b505afa158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e199190810190614fb6565b939a9299509097509550909350915050565b600080600080612e57610822766578743a41676772656761746f7244656274526174696f60481b612d43565b50919650909450505050509091565b6000612e7f83836b033b2e3c9fd0803ce800000061451d565b9392505050565b6000612e90614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b60206040518083038186803b158015612ef857600080fd5b505afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afb9190810190614dda565b6000610afb6822bc31b430b733b2b960b91b612d43565b6000612f51614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b612faa61457e565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b8152600401612fd79291906158ec565b60206040518083038186803b158015612fef57600080fd5b505afa158015613003573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130279190810190614d9e565b6106cb5760405162461bcd60e51b815260040161069690615ae2565b61304b6141bf565b1561305557610e83565b806131b257613063836140ef565b61307f5760405162461bcd60e51b815260040161069690615c4f565b60008061308a612f30565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b81526004016130be929190615922565b606060405180830381600087803b1580156130d857600080fd5b505af11580156130ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131109190810190614f73565b90935091505080156131af57613124612f30565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b815260040161315c949392919061593d565b60206040518083038186803b15801561317457600080fd5b505afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131ac9190810190614dda565b93505b50505b6000806131c1612ce586613941565b92505091506000806131d28761278f565b915091506131e783806131e25750815b614388565b600084116132075760405162461bcd60e51b815260040161069690615b1f565b84156132205761321d848363ffffffff613aa416565b95505b600061322e8889898861459d565b905082613241868363ffffffff613aa416565b116132ac5761324e613acc565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040161327991906158de565b600060405180830381600087803b15801561329357600080fd5b505af11580156132a7573d6000803e3d6000fd5b505050505b5050505050505050565b6000610afb7153796e74686574697844656274536861726560701b612d43565b6132de61457e565b6001600160a01b0316630487261783836040518363ffffffff1660e01b8152600401612fd79291906158ec565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561334657600080fd5b505afa15801561335a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061337e9190810190614dda565b6000818152600560205260409020549091506001600160a01b0316156133b65760405162461bcd60e51b815260040161069690615c3f565b6001600160a01b038216600090815260066020526040902054156133ec5760405162461bcd60e51b815260040161069690615bcf565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849061349090839085906159df565b60405180910390a15050565b6000610afb6c45786368616e6765526174657360981b612d43565b606080826134c65760006134c9565b60015b60ff16600480549050016040519080825280602002602001820160405280156134fc578160200160208202803883390190505b50905060005b60045481101561356357600660006004838154811061351d57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061355057fe5b6020908102919091010152600101613502565b508215610e2f576004548151620a69cb60eb1b918391811061358157fe5b60200260200101818152505092915050565b60008060008060006135a7612ce588613941565b91935090915060009050806135c1620a69cb60eb1b613e1f565b915091506135d583806131e2575081614388565b600088156137b3576135e56146ca565b90506135ef613acc565b6001600160a01b031663f557f73c8661361061360a8e614053565b876144f0565b846040518463ffffffff1660e01b815260040161362f939291906159fb565b60206040518083038186803b15801561364757600080fd5b505afa15801561365b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061367f9190810190614dda565b96506137376137296137138373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b505af41580156136e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137079190810190614dda565b9063ffffffff61472b16565b61371d8a87614750565b9063ffffffff613ea416565b6137328c614762565b61476c565b97506137a361379d6137878373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b6137918b876144f0565b9063ffffffff61478216565b8861476c565b96506000955061103b9350505050565b6137bb6147a0565b905060006137d26137ca614800565b613707614855565b905060006137f86137f2836137e68f614053565b9063ffffffff613aa416565b866144f0565b9050613802613acc565b6001600160a01b031663f557f73c8883866040518463ffffffff1660e01b8152600401613831939291906159fb565b60206040518083038186803b15801561384957600080fd5b505afa15801561385d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138819190810190614dda565b985060006138da6138d08573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b61371d8c89614750565b90506138e58d614053565b6138f5828563ffffffff61472b16565b106139245787995061390a836137e68f614053565b9a506139158d6148af565b985061103b9650505050505050565b61392f8d82856148b9565b909b50985061103b9650505050505050565b600061394b6132b6565b6001600160a01b03166370a08231836040518263ffffffff1660e01b815260040161397691906158de565b60206040518083038186803b15801561398e57600080fd5b505afa1580156139a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e2f9190810190614dda565b60008060008060006139d66107ee565b925050915086600014156139f257600094509092509050613a30565b6000806139fe88613e1f565b91509150613a1b82613a0f8b614914565b9063ffffffff613a8f16565b96508395508080613a295750825b9450505050505b9250925092565b6000613a41614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b6000612e7f8383670de0b6b3a764000061451d565b600082821115613ac65760405162461bcd60e51b815260040161069690615b3f565b50900390565b6000610afb692634b8bab4b230ba37b960b11b612d43565b613aec614932565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613b1791906158de565b600060405180830381600087803b158015613b3157600080fd5b505af1158015613b45573d6000803e3d6000fd5b505050506000613b536132b6565b90506000613b6085613941565b905082841415613b9857604051631a378f0d60e01b81526001600160a01b03831690631a378f0d9061180c9088908590600401615922565b6000613ba385614951565b9050826001600160a01b0316631a378f0d87848410613bc25784613bc4565b835b6040518363ffffffff1660e01b8152600401613be1929190615922565b600060405180830381600087803b158015613bfb57600080fd5b505af1158015613c0f573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613c2b61280e565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613c6357600080fd5b505afa158015613c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c9b9190810190614f12565b935093505092508180613cab5750805b935085613d5157600080613cbd61280e565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613cf457600080fd5b505afa158015613d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d2c9190810190614eb0565b9092509050613d41858363ffffffff61472b16565b94508580613d4c5750805b955050505b631cd554d160e21b871415613d6b5750909250613d9f9050565b600080613d7789613e1f565b9092509050613d8c858363ffffffff613a8f16565b8680613d955750815b9650965050505050505b9250929050565b613dae614561565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b84604051602001613dea92919061588d565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b81526004016119c9939291906159fb565b600080613e2a61349c565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401613e5591906159d1565b604080518083038186803b158015613e6c57600080fd5b505afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120a89190810190614eb0565b6000670de0b6b3a7640000613ebf848463ffffffff61498316565b81613ec657fe5b049392505050565b6000600160ff1b8210613ef35760405162461bcd60e51b815260040161069690615c5f565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613f3957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613f78578160200160208202803883390190505b50905060005b8351811015613fba57838181518110613f9357fe5b6020026020010151828281518110613fa757fe5b6020908102919091010152600101613f7e565b5060005b825181101561208a57828181518110613fd357fe5b6020026020010151828286510181518110613fea57fe5b6020908102919091010152600101613fbe565b600080600061400b84614053565b905060008061401c61106287613941565b92505091508260001415614038576000945092506120ad915050565b614048828463ffffffff613a8f16565b945092505050915091565b6000610e2f614060614932565b6001600160a01b0316628cc262846040518263ffffffff1660e01b815260040161408a91906158de565b60206040518083038186803b1580156140a257600080fd5b505afa1580156140b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140da9190810190614dda565b6137076140e6856148af565b61370786614762565b60006141056140fc612f47565b61370784614146565b42101592915050565b614116614502565b6001600160a01b0316336001600160a01b03161461280c5760405162461bcd60e51b815260040161069690615bff565b6000614150614561565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200161418c92919061588d565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016139769291906159ed565b6000806141e5766578743a41676772656761746f7244656274526174696f60481b612d43565b90506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561422257600080fd5b505afa158015614236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061425a9190810190614fb6565b505050915050600061426a61349c565b6001600160a01b031663045056f8620a69cb60eb1b6040518263ffffffff1660e01b815260040161429b91906159d1565b606060405180830381600087803b1580156142b557600080fd5b505af11580156142c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142ed9190810190614ecf565b509150506142f96149bd565b6001600160a01b031663413caeb584846040518363ffffffff1660e01b8152600401614326929190615922565b602060405180830381600087803b15801561434057600080fd5b505af1158015614354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143789190810190614d9e565b806143805750805b935050505090565b8015610f7e5760405162461bcd60e51b815260040161069690615b7f565b6143ae614932565b6001600160a01b031663270fb338836040518263ffffffff1660e01b81526004016143d991906158de565b600060405180830381600087803b1580156143f357600080fd5b505af1158015614407573d6000803e3d6000fd5b5050505060006144156132b6565b9050600061442283614951565b90508061448e57604051636178258560e11b81526001600160a01b0383169063c2f04b0a906144579087908790600401615922565b600060405180830381600087803b15801561447157600080fd5b505af1158015614485573d6000803e3d6000fd5b505050506144ea565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a906144bc9087908590600401615922565b600060405180830381600087803b1580156144d657600080fd5b505af11580156132ac573d6000803e3d6000fd5b50505050565b6000612e7f838363ffffffff6149d916565b6000610afb6c29bcb73a342932b232b2b6b2b960991b612d43565b6000806145438461453787600a870263ffffffff61498316565b9063ffffffff6149ee16565b90506005600a825b061061455557600a015b600a9004949350505050565b6000610afb6e466c657869626c6553746f7261676560881b612d43565b6000610afb7044656c6567617465417070726f76616c7360781b612d43565b60006145a76141bf565b156145b4575060006146c2565b8282106145c157826145c3565b815b90506145d0858284613ae4565b631cd554d160e21b6000526005602052600080516020615e1483398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061461f9087908590600401615922565b600060405180830381600087803b15801561463957600080fd5b505af115801561464d573d6000803e3d6000fd5b5050505061465961280e565b6001600160a01b03166342c7b81961467083613ece565b6000036040518263ffffffff1660e01b815260040161468f91906159d1565b600060405180830381600087803b1580156146a957600080fd5b505af11580156146bd573d6000803e3d6000fd5b505050505b949350505050565b60006146d4614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600082820183811015612e7f5760405162461bcd60e51b815260040161069690615b02565b6000612e7f838363ffffffff613a8f16565b600061394b61264e565b600081831061477b5781612e7f565b5090919050565b6000612e7f8261453785670de0b6b3a764000063ffffffff61498316565b60006147aa614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061480a614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061485f614561565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401612ee09291906159ed565b600061394b614a23565b60008060006148c786614762565b9050806148da868663ffffffff61472b16565b116148ec57508391506000905061490c565b614900816137e6878763ffffffff61472b16565b859350915061490c9050565b935093915050565b60008061491f612e2b565b509050612e7f838263ffffffff614a3f16565b6000610afb704c697175696461746f725265776172647360781b612d43565b60008061495c612e2b565b509050801561497a57614975838263ffffffff612e6616565b612e7f565b50600092915050565b60008261499257506000610e2f565b8282028284828161499f57fe5b0414612e7f5760405162461bcd60e51b815260040161069690615bdf565b6000610afb6d21b4b931bab4ba213932b0b5b2b960911b612d43565b6000612e7f8383670de0b6b3a7640000614a54565b6000808211614a0f5760405162461bcd60e51b815260040161069690615b5f565b6000828481614a1a57fe5b04949350505050565b6000610afb6d2932bbb0b93222b9b1b937bbab1960911b612d43565b6000612e7f83836b033b2e3c9fd0803ce80000005b600080600a8304614a6b868663ffffffff61498316565b81614a7257fe5b0490506005600a8261454b565b815481835581811115610e8357600083815260209020610e83918101908301610afe91905b80821115613ef35760008155600101614aa4565b8035610e2f81615dd2565b8051610e2f81615dd2565b60008083601f840112614ae057600080fd5b50813567ffffffffffffffff811115614af857600080fd5b602083019150836020820283011115613d9f57600080fd5b600082601f830112614b2157600080fd5b8151614b34614b2f82615cf8565b615cd1565b91508181835260208401935060208101905083856020840282011115614b5957600080fd5b60005b83811015614b855781614b6f8882614bb0565b8452506020928301929190910190600101614b5c565b5050505092915050565b8035610e2f81615de6565b8051610e2f81615de6565b8035610e2f81615def565b8051610e2f81615def565b8035610e2f81615df8565b8051610e2f81615df8565b8035610e2f81615e01565b8051610e2f81615e01565b8051610e2f81615e0a565b600060208284031215614c0457600080fd5b60006146c28484614ab8565b600060208284031215614c2257600080fd5b60006146c28484614ac3565b60008060408385031215614c4157600080fd5b6000614c4d8585614ab8565b9250506020614c5e85828601614ab8565b9150509250929050565b600080600060608486031215614c7d57600080fd5b6000614c898686614ab8565b9350506020614c9a86828701614ab8565b9250506040614cab86828701614ba5565b9150509250925092565b60008060408385031215614cc857600080fd5b6000614cd48585614ab8565b9250506020614c5e85828601614b8f565b60008060408385031215614cf857600080fd5b6000614d048585614ab8565b9250506020614c5e85828601614ba5565b60008060208385031215614d2857600080fd5b823567ffffffffffffffff811115614d3f57600080fd5b614d4b85828601614ace565b92509250509250929050565b60008060408385031215614d6a57600080fd5b825167ffffffffffffffff811115614d8157600080fd5b614d8d85828601614b10565b9250506020614c5e85828601614b9a565b600060208284031215614db057600080fd5b60006146c28484614b9a565b600060208284031215614dce57600080fd5b60006146c28484614ba5565b600060208284031215614dec57600080fd5b60006146c28484614bb0565b600080600060608486031215614e0d57600080fd5b6000614c898686614ba5565b60008060408385031215614e2c57600080fd5b6000614cd48585614ba5565b600060208284031215614e4a57600080fd5b60006146c28484614bbb565b600060208284031215614e6857600080fd5b60006146c28484614bc6565b600060208284031215614e8657600080fd5b60006146c28484614bd1565b600060208284031215614ea457600080fd5b60006146c28484614bdc565b60008060408385031215614ec357600080fd5b6000614d8d8585614bb0565b600080600060608486031215614ee457600080fd5b6000614ef08686614bb0565b9350506020614f0186828701614b9a565b9250506040614cab86828701614b9a565b60008060008060808587031215614f2857600080fd5b6000614f348787614bb0565b9450506020614f4587828801614bb0565b9350506040614f5687828801614b9a565b9250506060614f6787828801614b9a565b91505092959194509250565b600080600060608486031215614f8857600080fd5b6000614f948686614bb0565b9350506020614fa586828701614bb0565b9250506040614cab86828701614bb0565b600080600080600060a08688031215614fce57600080fd5b6000614fda8888614be7565b9550506020614feb88828901614bb0565b9450506040614ffc88828901614bb0565b935050606061500d88828901614bb0565b925050608061501e88828901614be7565b9150509295509295909350565b600061503783836151a2565b505060200190565b600061503783836151bc565b61505481615d2c565b82525050565b61505461506682615d2c565b615db1565b60006150778385615d23565b93506001600160fb1b0383111561508d57600080fd5b60208302925061509e838584615d79565b50500190565b60006150af82615d1f565b6150b98185615d23565b93506150c483615d19565b8060005b838110156150f25781516150dc888261502b565b97506150e783615d19565b9250506001016150c8565b509495945050505050565b600061510882615d1f565b6151128185615d23565b935061511d83615d19565b8060005b838110156150f2578151615135888261503f565b975061514083615d19565b925050600101615121565b600061515682615d1f565b6151608185615d23565b935061516b83615d19565b8060005b838110156150f2578151615183888261502b565b975061518e83615d19565b92505060010161516f565b61505481615d37565b61505481610afe565b6150546151b782610afe565b610afe565b61505481615d3c565b61505481615d6e565b60006151d982615d1f565b6151e38185615d23565b93506151f3818560208601615d85565b6151fc81615dc2565b9093019392505050565b6000615213601883615d23565b7f6f6e65206d69677261746f72206d757374206265203078300000000000000000815260200192915050565b600061524c603583615d23565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006152a3601483615d23565b736f6e6c792074727573746564206d696e7465727360601b815260200192915050565b60006152d3601d83615d23565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b600061530c600d83615d23565b6c77726f6e67206164647265737360981b815260200192915050565b6000615335601b83615d23565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b74436f6c6c61746572616c53686f72744c656761637960581b9052565b600061538b601283615d23565b714e6f206465627420746f20666f726769766560701b815260200192915050565b60006153b9601083615d23565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b60006153e5601e83615d23565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061541e600e83615d23565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000615448601a83615d23565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006154816011836106ef565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006154ae601083615d23565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b60006154da601e83615d23565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000615513601383615d23565b721cde5b9d1a08191bd95cdb89dd08195e1a5cdd606a1b815260200192915050565b6000615542601483615d23565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000615572601883615d23565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b60006155ab602f83615d23565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615608601c83615d23565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b6000615641602183615d23565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615684601383615d23565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b60006156b3601283615d23565b7127b7363c9029bcb73a342932b232b2b6b2b960711b815260200192915050565b60006156e1601483615d23565b7363616e6e6f74206275726e20302073796e74687360601b815260200192915050565b6000615711601583615d23565b7463616e6e6f7420697373756520302073796e74687360581b815260200192915050565b60006157426019836106ef565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061577b601683615d23565b756f6e6c792074727573746564206d69677261746f727360501b815260200192915050565b60006157ad600c83615d23565b6b53796e74682065786973747360a01b815260200192915050565b60006157d5601e83615d23565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b600061580e602883615d23565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b6000615858601a83615d23565b7f43616e6e6f742072656d6f766520776974686f75742072617465000000000000815260200192915050565b61505481615d47565b600061589982856151ab565b6020820191506158a9828461505a565b5060140192915050565b60006158be82615474565b91506158ca82846151ab565b50602001919050565b60006158be82615735565b60208101610e2f828461504b565b604081016158fa828561504b565b612e7f602083018461504b565b60408101615915828561504b565b612e7f6020830184615199565b60408101615930828561504b565b612e7f60208301846151a2565b6080810161594b828761504b565b61595860208301866151a2565b61596560408301856151a2565b61597260608301846151a2565b95945050505050565b6040808252810161598d81858761506b565b90508181036020830152615972818461514b565b60208082528101612e7f81846150a4565b60208082528101612e7f81846150fd565b60208101610e2f8284615199565b60208101610e2f82846151a2565b604081016158fa82856151a2565b6040810161593082856151a2565b60608101615a0982866151a2565b615a1660208301856151a2565b6146c260408301846151a2565b60408101615a3182856151a2565b612e7f60208301846151c5565b60408101615a4c82856151a2565b81810360208301526146c281846151ce565b60608101615a6c82856151a2565b615a7960208301846151a2565b612e7f604083016155ef565b60208101610e2f82846151bc565b6040810161593082856151bc565b60208082528101612e7f81846151ce565b60208082528101610e2f81615206565b60208082528101610e2f8161523f565b60208082528101610e2f81615296565b60208082528101610e2f816152c6565b60208082528101610e2f816152ff565b60208082528101610e2f81615328565b602081016106ef82615361565b60208082528101610e2f8161537e565b60208082528101610e2f816153ac565b60208082528101610e2f816153d8565b60208082528101610e2f81615411565b60208082528101610e2f8161543b565b60208082528101610e2f816154a1565b60208082528101610e2f816154cd565b60208082528101610e2f81615506565b60208082528101610e2f81615535565b60208082528101610e2f81615565565b60208082528101610e2f8161559e565b60208082528101610e2f816155fb565b60208082528101610e2f81615634565b60208082528101610e2f81615677565b60208082528101610e2f816156a6565b60208082528101610e2f816156d4565b60208082528101610e2f81615704565b60208082528101610e2f8161576e565b60208082528101610e2f816157a0565b60208082528101610e2f816157c8565b60208082528101610e2f81615801565b60208082528101610e2f8161584b565b60208101610e2f8284615884565b6040810161591582856151a2565b60608101615ca982866151a2565b615cb660208301856151a2565b6146c26040830184615199565b6080810161594b82876151a2565b60405181810167ffffffffffffffff81118282101715615cf057600080fd5b604052919050565b600067ffffffffffffffff821115615d0f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610e2f82615d53565b151590565b6000610e2f82615d2c565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610e2f82610afe565b82818337506000910152565b60005b83811015615da0578181015183820152602001615d88565b838111156144ea5750506000910152565b6000610e2f826000610e2f82615dcc565b601f01601f191690565b60601b90565b615ddb81615d2c565b8114610f7e57600080fd5b615ddb81615d37565b615ddb81610afe565b615ddb81615d3c565b615ddb81615d47565b615ddb81615d5f56fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a723158207d089a8f784c6219cab4a22411b0374ef35ef8ab0fec92242ba40a17c890a9e66c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "synth", - "type": "address" - } - ], - "name": "SynthAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "synth", - "type": "address" - } - ], - "name": "SynthRemoved", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ISynth", - "name": "synth", - "type": "address" - } - ], - "name": "addSynth", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ISynth[]", - "name": "synthsToAdd", - "type": "address[]" - } - ], - "name": "addSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "allNetworksDebtInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "sharesSupply", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isStale", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "anySynthOrSNXRateIsInvalid", - "outputs": [ - { - "internalType": "bool", - "name": "anyRateInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "availableCurrencyKeys", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "availableSynthCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "availableSynths", - "outputs": [ - { - "internalType": "contract ISynth", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "deprecatedSynthProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "burnForRedemption", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "burnForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - } - ], - "name": "burnSynthsToTarget", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "burnForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - } - ], - "name": "burnSynthsToTargetOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnSynthsWithoutDebt", - "outputs": [ - { - "internalType": "bool", - "name": "rateInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "canBurnSynths", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "collateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "collateralisationRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "collateralisationRatioAndAnyRatesInvalid", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "debtBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "debtBalance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "getSynths", - "outputs": [ - { - "internalType": "contract ISynth[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issuanceRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - } - ], - "name": "issueMaxSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "issueForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - } - ], - "name": "issueMaxSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issueSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "issueForAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issueSynthsOnBehalf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issueSynthsWithoutDebt", - "outputs": [ - { - "internalType": "bool", - "name": "rateInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "lastIssueEvent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bool", - "name": "isSelfLiquidation", - "type": "bool" - } - ], - "name": "liquidateAccount", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRedeemed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "debtRemoved", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "escrowToLiquidate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bool", - "name": "isSelfLiquidation", - "type": "bool" - } - ], - "name": "liquidationAmounts", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRedeemed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "debtToRemove", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "escrowToLiquidate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialDebtBalance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "maxIssuableSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumStakeTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "modifyDebtSharesForMigration", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "remainingIssuableSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "maxIssuable", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "alreadyIssued", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalSystemDebt", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "removeSynth", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - } - ], - "name": "removeSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint128", - "name": "periodId", - "type": "uint128" - } - ], - "name": "setCurrentPeriodId", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synths", - "outputs": [ - { - "internalType": "contract ISynth", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "synthsByAddress", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "excludeOtherCollateral", - "type": "bool" - } - ], - "name": "totalIssuedSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "totalIssued", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "transferableSynthetixAndAnyRateIsInvalid", - "outputs": [ - { - "internalType": "uint256", - "name": "transferable", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "short", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "upgradeCollateralShort", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x6bad7c208a6d9e921fbe254a7af649062cdd75b9e4adf4518af082123fa0eb0b", - "urls": [ - "bzz-raw://4b680df34467be1113ecf8732d6e4c2f803358b04b48da38aea72079e5f466c9", - "dweb:/ipfs/QmZDNBLpqUtKcy61kxDazeDnjjXETcj3VJ2R2zs5n9EkQq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Issuer.sol": "Issuer" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Issuer.sol": { - "keccak256": "0x6bad7c208a6d9e921fbe254a7af649062cdd75b9e4adf4518af082123fa0eb0b", - "urls": [ - "bzz-raw://4b680df34467be1113ecf8732d6e4c2f803358b04b48da38aea72079e5f466c9", - "dweb:/ipfs/QmZDNBLpqUtKcy61kxDazeDnjjXETcj3VJ2R2zs5n9EkQq" - ] - } - }, - "version": 1 - } - }, - "TradingRewards": { - "bytecode": "60806040523480156200001157600080fd5b50604051620026933803806200269383398101604081905262000034916200016e565b600160005580836001600160a01b0381166200006d5760405162461bcd60e51b81526004016200006490620002cd565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000bd90600090849062000283565b60405180910390a1506001546001600160a01b0316620000f15760405162461bcd60e51b81526004016200006490620002bb565b60048054610100600160a81b0319166101006001600160a01b03938416021790558216620001335760405162461bcd60e51b81526004016200006490620002a9565b50600980546001600160a01b0319166001600160a01b03929092169190911790555062000328565b805162000168816200030e565b92915050565b6000806000606084860312156200018457600080fd5b60006200019286866200015b565b9350506020620001a5868287016200015b565b9250506040620001b8868287016200015b565b9150509250925092565b620001cd81620002fa565b82525050565b620001cd81620002e8565b6000620001ed601983620002df565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b600062000228601183620002df565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000257601983620002df565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002938285620001c2565b620002a26020830184620001d3565b9392505050565b602080825281016200016881620001de565b60208082528101620001688162000219565b60208082528101620001688162000248565b90815260200190565b60006001600160a01b03821662000168565b6000620001688260006200016882620002e8565b6200031981620002e8565b81146200032557600080fd5b50565b61235b80620003386000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146103b3578063f61f5df6146103c6578063f6b58479146103d9578063fc9c99ac146103ec576101f0565b8063b225dbaa14610385578063ccb6e04314610276578063ce7fccba14610398578063dea021a5146103ab576101f0565b806391b4ded9116100de57806391b4ded91461034f578063937ffb8f146103575780639865fdb71461036a578063ae934a7a14610372576101f0565b8063741853601461032257806379ba50971461032a578063899ffef4146103325780638da5cb5b14610347576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf146102ec5780635c975abb146102ff5780636fe4136b14610307578063706848d21461030f576101f0565b80632af64bd3146102a957806338dfa8cf146102b15780633dbf12fa146102c457806353a47bb7146102d7576101f0565b806316841952116101c3578063168419521461025057806316c38b3c14610263578063175c51891461027657806321cad77414610296576101f0565b806304f3bcec146101f5578063056097ac14610213578063086146d2146102285780631627540c1461023d575b600080fd5b6101fd6103f4565b60405161020a91906120f0565b60405180910390f35b610226610221366004611775565b610408565b005b610230610559565b60405161020a91906120b4565b61022661024b366004611731565b610560565b61022661025e3660046118b3565b6105be565b610226610271366004611877565b61076a565b6102896102843660046118b3565b6107df565b60405161020a91906120a6565b6102266102a43660046118ef565b6107f4565b6102896108e7565b6102266102bf366004611731565b610a04565b6102266102d2366004611731565b610b56565b6102df610bcf565b60405161020a919061200e565b6102306102fa3660046118b3565b610bde565b610289610bf3565b6102df610bfc565b61023061031d3660046118b3565b610c0b565b610226610c20565b610226610d76565b61033a610e12565b60405161020a9190612095565b6102df610e81565b610230610e90565b6102306103653660046118b3565b610e96565b610230610eab565b610226610380366004611805565b610f42565b6102266103933660046118b3565b611029565b6102306103a6366004611805565b611082565b6102df611097565b6102266103c1366004611835565b6110a6565b6102306103d4366004611805565b611130565b6102306103e73660046117af565b61115b565b6102306111ab565b60045461010090046001600160a01b031681565b6104106111b1565b610419816111dd565b610421611218565b6001600160a01b0316826001600160a01b0316141561045b5760405162461bcd60e51b81526004016104529061223f565b60405180910390fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a082319061048c90309060040161200e565b60206040518083038186803b1580156104a457600080fd5b505afa1580156104b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104dc91908101906118d1565b9050600081116104fe5760405162461bcd60e51b81526004016104529061220f565b6105186001600160a01b038316848363ffffffff61122f16565b7f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe684848360405161054b93929190612037565b60405180910390a150505050565b6006545b90565b6105686111b1565b600280546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105b390839061200e565b60405180910390a150565b6009546001600160a01b031633146105e85760405162461bcd60e51b81526004016104529061225f565b60006105f2611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161061d919061200e565b60206040518083038186803b15801561063557600080fd5b505afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061066d91908101906118d1565b905060006106866007548361128890919063ffffffff16565b9050808311156106a85760405162461bcd60e51b8152600401610452906121ef565b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546106e5908563ffffffff6112b016565b6007556006546040517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9161071b91879061226f565b60405180910390a160065461073790600163ffffffff6112b016565b60068190556040517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329161054b916120b4565b6107726111b1565b60045460ff1615158115151415610788576107dc565b6004805460ff1916821515179081905560ff16156107a557426003555b6004546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916105b39160ff909116906120a6565b50565b60009081526008602052604090205460ff1690565b6107fc6112d5565b6001600160a01b0316336001600160a01b03161461082c5760405162461bcd60e51b81526004016104529061212f565b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610867908463ffffffff6112b016565b6001600160a01b03831660009081526004830160205260409020556001810154610897908463ffffffff6112b016565b60018201556006546040516001600160a01b038416917f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866916108da91879161226f565b60405180910390a2505050565b600060606108f3610e12565b905060005b81518110156109fb57600082828151811061090f57fe5b60209081029190910181015160008181526005909252604091829020546004805493516321f8a72160e01b81529294506001600160a01b03918216936101009004909116916321f8a72191610966918691016120b4565b60206040518083038186803b15801561097e57600080fd5b505afa158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b69190810190611757565b6001600160a01b03161415806109e157506000818152600560205260409020546001600160a01b0316155b156109f2576000935050505061055d565b506001016108f8565b50600191505090565b610a0c6111b1565b610a15816111dd565b6000610a1f611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a4a919061200e565b60206040518083038186803b158015610a6257600080fd5b505afa158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a9a91908101906118d1565b905060008111610abc5760405162461bcd60e51b81526004016104529061220f565b6000610ad36007548361128890919063ffffffff16565b905060008111610af55760405162461bcd60e51b81526004016104529061220f565b610b188382610b02611218565b6001600160a01b0316919063ffffffff61122f16565b7f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee38382604051610b4992919061205f565b60405180910390a1505050565b610b5e6111b1565b6001600160a01b038116610b845760405162461bcd60e51b8152600401610452906121ff565b600980546001600160a01b0319166001600160a01b0383161790556040517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc906105b390839061200e565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610c06611218565b905090565b60009081526008602052604090206003015490565b6060610c2a610e12565b905060005b8151811015610d72576000828281518110610c4657fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c889190612003565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610cb49291906120d0565b60206040518083038186803b158015610ccc57600080fd5b505afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d049190810190611757565b6000838152600560205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d6090849084906120c2565b60405180910390a15050600101610c2f565b5050565b6002546001600160a01b03163314610da05760405162461bcd60e51b81526004016104529061211f565b6001546002546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610de3926001600160a01b039182169291169061201c565b60405180910390a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b81600081518110610e4c57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610e7257fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610c06600754610ebb611218565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ee6919061200e565b60206040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3691908101906118d1565b9063ffffffff61128816565b610f4a6111b1565b610f53826111dd565b6006548110610f745760405162461bcd60e51b8152600401610452906121cf565b60008181526008602052604090206003810154610fa35760405162461bcd60e51b81526004016104529061214f565b6003810154610fb58482610b02611218565b600754610fc8908263ffffffff61128816565b600755600083815260086020526040808220805460ff19168155600181018390556002810183905560030191909155517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9061054b9086908490879061207a565b600080546001019081905560045460ff16156110575760405162461bcd60e51b8152600401610452906121df565b61106133836112ec565b6000548114610d725760405162461bcd60e51b81526004016104529061222f565b600061108e83836113ea565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156110d45760405162461bcd60e51b8152600401610452906121df565b60005b828110156111095760008484838181106110ed57fe5b90506020020135905061110033826112ec565b506001016110d7565b50600054811461112b5760405162461bcd60e51b81526004016104529061222f565b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b828110156111a357600084848381811061117557fe5b90506020020135905061119861118b87836113ea565b849063ffffffff6112b016565b92505060010161115f565b509392505050565b60075490565b6001546001600160a01b031633146111db5760405162461bcd60e51b81526004016104529061219f565b565b6001600160a01b03811615806111fb57506001600160a01b03811630145b156107dc5760405162461bcd60e51b81526004016104529061210f565b6000610c06680a6f2dce8d0cae8d2f60bb1b61148e565b60405161112b90849063a9059cbb60e01b90611251908690869060240161205f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526114f2565b6000828211156112aa5760405162461bcd60e51b81526004016104529061216f565b50900390565b60008282018381101561108e5760405162461bcd60e51b81526004016104529061213f565b6000610c066822bc31b430b733b2b960b91b61148e565b6000818152600860205260409020805460ff1661131b5760405162461bcd60e51b81526004016104529061218f565b600061132784846113ea565b9050600081116113495760405162461bcd60e51b8152600401610452906121af565b6001600160a01b03841660009081526004830160205260408120556003820154611379908263ffffffff61128816565b6003830155600754611391908263ffffffff61128816565b6007556113a18482610b02611218565b836001600160a01b03167fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e32582856040516113dc92919061226f565b60405180910390a250505050565b60008181526008602052604081206003810154158061140b57506001810154155b806114185750805460ff16155b15611427576000915050611091565b6001600160a01b03841660009081526004820160205260409020548061145257600092505050611091565b600061146b8360010154836115dd90919063ffffffff16565b905061148483600201548261160790919063ffffffff16565b9695505050505050565b60008181526005602090815260408083205490516001600160a01b0390911691821515916114be91869101611fe3565b604051602081830303815290604052906114eb5760405162461bcd60e51b815260040161045291906120fe565b5092915050565b611504826001600160a01b0316611631565b6115205760405162461bcd60e51b81526004016104529061224f565b60006060836001600160a01b03168360405161153c9190611fd0565b6000604051808303816000865af19150503d8060008114611579576040519150601f19603f3d011682016040523d82523d6000602084013e61157e565b606091505b5091509150816115a05760405162461bcd60e51b81526004016104529061215f565b8051156115d757808060200190516115bb9190810190611895565b6115d75760405162461bcd60e51b81526004016104529061221f565b50505050565b600061108e826115fb85670de0b6b3a764000063ffffffff61163716565b9063ffffffff61167116565b6000670de0b6b3a7640000611622848463ffffffff61163716565b8161162957fe5b049392505050565b3b151590565b60008261164657506000611091565b8282028284828161165357fe5b041461108e5760405162461bcd60e51b8152600401610452906121bf565b60008082116116925760405162461bcd60e51b81526004016104529061217f565b600082848161169d57fe5b04949350505050565b8035611091816122f2565b8051611091816122f2565b60008083601f8401126116ce57600080fd5b50813567ffffffffffffffff8111156116e657600080fd5b6020830191508360208202830111156116fe57600080fd5b9250929050565b803561109181612306565b805161109181612306565b80356110918161230f565b80516110918161230f565b60006020828403121561174357600080fd5b600061174f84846116a6565b949350505050565b60006020828403121561176957600080fd5b600061174f84846116b1565b6000806040838503121561178857600080fd5b600061179485856116a6565b92505060206117a5858286016116a6565b9150509250929050565b6000806000604084860312156117c457600080fd5b60006117d086866116a6565b935050602084013567ffffffffffffffff8111156117ed57600080fd5b6117f9868287016116bc565b92509250509250925092565b6000806040838503121561181857600080fd5b600061182485856116a6565b92505060206117a58582860161171b565b6000806020838503121561184857600080fd5b823567ffffffffffffffff81111561185f57600080fd5b61186b858286016116bc565b92509250509250929050565b60006020828403121561188957600080fd5b600061174f8484611705565b6000602082840312156118a757600080fd5b600061174f8484611710565b6000602082840312156118c557600080fd5b600061174f848461171b565b6000602082840312156118e357600080fd5b600061174f8484611726565b6000806040838503121561190257600080fd5b6000611794858561171b565b600061191a8383611993565b505060200190565b61192b81612295565b82525050565b600061193c82612283565b6119468185612287565b93506119518361227d565b8060005b8381101561197f578151611969888261190e565b97506119748361227d565b925050600101611955565b509495945050505050565b61192b816122a0565b61192b8161055d565b61192b6119a88261055d565b61055d565b60006119b882612283565b6119c28185612290565b93506119d28185602086016122bc565b9290920192915050565b61192b816122b1565b60006119f082612283565b6119fa8185612287565b9350611a0a8185602086016122bc565b611a13816122e8565b9093019392505050565b6000611a2a601783612287565b7f496e76616c6964207265636f7665722061646472657373000000000000000000815260200192915050565b6000611a63603583612287565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611aba601e83612287565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000611af3601b83612287565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611b2c601f83612287565b7f4e6f207265776172647320617661696c61626c6520746f207265636f76657200815260200192915050565b6000611b65602083612287565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611b9e601e83612287565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611bd7601a83612287565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611c10601183612290565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611c3d601783612287565b7f506572696f64206973206e6f742066696e616c697a6564000000000000000000815260200192915050565b6000611c76602f83612287565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611cc7601483612287565b734e6f207265776172647320617661696c61626c6560601b815260200192915050565b6000611cf7602183612287565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611d3a601a83612287565b7f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000815260200192915050565b6000611d73603c83612287565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000611dd2601983612290565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e0b601983612287565b7f496e73756666696369656e742066726565207265776172647300000000000000815260200192915050565b6000611e44601983612287565b7f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000815260200192915050565b6000611e7d601483612287565b732737903a37b5b2b739903a37903932b1b7bb32b960611b815260200192915050565b6000611ead602a83612287565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611ef9601f83612287565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611f32601983612287565b7f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000815260200192915050565b6000611f6b601f83612287565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611fa4601c83612287565b7f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000815260200192915050565b6000611fdc82846119ad565b9392505050565b6000611fee82611c03565b9150611ffa828461199c565b50602001919050565b6000611fee82611dc5565b602081016110918284611922565b6040810161202a8285611922565b611fdc6020830184611922565b606081016120458286611922565b6120526020830185611922565b61174f6040830184611993565b6040810161206d8285611922565b611fdc6020830184611993565b606081016120888286611922565b6120526020830185611993565b6020808252810161108e8184611931565b60208101611091828461198a565b602081016110918284611993565b6040810161202a8285611993565b604081016120de8285611993565b818103602083015261174f81846119e5565b6020810161109182846119dc565b6020808252810161108e81846119e5565b6020808252810161109181611a1d565b6020808252810161109181611a56565b6020808252810161109181611aad565b6020808252810161109181611ae6565b6020808252810161109181611b1f565b6020808252810161109181611b58565b6020808252810161109181611b91565b6020808252810161109181611bca565b6020808252810161109181611c30565b6020808252810161109181611c69565b6020808252810161109181611cba565b6020808252810161109181611cea565b6020808252810161109181611d2d565b6020808252810161109181611d66565b6020808252810161109181611dfe565b6020808252810161109181611e37565b6020808252810161109181611e70565b6020808252810161109181611ea0565b6020808252810161109181611eec565b6020808252810161109181611f25565b6020808252810161109181611f5e565b6020808252810161109181611f97565b6040810161206d8285611993565b60200190565b5190565b90815260200190565b919050565b6000611091826122a5565b151590565b6001600160a01b031690565b600061109182612295565b60005b838110156122d75781810151838201526020016122bf565b838111156115d75750506000910152565b601f01601f191690565b6122fb81612295565b81146107dc57600080fd5b6122fb816122a0565b6122fb8161055d56fea365627a7a72315820e9b84a2dbcd024bab4af5cd9eca670245af9f7a8d4e21ce280a427d1c33bfc056c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "periodController", - "type": "address" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "recoverAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "AssignedRewardTokensRecovered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "ExchangeFeeRecorded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "NewPeriodStarted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newPeriodController", - "type": "address" - } - ], - "name": "PeriodControllerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewards", - "type": "uint256" - } - ], - "name": "PeriodFinalizedWithRewards", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "RewardsClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recoverAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokensRecovered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "recoverAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "UnassignedRewardTokensRecovered", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "claimRewardsForPeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256[]", - "name": "periodIDs", - "type": "uint256[]" - } - ], - "name": "claimRewardsForPeriods", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "rewards", - "type": "uint256" - } - ], - "name": "closeCurrentPeriodWithRewards", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getAvailableRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getAvailableRewardsForAccountForPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "periodIDs", - "type": "uint256[]" - } - ], - "name": "getAvailableRewardsForAccountForPeriods", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRewards", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getCurrentPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getPeriodAvailableRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getPeriodController", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getPeriodIsClaimable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getPeriodIsFinalized", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getPeriodRecordedFees", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getPeriodTotalRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRewardsToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "getUnaccountedFeesForAccountForPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getUnassignedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastPauseTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "usdFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "recordExchangeFeeForAccount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recoverAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "periodID", - "type": "uint256" - } - ], - "name": "recoverAssignedRewardTokensAndDestroyPeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "recoverAddress", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recoverAddress", - "type": "address" - } - ], - "name": "recoverUnassignedRewardTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_paused", - "type": "bool" - } - ], - "name": "setPaused", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newPeriodController", - "type": "address" - } - ], - "name": "setPeriodController", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x64bc283409020cbc1a224438af164b18f7b62d03f0c7eaba6c731b9c22d352a0", - "urls": [ - "bzz-raw://7ac18bd63540a2e6ee5138ee2aa4dde745de7fad7674ac5c25f59acea5d95b81", - "dweb:/ipfs/QmcsWc9uVcyHg54zfYbt3nxDbHPRV86wz6kiD7i8kdqyFF" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "TradingRewards.sol": "TradingRewards" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "TradingRewards.sol": { - "keccak256": "0x64bc283409020cbc1a224438af164b18f7b62d03f0c7eaba6c731b9c22d352a0", - "urls": [ - "bzz-raw://7ac18bd63540a2e6ee5138ee2aa4dde745de7fad7674ac5c25f59acea5d95b81", - "dweb:/ipfs/QmcsWc9uVcyHg54zfYbt3nxDbHPRV86wz6kiD7i8kdqyFF" - ] - } - }, - "version": 1 - } - }, - "SupplySchedule": { - "bytecode": "608060405268056bc75e2d631000006004556a027b46536c66c8e300000060065534801561002c57600080fd5b50604051610cb8380380610cb88339818101604052606081101561004f57600080fd5b5080516020820151604090920151909190826001600160a01b0381166100bc576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610b8a8061012e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637e1b823f116100c3578063bdd124821161007c578063bdd12482146102ae578063be801f01146102b6578063cc5c095c146102be578063d3bd4bde146102c6578063dbd3a6a7146102ce578063df5a9fc1146102d65761014d565b80637e1b823f1461024b5780637e7961d7146102535780638da5cb5b1461027057806395896b76146102785780639bdd7ac71461029e578063a43ab48e146102a65761014d565b80634ae26521116101155780634ae26521146101d557806353a47bb7146101f2578063614d08f8146102165780636f33e7e11461021e5780637397ab6c1461022657806379ba5097146102435761014d565b80631627540c1461015257806322af2bab1461017a57806325a3746e1461019457806346872a23146101b157806346b45af7146101b9575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b03166102de565b005b61018261033a565b60408051918252519081900360200190f35b610178600480360360208110156101aa57600080fd5b5035610347565b6101826103e1565b6101c16103e8565b604080519115158252519081900360200190f35b610178600480360360208110156101eb57600080fd5b5035610408565b6101fa610493565b604080516001600160a01b039092168252519081900360200190f35b6101826104a2565b6101826104b7565b6101786004803603602081101561023c57600080fd5b50356104bd565b610178610502565b6101826105be565b6101826004803603602081101561026957600080fd5b50356105c6565b6101fa610734565b6101786004803603602081101561028e57600080fd5b50356001600160a01b0316610743565b6101826107f6565b6101826107fc565b6101fa610802565b610182610811565b610182610817565b61018261084d565b610182610853565b6101826108a2565b6102e66108a9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b680ad78ebc5ac620000081565b61034f6108a9565b6006548111156103a6576040805162461bcd60e51b815260206004820152601e60248201527f416d6f756e742061626f7665206d6178696d756d20696e666c6174696f6e0000604482015290519081900360640190fd5b60058190556040805182815290517f297a8f497249a00f95e5f63b91fe72db09907e46dba60ec5e4f6397056709a669181900360200190a150565b6201518081565b600062093a806002544203111561040157506001610405565b5060005b90565b6104106108a9565b680ad78ebc5ac62000008111156104585760405162461bcd60e51b8152600401808060200182810382526026815260200180610b306026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6001546001600160a01b031681565b6d537570706c795363686564756c6560901b81565b60055481565b6104c56108a9565b600681905560055460408051918252517f6a653dcb129ba34c380e770610eeb3b16e0318f91bf2a3cab0283b529086093b9181900360200190a150565b6001546001600160a01b0316331461054b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a786035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b635c7f0d8081565b60075460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561060b57600080fd5b505afa15801561061f573d6000803e3d6000fd5b505050506040513d602081101561063557600080fd5b50516001600160a01b0316331461067d5760405162461bcd60e51b8152600401808060200182810382526033815260200180610afd6033913960400191505060405180910390fd5b6000610687610853565b60035490915061069d908263ffffffff6108f416565b60038190556106df9062015180906106d3906106c29062093a8063ffffffff61095716565b635c7f0d809063ffffffff6108f416565b9063ffffffff6108f416565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a15050600454919050565b6000546001600160a01b031681565b61074b6108a9565b6001600160a01b03811661079c576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b60065481565b6007546001600160a01b031681565b60025481565b6000806108226103e8565b61082d579050610405565b610847610838610853565b6005549063ffffffff61095716565b91505090565b60035481565b6000806000600254116108795761087442635c7f0d8063ffffffff6109b016565b61088d565b60025461088d90429063ffffffff6109b016565b90506108478162093a8063ffffffff610a0d16565b62093a8081565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040180806020018281038252602f815260200180610aad602f913960400191505060405180910390fd5b565b60008282018381101561094e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261096657506000610951565b8282028284828161097357fe5b041461094e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610adc6021913960400191505060405180910390fd5b600082821115610a07576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610a63576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610a6e57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158200bacd51cce3301843dd125950c9922f7d561fcd55bc5595106f596aab549a80b64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_lastMintEvent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_currentWeek", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newInflationAmount", - "type": "uint256" - } - ], - "name": "InflationAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newInflationAmount", - "type": "uint256" - } - ], - "name": "MaxInflationAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newRewardAmount", - "type": "uint256" - } - ], - "name": "MinterRewardUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "supplyMinted", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "numberOfWeeksIssued", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lastMintEvent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "SupplyMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newAddress", - "type": "address" - } - ], - "name": "SynthetixProxyUpdated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "INFLATION_START_DATE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MAX_MINTER_REWARD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MINT_BUFFER", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MINT_PERIOD_DURATION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "inflationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isMintable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastMintEvent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxInflationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintableSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minterReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "supplyMinted", - "type": "uint256" - } - ], - "name": "recordMintEvent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setInflationAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setMaxInflationAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setMinterReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract ISynthetix", - "name": "_synthetixProxy", - "type": "address" - } - ], - "name": "setSynthetixProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthetixProxy", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "weekCounter", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "weeksSinceLastIssuance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x655d0f6e2c194c3493cf19de316dab85b1a68db6c2019790ca8ff5fcef6273f2", - "urls": [ - "bzz-raw://2e3ae18b49f0118dd7ff9fcdf4cff0111ea3a55596fcb4523effddc196d051f1", - "dweb:/ipfs/QmWvufEZt5GciCpUvfXLPmRvHziKcfUL3S8bAeB3SwRsJY" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SupplySchedule.sol": "SupplySchedule" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SupplySchedule.sol": { - "keccak256": "0x655d0f6e2c194c3493cf19de316dab85b1a68db6c2019790ca8ff5fcef6273f2", - "urls": [ - "bzz-raw://2e3ae18b49f0118dd7ff9fcdf4cff0111ea3a55596fcb4523effddc196d051f1", - "dweb:/ipfs/QmWvufEZt5GciCpUvfXLPmRvHziKcfUL3S8bAeB3SwRsJY" - ] - } - }, - "version": 1 - } - }, - "EscrowChecker": { - "bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780639514c2321461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a7231582084dabdef8af72d2daa0b666b4b223ba319c63aed3d8cf43f7a18c7ea6a5223d064736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ISynthetixEscrow", - "name": "_esc", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "checkAccountSchedule", - "outputs": [ - { - "internalType": "uint256[16]", - "name": "", - "type": "uint256[16]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthetix_escrow", - "outputs": [ - { - "internalType": "contract ISynthetixEscrow", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276", - "urls": [ - "bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8", - "dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "EscrowChecker.sol": "EscrowChecker" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "EscrowChecker.sol": { - "keccak256": "0x485311f9826d915060f279082947791732c7c41cc06ce559dac3530806ea9276", - "urls": [ - "bzz-raw://499057f6854c7e43fb9cac2ed293d503d2111e8598737be98476dea504f58da8", - "dweb:/ipfs/QmVWVr3dYEW2Pti3pS9bfUhbjaG2NZwwVMtbaxBT9kcbyt" - ] - } - }, - "version": 1 - } - }, - "SynthetixBridgeToOptimism": { - "bytecode": "60806040523480156200001157600080fd5b506040516200394a3803806200394a83398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b61371680620002346000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063698a26b2116100de578063a18e230711610097578063b9958ab811610071578063b9958ab8146102cf578063bb91f6a3146102e2578063f4f7b41a146102ea578063ffaad6a5146102fd57610173565b8063a18e230714610296578063a6492fe2146102a9578063b6b55f25146102bc57610173565b8063698a26b21461024e578063741853601461025657806379ba50971461025e578063899ffef4146102665780638da5cb5b1461027b5780639a9e7f961461028357610173565b80633c6b16ab116101305780633c6b16ab146101e3578063462286d5146101f65780634873966f1461020957806353a47bb71461021c5780635aba32ae14610231578063614d08f81461024657610173565b806304f3bcec14610178578063100be6d4146101965780631627540c146101ab5780631e2720ff146101c05780632af64bd3146101d35780633872dda3146101db575b600080fd5b610180610310565b60405161018d9190613440565b60405180910390f35b61019e61031f565b60405161018d9190613384565b6101be6101b9366004612765565b610328565b005b6101be6101ce366004612934565b610386565b61019e61042c565b6101be610544565b6101be6101f1366004612934565b6105ac565b6101be610204366004612765565b610620565b6101be6102173660046128e7565b6106c3565b61022461094e565b60405161018d919061325a565b61023961095d565b60405161018d9190613392565b610239610974565b6101be610998565b6101be6109fb565b6101be610b4d565b61026e610be9565b60405161018d9190613373565b610224610ce7565b6101be6102913660046127e3565b610cf6565b6101be6102a4366004612970565b610d0f565b6101be6102b73660046128e7565b610d3f565b6101be6102ca366004612934565b610e2a565b6101be6102dd366004612a00565b610e44565b610239610f92565b6101be6102f83660046127a9565b610fa4565b6101be61030b3660046127a9565b611082565b6002546001600160a01b031681565b60045460ff1681565b61033061109c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061037b90839061325a565b60405180910390a150565b61038e6110c8565b6103966110ea565b6001600160a01b03166323b872dd336103ad611101565b846040518463ffffffff1660e01b81526004016103cc93929190613268565b602060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061041e91908101906128c9565b506104293382611124565b50565b60006060610438610be9565b905060005b815181101561053a57600082828151811061045457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104a5908590600401613392565b60206040518083038186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f5919081019061278b565b6001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161043d565b5060019150505b90565b61054c61109c565b60045460ff166105775760405162461bcd60e51b815260040161056e9061348f565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6105b461123a565b6001600160a01b0316336001600160a01b0316146105e45760405162461bcd60e51b815260040161056e9061355f565b6105ec6110ea565b6001600160a01b031663a9059cbb610602611101565b836040518363ffffffff1660e01b81526004016103cc929190613358565b806106bf61062c611101565b6040516370a0823160e01b81526001600160a01b038416906370a082319061065890309060040161325a565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190612952565b6001600160a01b038416919063ffffffff61125b16565b5050565b6106cb6110c8565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161056e906134ef565b60006106fc846112b9565b116107195760405162461bcd60e51b815260040161056e9061352f565b6107216113a1565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b815260040161074c9190613392565b60006040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b5050505061078e6314d95b9d60e21b84836113bb565b6000610798611510565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b81526004016107c7939291906133ae565b602060405180830381600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081991908101906128c9565b905080156108395760405162461bcd60e51b815260040161056e9061357f565b606063a6492fe260e01b858585604051602401610858939291906133c9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610894611524565b6001600160a01b0316633dbb202b6108aa61153f565b836108b56003611549565b6040518463ffffffff1660e01b81526004016108d393929190613329565b600060405180830381600087803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b8560405161093f9190613392565b60405180910390a35050505050565b6001546001600160a01b031681565b600061096f6314d95b9d60e21b611599565b905090565b7f53796e746865746978427269646765546f4f7074696d69736d0000000000000090565b6109a061109c565b60045460ff16156109c35760405162461bcd60e51b815260040161056e9061345f565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b6060610a05610be9565b905060005b81518110156106bf576000828281518110610a2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610a63919061324f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a8f929190613420565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061278b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610b3b90849084906133a0565b60405180910390a15050600101610a0a565b6001546001600160a01b03163314610b775760405162461bcd60e51b815260040161056e9061346f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610bba926001600160a01b0391821692911690613300565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610bf4611870565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506524b9b9bab2b960d11b81600081518110610c3257fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600181518110610c6257fe5b602002602001018181525050786f766d3a53796e746865746978427269646765546f4261736560381b81600281518110610c9857fe5b6020026020010181815250507453796e746865746978427269646765457363726f7760581b81600381518110610cca57fe5b602002602001018181525050610ce082826119d9565b9250505090565b6000546001600160a01b031681565b610cfe6110c8565b610d06611a95565b61042981611b35565b610d176110c8565b610d1f611a95565b805115610d2f57610d2f81611b35565b81156106bf576106bf3383611dd6565b610d47611f71565b610d59632932b1bb60e11b84836113bb565b610d61611510565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610d90939291906133c9565b602060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de291908101906128c9565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610e1d9190613392565b60405180910390a3505050565b610e326110c8565b610e3a611a95565b6104293382611dd6565b610e4c6110c8565b610e5461204d565b6001600160a01b0316336001600160a01b031614610e845760405162461bcd60e51b815260040161056e9061350f565b6040516000906060906325aae56360e01b90610ea690869086906024016133f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ee2611524565b6001600160a01b0316633dbb202b610ef8612062565b83610f036004611549565b6040518463ffffffff1660e01b8152600401610f2193929190613329565b600060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050507fcca0df3f2f18cd65d14c04abffc77c2d00aaca7ad00b0d2eb074adeea3fb54f48484604051610f849291906133f7565b60405180910390a150505050565b600061096f632932b1bb60e11b611599565b610fac611f71565b610fb46110ea565b6001600160a01b03166323b872dd610fca611101565b84846040518463ffffffff1660e01b8152600401610fea9392919061331b565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103c91908101906128c9565b50816001600160a01b03167f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda8826040516110769190613392565b60405180910390a25050565b61108a6110c8565b611092611a95565b6106bf8282611dd6565b6000546001600160a01b031633146110c65760405162461bcd60e51b815260040161056e906134ff565b565b60045460ff166110c65760405162461bcd60e51b815260040161056e906134bf565b600061096f680a6f2dce8d0cae8d2f60bb1b612085565b600061096f7453796e746865746978427269646765457363726f7760581b612085565b60405160009060609063a616cdfb60e01b906111469086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611182611524565b6001600160a01b0316633dbb202b611198612062565b836111a36002611549565b6040518463ffffffff1660e01b81526004016111c193929190613329565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50505050836001600160a01b03167f0ac6af0c6fd21e58850b0385f451cdcc08071424f47fd04652be4e51069f43cc8460405161122c9190613392565b60405180910390a250505050565b600061096f722932bbb0b93239a234b9ba3934b13aba34b7b760691b612085565b6040516112b490849063a9059cbb60e01b9061127d9086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526120e2565b505050565b60006112c36121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016113169291906131c6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016113499291906133f7565b60206040518083038186803b15801561136157600080fd5b505afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113999190810190612952565b90505b919050565b600061096f6b53797374656d53746174757360a01b612085565b60006c29bcb73a342a3930b739b332b960991b84846040516020016113e2939291906131ec565b60405160208183030381529060405280519060200120905060006114046121cd565b6001600160a01b03166323257c2b61141a610974565b846040518363ffffffff1660e01b81526004016114389291906133f7565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114889190810190612952565b90506114926121cd565b6001600160a01b0316631d5b277f6114a8610974565b846114b9858863ffffffff6121ea16565b6040518463ffffffff1660e01b81526004016114d793929190613405565b600060405180830381600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050505050505050565b600061096f6524b9b9bab2b960d11b612085565b600061096f6c32bc3a1d26b2b9b9b2b733b2b960991b612085565b600061096f612062565b60006115536121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61157c85612218565b6040518363ffffffff1660e01b81526004016113499291906133f7565b600060606115a5611510565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115dd57600080fd5b505afa1580156115f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116199190810190612818565b905060606000611627612393565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016116529190613373565b60006040518083038186803b15801561166a57600080fd5b505afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a69190810190612882565b9150915080156116c85760405162461bcd60e51b815260040161056e906134cf565b606083516040519080825280602002602001820160405280156116f5578160200160208202803883390190505b50905060005b8451811015611771576c29bcb73a342a3930b739b332b960991b8786838151811061172257fe5b602002602001015160405160200161173c939291906131ec565b6040516020818303038152906040528051906020012082828151811061175e57fe5b60209081029190910101526001016116fb565b50606061177c6121cd565b6001600160a01b031663b67fa7ed611792610974565b846040518363ffffffff1660e01b81526004016117b09291906133d7565b60006040518083038186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611804919081019061284d565b905060005b85518110156118655761185b61184e86838151811061182457fe5b602002602001015184848151811061183857fe5b60200260200101516123ae90919063ffffffff16565b889063ffffffff6121ea16565b9650600101611809565b505050505050919050565b60608061187b6123c3565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106118c257fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e857fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061191357fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061193657fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b8160058151811061198657fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106119b057fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610cca57fe5b60608151835101604051908082528060200260200182016040528015611a09578160200160208202803883390190505b50905060005b8351811015611a4b57838181518110611a2457fe5b6020026020010151828281518110611a3857fe5b6020908102919091010152600101611a0f565b5060005b8251811015611a8e57828181518110611a6457fe5b6020026020010151828286510181518110611a7b57fe5b6020908102919091010152600101611a4f565b5092915050565b611a9d611510565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401611ac891906132b0565b60206040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b189190810190612952565b156110c65760405162461bcd60e51b815260040161056e906134df565b60005b81518110156106bf57601a60ff16828281518110611b5257fe5b6020026020010151511115611b795760405162461bcd60e51b815260040161056e906134af565b60006060611b85612414565b6001600160a01b03166380d46f5833868681518110611ba057fe5b60200260200101516040518363ffffffff1660e01b8152600401611bc5929190613290565b600060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b91908101906129b8565b90925090508115611dcc57611c2e6110ea565b6001600160a01b031663a9059cbb611c44611101565b846040518363ffffffff1660e01b8152600401611c62929190613358565b602060405180830381600087803b158015611c7c57600080fd5b505af1158015611c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb491908101906128c9565b50604051600090606090637cbc127f60e11b90611cd9903390879087906024016132ca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611d15611524565b6001600160a01b0316633dbb202b611d2b612062565b83611d366001611549565b6040518463ffffffff1660e01b8152600401611d5493929190613329565b600060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051611dc19291906135af565b60405180910390a250505b5050600101611b38565b611dde6110ea565b6001600160a01b03166323b872dd33611df5611101565b846040518463ffffffff1660e01b8152600401611e1493929190613268565b602060405180830381600087803b158015611e2e57600080fd5b505af1158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6691908101906128c9565b50604051600090606090638d6e9a5b60e01b90611e899086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ec5611524565b6001600160a01b0316633dbb202b611edb612062565b83611ee66000611549565b6040518463ffffffff1660e01b8152600401611f0493929190613329565b600060405180830381600087803b158015611f1e57600080fd5b505af1158015611f32573d6000803e3d6000fd5b50505050336001600160a01b03167ff531653a5819e21265de50358610d55dbe6594c61605b209dfa4280d277938c1858560405161122c929190613358565b6000611f7b611524565b9050336001600160a01b03821614611fa55760405162461bcd60e51b815260040161056e9061353f565b611fad61153f565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015611fef57600080fd5b505afa158015612003573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612027919081019061278b565b6001600160a01b0316146104295760405162461bcd60e51b815260040161056e9061354f565b600061096f66119959541bdbdb60ca1b612085565b600061096f786f766d3a53796e746865746978427269646765546f4261736560381b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916120b59186910161322f565b60405160208183030381529060405290611a8e5760405162461bcd60e51b815260040161056e919061344e565b6120f4826001600160a01b0316612430565b6121105760405162461bcd60e51b815260040161056e9061359f565b60006060836001600160a01b03168360405161212c9190613223565b6000604051808303816000865af19150503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121905760405162461bcd60e51b815260040161056e9061349f565b8051156121c757808060200190516121ab91908101906128c9565b6121c75760405162461bcd60e51b815260040161056e9061356f565b50505050565b600061096f6e466c657869626c6553746f7261676560881b612085565b60008282018381101561220f5760405162461bcd60e51b815260040161056e9061347f565b90505b92915050565b60008082600581111561222757fe5b141561225457507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061139c565b600182600581111561226257fe5b141561228f57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061139c565b600282600581111561229d57fe5b14156122ca57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061139c565b60038260058111156122d857fe5b141561230557507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061139c565b600582600581111561231357fe5b141561234057507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061139c565b600482600581111561234e57fe5b141561237b57507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061139c565b60405162461bcd60e51b815260040161056e9061358f565b600061096f6c45786368616e6765526174657360981b612085565b600061220f8383670de0b6b3a7640000612436565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061240557fe5b60200260200101818152505090565b600061096f6d2932bbb0b93222b9b1b937bbab1960911b612085565b3b151590565b600080600a830461244d868663ffffffff61247416565b8161245457fe5b0490506005600a82061061246657600a015b600a900490505b9392505050565b60008261248357506000612212565b8282028284828161249057fe5b041461220f5760405162461bcd60e51b815260040161056e9061351f565b8035612212816136a4565b8051612212816136a4565b600082601f8301126124d557600080fd5b81356124e86124e3826135f6565b6135cf565b81815260209384019390925082018360005b8381101561252657813586016125108882612612565b84525060209283019291909101906001016124fa565b5050505092915050565b600082601f83011261254157600080fd5b815161254f6124e3826135f6565b9150818183526020840193506020810190508385602084028201111561257457600080fd5b60005b83811015612526578161258a8882612708565b8452506020928301929190910190600101612577565b600082601f8301126125b157600080fd5b81516125bf6124e3826135f6565b915081818352602084019350602081019050838560408402820111156125e457600080fd5b60005b8381101561252657816125fa8882612713565b845250602090920191604091909101906001016125e7565b600082601f83011261262357600080fd5b81356126316124e3826135f6565b9150818183526020840193506020810190508385602084028201111561265657600080fd5b60005b83811015612526578161266c88826126fd565b8452506020928301929190910190600101612659565b600082601f83011261269357600080fd5b81516126a16124e3826135f6565b915081818352602084019350602081019050838560208402820111156126c657600080fd5b60005b8381101561252657816126dc8882612708565b84525060209283019291909101906001016126c9565b8051612212816136b8565b8035612212816136c1565b8051612212816136c1565b60006040828403121561272557600080fd5b61272f60406135cf565b9050600061273d848461275a565b825250602061274e84848301612708565b60208301525092915050565b8051612212816136ca565b60006020828403121561277757600080fd5b600061278384846124ae565b949350505050565b60006020828403121561279d57600080fd5b600061278384846124b9565b600080604083850312156127bc57600080fd5b60006127c885856124ae565b92505060206127d9858286016126fd565b9150509250929050565b6000602082840312156127f557600080fd5b813567ffffffffffffffff81111561280c57600080fd5b612783848285016124c4565b60006020828403121561282a57600080fd5b815167ffffffffffffffff81111561284157600080fd5b61278384828501612530565b60006020828403121561285f57600080fd5b815167ffffffffffffffff81111561287657600080fd5b61278384828501612682565b6000806040838503121561289557600080fd5b825167ffffffffffffffff8111156128ac57600080fd5b6128b885828601612682565b92505060206127d9858286016126f2565b6000602082840312156128db57600080fd5b600061278384846126f2565b6000806000606084860312156128fc57600080fd5b600061290886866126fd565b9350506020612919868287016124ae565b925050604061292a868287016126fd565b9150509250925092565b60006020828403121561294657600080fd5b600061278384846126fd565b60006020828403121561296457600080fd5b60006127838484612708565b6000806040838503121561298357600080fd5b600061298f85856126fd565b925050602083013567ffffffffffffffff8111156129ac57600080fd5b6127d9858286016124c4565b600080604083850312156129cb57600080fd5b60006129d78585612708565b925050602083015167ffffffffffffffff8111156129f457600080fd5b6127d9858286016125a0565b60008060408385031215612a1357600080fd5b60006127c885856126fd565b6000612a2b8383612b5d565b505060200190565b6000612a3f8383613190565b505060400190565b612a508161365c565b82525050565b612a508161362a565b6000612a6a8261361d565b612a748185613621565b9350612a7f83613617565b8060005b83811015612aad578151612a978882612a1f565b9750612aa283613617565b925050600101612a83565b509495945050505050565b6000612ac38261361d565b612acd8185613621565b9350612ad883613617565b8060005b83811015612aad578151612af08882612a33565b9750612afb83613617565b925050600101612adc565b6000612b118261361d565b612b1b8185613621565b9350612b2683613617565b8060005b83811015612aad578151612b3e8882612a1f565b9750612b4983613617565b925050600101612b2a565b612a5081613635565b612a5081610541565b612a50612b7282610541565b610541565b6000612b828261361d565b612b8c8185613621565b9350612b9c81856020860161366e565b612ba58161369a565b9093019392505050565b6000612bba8261361d565b612bc4818561139c565b9350612bd481856020860161366e565b9290920192915050565b612a5081613663565b6000612bf4601883613621565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000612c2d603583613621565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c84601b83613621565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612cbd601483613621565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000612ced602083613621565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000612d26602183613621565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000612d6960118361139c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d96601683613621565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000612dc8601183613621565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000612df5602383613621565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000612e3a601b83613621565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612e73602f83613621565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612ed0601f83613621565b7f4f6e6c79207468652066656520706f6f6c2063616e2063616c6c207468697300815260200192915050565b6000612f09602183613621565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612f4c602a83613621565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612f98601e83613621565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000612fd160198361139c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061300a602483613621565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b6000613050602a83613621565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061309c602a83613621565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006130e8602883613621565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000613132601683613621565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000613164601f83613621565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b805160408301906131a184826131bd565b5060208201516121c76020850182612b5d565b612a5081613646565b612a508161364f565b60006131d28285612b66565b6020820191506131e28284612b66565b5060200192915050565b60006131f88286612b66565b6020820191506132088285612b66565b6020820191506132188284612b66565b506020019392505050565b600061246d8284612baf565b600061323a82612d5c565b91506132468284612b66565b50602001919050565b600061323a82612fc4565b602081016122128284612a56565b606081016132768286612a47565b6132836020830185612a56565b6127836040830184612b5d565b6040810161329e8285612a47565b81810360208301526127838184612b06565b604081016132be8284612a47565b61221260208301612eb7565b606081016132d88286612a56565b6132e56020830185612b5d565b81810360408301526132f78184612ab8565b95945050505050565b6040810161330e8285612a56565b61246d6020830184612a56565b606081016132768286612a56565b606081016133378286612a56565b81810360208301526133498185612b77565b905061278360408301846131b4565b604081016133668285612a56565b61246d6020830184612b5d565b6020808252810161220f8184612a5f565b602081016122128284612b54565b602081016122128284612b5d565b6040810161330e8285612b5d565b606081016133bc8286612b5d565b6132836020830185612a47565b606081016132768286612b5d565b604081016133e58285612b5d565b81810360208301526127838184612a5f565b604081016133668285612b5d565b606081016134138286612b5d565b6132836020830185612b5d565b6040810161342e8285612b5d565b81810360208301526127838184612b77565b602081016122128284612bde565b6020808252810161220f8184612b77565b6020808252810161139981612be7565b6020808252810161139981612c20565b6020808252810161139981612c77565b6020808252810161139981612cb0565b6020808252810161139981612ce0565b6020808252810161139981612d19565b6020808252810161139981612d89565b6020808252810161139981612dbb565b6020808252810161139981612de8565b6020808252810161139981612e2d565b6020808252810161139981612e66565b6020808252810161139981612ec3565b6020808252810161139981612efc565b6020808252810161139981612f3f565b6020808252810161139981612f8b565b6020808252810161139981612ffd565b6020808252810161139981613043565b602080825281016113998161308f565b60208082528101611399816130db565b6020808252810161139981613125565b6020808252810161139981613157565b604081016135bd8285612b5d565b81810360208301526127838184612ab8565b60405181810167ffffffffffffffff811182821017156135ee57600080fd5b604052919050565b600067ffffffffffffffff82111561360d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113998261363a565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611399825b60006113998261362a565b60005b83811015613689578181015183820152602001613671565b838111156121c75750506000910152565b601f01601f191690565b6136ad8161362a565b811461042957600080fd5b6136ad81613635565b6136ad81610541565b6136ad8161364f56fea365627a7a72315820d796b1528dd70ff26b91edcb4a0b33bfd419416e9bc1eb92b3b55789014a684e6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "DepositInitiated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "escrowedAccountBalance", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "endTime", - "type": "uint64" - }, - { - "internalType": "uint256", - "name": "escrowAmount", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct VestingEntries.VestingEntry[]", - "name": "vestingEntries", - "type": "tuple[]" - } - ], - "name": "ExportedVestingEntries", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "snxBackedDebt", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalDebtShares", - "type": "uint256" - } - ], - "name": "FeePeriodClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "FinalizeSynthTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "InitiateSynthTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "InitiationResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "InitiationSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardDepositInitiated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "WithdrawalFinalized", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "snxBackedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalDebtShares", - "type": "uint256" - } - ], - "name": "closeFeePeriod", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "depositAmount", - "type": "uint256" - }, - { - "internalType": "uint256[][]", - "name": "entryIDs", - "type": "uint256[][]" - } - ], - "name": "depositAndMigrateEscrow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "finalizeSynthTransfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "finalizeWithdrawal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "forwardTokensToEscrow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "destination", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "initiateSynthTransfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "initiationActive", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256[][]", - "name": "entryIDs", - "type": "uint256[][]" - } - ], - "name": "migrateEscrow", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "notifyRewardAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeInitiation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "suspendInitiation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthTransferReceived", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthTransferSent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xe21b3031839dcd24207e70d5b99d7ea2de7b826f5c482148f638eebb979c5795", - "urls": [ - "bzz-raw://04c0088161eb7e5a4190be7a2eaea3e3c106bce58bdf18f53fa7e22451b33ca7", - "dweb:/ipfs/QmVU8Bk1NtA5vKyQ2MAPWzevwJg4ips3VosjeuciVJK3oy" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthetixBridgeToOptimism.sol": "SynthetixBridgeToOptimism" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthetixBridgeToOptimism.sol": { - "keccak256": "0xe21b3031839dcd24207e70d5b99d7ea2de7b826f5c482148f638eebb979c5795", - "urls": [ - "bzz-raw://04c0088161eb7e5a4190be7a2eaea3e3c106bce58bdf18f53fa7e22451b33ca7", - "dweb:/ipfs/QmVU8Bk1NtA5vKyQ2MAPWzevwJg4ips3VosjeuciVJK3oy" - ] - } - }, - "version": 1 - } - }, - "SynthetixBridgeEscrow": { - "bytecode": "608060405234801561001057600080fd5b506040516107ab3803806107ab8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506106b1806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631627540c1461005c57806338e499cd1461008457806353a47bb7146100ba57806379ba5097146100de5780638da5cb5b146100e6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100ee565b005b6100826004803603606081101561009a57600080fd5b506001600160a01b0381358116916020810135909116906040013561014a565b6100c26101b7565b604080516001600160a01b039092168252519081900360200190f35b6100826101c6565b6100c2610282565b6100f6610291565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610152610291565b61016c6001600160a01b038416838363ffffffff6102dc16565b604080516001600160a01b038581168252602082018490528251908516927f303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712928290030190a2505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461020f5760405162461bcd60e51b81526004018080602001828103825260358152602001806105b96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146102da5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105ee602f913960400191505060405180910390fd5b565b801580610362575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561033457600080fd5b505afa158015610348573d6000803e3d6000fd5b505050506040513d602081101561035e57600080fd5b5051155b61039d5760405162461bcd60e51b81526004018080602001828103825260368152602001806106476036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526103ef9084906103f4565b505050565b610406826001600160a01b03166105b2565b610457576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104955780518252601f199092019160209182019101610476565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b509150915081610553576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ac5780806020019051602081101561056f57600080fd5b50516105ac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061061d602a913960400191505060405180910390fd5b50505050565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820dc01171f6d9f64c347d00ca946c9eeacbc8f270760c9c7671ce2630e81cd7c2e64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "BridgeApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_bridge", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "approveBridge", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x2c578aff23c7fb3a8365b4d29531c5411ef7ec7df7c248d7b2bdcffd5125d117", - "urls": [ - "bzz-raw://3b8dc2ca11950bfe942f48661b2e1dd43bb1ea8bd5393e6c80bfd8805bee29bd", - "dweb:/ipfs/QmWsWoNpcXBG7XrkBMFo2UnEPmrB4dL9hSVoCxJGbXnra6" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthetixBridgeEscrow.sol": "SynthetixBridgeEscrow" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthetixBridgeEscrow.sol": { - "keccak256": "0x2c578aff23c7fb3a8365b4d29531c5411ef7ec7df7c248d7b2bdcffd5125d117", - "urls": [ - "bzz-raw://3b8dc2ca11950bfe942f48661b2e1dd43bb1ea8bd5393e6c80bfd8805bee29bd", - "dweb:/ipfs/QmWsWoNpcXBG7XrkBMFo2UnEPmrB4dL9hSVoCxJGbXnra6" - ] - } - }, - "version": 1 - } - }, - "OwnerRelayOnEthereum": { - "bytecode": "60806040523480156200001157600080fd5b50604051620016b3380380620016b38339810160408190526200003491620000f4565b600080546001600160a01b0319166001600160a01b038381169190911790915582908116620000805760405162461bcd60e51b81526004016200007790620001b0565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000d09060009084906200018a565b60405180910390a15050506200020b565b8051620000ee81620001f1565b92915050565b600080604083850312156200010857600080fd5b6000620001168585620000e1565b92505060206200012985828601620000e1565b9150509250929050565b6200013e81620001dd565b82525050565b6200013e81620001cb565b60006200015e601983620001c2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200019a828562000133565b620001a9602083018462000144565b9392505050565b60208082528101620000ee816200014f565b90815260200190565b60006001600160a01b038216620000ee565b6000620000ee826000620000ee82620001cb565b620001fc81620001cb565b81146200020857600080fd5b50565b611498806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637418536011610066578063741853601461011357806379ba50971461011b578063899ffef4146101235780638da5cb5b14610138578063e210f042146101405761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d65780634aeda11f146100eb57806353a47bb7146100fe575b600080fd5b6100ab610153565b6040516100b891906112e4565b60405180910390f35b6100d46100cf366004610cde565b610162565b005b6100de6101c0565b6040516100b8919061127f565b6100d46100f9366004610d8c565b6102d6565b61010661041e565b6040516100b891906111b4565b6100d461042d565b6100d4610582565b61012b61061e565b6040516100b8919061126e565b6101066106bd565b6100d461014e366004610d22565b6106cc565b6000546001600160a01b031681565b61016a6107e7565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101b59083906111b4565b60405180910390a150565b600060606101cc61061e565b905060005b81518110156102cc5760008282815181106101e857fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a7219061023790859060040161128d565b60206040518083038186803b15801561024f57600080fd5b505afa158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610d04565b6001600160a01b03161415806102b257506000818152600160205260409020546001600160a01b0316155b156102c357600093505050506102d3565b506001016101d1565b5060019150505b90565b6102de6107e7565b8382146103065760405162461bcd60e51b81526004016102fd90611323565b60405180910390fd5b604051600090606090637a153de960e11b9061032c90899089908990899060240161123d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610368610813565b6001600160a01b0316633dbb202b61037e610833565b8361038887610859565b6040518463ffffffff1660e01b81526004016103a69392919061120e565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b505050507faa86356fa99dddd7d5773ad300a6f8e0213a5a2f3f5dbdd4b696c6746d78ec048787878760405161040d949392919061123d565b60405180910390a150505050505050565b6003546001600160a01b031681565b606061043761061e565b905060005b815181101561057e57600082828151811061045357fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161049491906111a9565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104c09291906112c4565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610d04565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061056c908490849061129b565b60405180910390a1505060010161043c565b5050565b6003546001600160a01b031633146105ac5760405162461bcd60e51b81526004016102fd90611303565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ef926001600160a01b03918216929116906111c2565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60608061062961087f565b6040805160028082526060808301845293945090916020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066b57fe5b602002602001018181525050776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b816001815181106106a057fe5b6020026020010181815250506106b682826108d0565b9250505090565b6002546001600160a01b031681565b6106d46107e7565b60405160009060609063c3c79e5d60e01b906106f8908890889088906024016111e4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610734610813565b6001600160a01b0316633dbb202b61074a610833565b8361075487610859565b6040518463ffffffff1660e01b81526004016107729392919061120e565b600060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050507f0ad3bed4c45a8b7f0de84c5caaea6851b93c0453c25ad26d37077fcf4feb5c448686866040516107d7939291906111e4565b60405180910390a1505050505050565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004016102fd90611313565b565b600061082e6c32bc3a1d26b2b9b9b2b733b2b960991b61098c565b905090565b600061082e776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b61098c565b600063ffffffff82166108755761087060056109e9565b610877565b815b90505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108c157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610900578160200160208202803883390190505b50905060005b83518110156109425783818151811061091b57fe5b602002602001015182828151811061092f57fe5b6020908102919091010152600101610906565b5060005b82518110156109855782818151811061095b57fe5b602002602001015182828651018151811061097257fe5b6020908102919091010152600101610946565b5092915050565b60008181526001602090815260408083205490516001600160a01b0390911691821515916109bc91869101611189565b604051602081830303815290604052906109855760405162461bcd60e51b81526004016102fd91906112f2565b60006109f3610a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610a1c85610aa6565b6040518363ffffffff1660e01b8152600401610a399291906112a9565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108779190810190610e12565b600061082e6e466c657869626c6553746f7261676560881b61098c565b600080826005811115610ab557fe5b1415610ae257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061087a565b6001826005811115610af057fe5b1415610b1d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061087a565b6002826005811115610b2b57fe5b1415610b5857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061087a565b6003826005811115610b6657fe5b1415610b9357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061087a565b6005826005811115610ba157fe5b1415610bce57507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061087a565b6004826005811115610bdc57fe5b1415610c0957507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061087a565b60405162461bcd60e51b81526004016102fd90611333565b8035610c2c8161142c565b92915050565b8051610c2c8161142c565b60008083601f840112610c4f57600080fd5b50813567ffffffffffffffff811115610c6757600080fd5b602083019150836020820283011115610c7f57600080fd5b9250929050565b60008083601f840112610c9857600080fd5b50813567ffffffffffffffff811115610cb057600080fd5b602083019150836001820283011115610c7f57600080fd5b8051610c2c81611443565b8035610c2c8161144c565b600060208284031215610cf057600080fd5b6000610cfc8484610c21565b949350505050565b600060208284031215610d1657600080fd5b6000610cfc8484610c32565b60008060008060608587031215610d3857600080fd5b6000610d448787610c21565b945050602085013567ffffffffffffffff811115610d6157600080fd5b610d6d87828801610c86565b93509350506040610d8087828801610cd3565b91505092959194509250565b600080600080600060608688031215610da457600080fd5b853567ffffffffffffffff811115610dbb57600080fd5b610dc788828901610c3d565b9550955050602086013567ffffffffffffffff811115610de657600080fd5b610df288828901610c3d565b93509350506040610e0588828901610cd3565b9150509295509295909350565b600060208284031215610e2457600080fd5b6000610cfc8484610cc8565b6000610e3c8383610e5d565b505060200190565b6000610e3c8383610f8a565b6000610cfc848484610fa4565b610e66816113b6565b82525050565b6000610e78838561134d565b9350610e83826102d3565b8060005b85811015610eb957610e998284611356565b610ea38882610e30565b9750610eae83611343565b925050600101610e87565b509495945050505050565b6000610ecf82611349565b610ed9818561134d565b9350610ee483611343565b8060005b83811015610eb9578151610efc8882610e44565b9750610f0783611343565b925050600101610ee8565b6000610f1e838561134d565b935083602084028501610f30846102d3565b8060005b87811015610f74578484038952610f4b8284611365565b610f56868284610e50565b9550610f6184611343565b60209b909b019a93505050600101610f34565b5091979650505050505050565b610e66816113c1565b610e66816102d3565b610e66610f9f826102d3565b6102d3565b6000610fb0838561134d565b9350610fbd8385846113e6565b610fc683611422565b9093019392505050565b6000610fdb82611349565b610fe5818561134d565b9350610ff58185602086016113f2565b610fc681611422565b610e66816113db565b600061101460358361134d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061106b60118361087a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611098602f8361134d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006110e960198361087a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061112260188361134d565b7f417267756d656e74206c656e677468206d69736d617463680000000000000000815260200192915050565b600061115b60168361134d565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b610e66816113d2565b60006111948261105e565b91506111a08284610f93565b50602001919050565b6000611194826110dc565b60208101610c2c8284610e5d565b604081016111d08285610e5d565b6111dd6020830184610e5d565b9392505050565b604081016111f28286610e5d565b8181036020830152611205818486610fa4565b95945050505050565b6060810161121c8286610e5d565b818103602083015261122e8185610fd0565b9050610cfc6040830184611180565b6040808252810161124f818688610e6c565b90508181036020830152611264818486610f12565b9695505050505050565b602080825281016111dd8184610ec4565b60208101610c2c8284610f81565b60208101610c2c8284610f8a565b604081016111d08285610f8a565b604081016112b78285610f8a565b6111dd6020830184610f8a565b604081016112d28285610f8a565b8181036020830152610cfc8184610fd0565b60208101610c2c8284610ffe565b602080825281016111dd8184610fd0565b6020808252810161087781611007565b602080825281016108778161108b565b6020808252810161087781611115565b602080825281016108778161114e565b60200190565b5190565b90815260200190565b60006111dd6020840184610c21565b6000808335601e193685900301811261137d57600080fd5b83810160208101935035915067ffffffffffffffff82111561139e57600080fd5b368290038413156113ae57600080fd5b509250929050565b6000610877826113c6565b151590565b6001600160a01b031690565b63ffffffff1690565b6000610877826113b6565b82818337506000910152565b60005b8381101561140d5781810151838201526020016113f5565b8381111561141c576000848401525b50505050565b601f01601f191690565b611435816113b6565b811461144057600080fd5b50565b611435816102d3565b611435816113d256fea365627a7a72315820161137fd8208121567646edb9a0d92d063c6a2e135d7e624e5b14c412996a76f6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - } - ], - "name": "RelayBatchInitiated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "RelayInitiated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "uint32", - "name": "crossDomainGasLimit", - "type": "uint32" - } - ], - "name": "initiateRelay", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "uint32", - "name": "crossDomainGasLimit", - "type": "uint32" - } - ], - "name": "initiateRelayBatch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x539cfc8bd2d5c33b0e4c65bcb3da621ad1bfdbfffbb3a392f13717d67c17addc", - "urls": [ - "bzz-raw://20fa12d51e5a3af3d4a796d5e419a81b600fea58eed8d1d366ad5a9c068b0393", - "dweb:/ipfs/QmVNa7yb2uJLumvEwLXJqZ4cZ9sjmwPcybUEVqorRADHrg" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "OwnerRelayOnEthereum.sol": "OwnerRelayOnEthereum" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "OwnerRelayOnEthereum.sol": { - "keccak256": "0x539cfc8bd2d5c33b0e4c65bcb3da621ad1bfdbfffbb3a392f13717d67c17addc", - "urls": [ - "bzz-raw://20fa12d51e5a3af3d4a796d5e419a81b600fea58eed8d1d366ad5a9c068b0393", - "dweb:/ipfs/QmVNa7yb2uJLumvEwLXJqZ4cZ9sjmwPcybUEVqorRADHrg" - ] - } - }, - "version": 1 - } - }, - "DebtMigratorOnEthereum": { - "bytecode": "60806040523480156200001157600080fd5b50604051620024f7380380620024f7833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b6122d080620002276000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063698a26b211610097578063899ffef411610066578063899ffef41461019c5780638da5cb5b146101b1578063c7421c12146101b9578063e0d39172146101cc576100f5565b8063698a26b21461017c578063741853601461018457806379ba50971461018c57806388c4ca6f14610194576100f5565b80632af64bd3116100d35780632af64bd3146101425780633872dda31461014a57806353a47bb714610152578063614d08f814610167576100f5565b806304f3bcec146100fa578063100be6d4146101185780631627540c1461012d575b600080fd5b6101026101d4565b60405161010f91906120cb565b60405180910390f35b6101206101e3565b60405161010f919061204b565b61014061013b36600461192b565b6101ec565b005b61012061024a565b610140610362565b61015a6103ca565b60405161010f9190611f53565b61016f6103d9565b60405161010f9190612059565b6101406103f6565b610140610459565b6101406105af565b61016f61064b565b6101a461072c565b60405161010f919061203a565b61015a610859565b6101406101c736600461192b565b610868565b61016f6108a4565b6002546001600160a01b031681565b60045460ff1681565b6101f46108d8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061023f908390611f53565b60405180910390a150565b6000606061025661072c565b905060005b815181101561035857600082828151811061027257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102c3908590600401612059565b60206040518083038186803b1580156102db57600080fd5b505afa1580156102ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103139190810190611951565b6001600160a01b031614158061033e57506000818152600360205260409020546001600160a01b0316155b1561034f576000935050505061035f565b5060010161025b565b5060019150505b90565b61036a6108d8565b60045460ff166103955760405162461bcd60e51b815260040161038c9061212a565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6001546001600160a01b031681565b75446562744d69677261746f724f6e457468657265756d60501b90565b6103fe6108d8565b60045460ff16156104215760405162461bcd60e51b815260040161038c906120ea565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b606061046361072c565b905060005b81518110156105ab57600082828151811061047f57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104c19190611f48565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104ed9291906120ab565b60206040518083038186803b15801561050557600080fd5b505afa158015610519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061053d9190810190611951565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105999084908490612067565b60405180910390a15050600101610468565b5050565b6001546001600160a01b031633146105d95760405162461bcd60e51b815260040161038c9061210a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261061c926001600160a01b0391821692911690611f61565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000806b2232b13a2a3930b739b332b960a11b6314d95b9d60e21b6253445360e81b60405160200161067f93929190611ef1565b60405160208183030381529060405280519060200120905060006106a1610904565b6001600160a01b03166323257c2b6106b76103d9565b846040518363ffffffff1660e01b81526004016106d5929190612075565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610725919081019061198d565b9250505090565b606080610737610926565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b8160008151811061078957fe5b602002602001018181525050692634b8bab4b230ba37b960b11b816001815181106107b057fe5b602002602001018181525050704c697175696461746f725265776172647360781b816002815181106107de57fe5b6020026020010181815250507853796e746865746978427269646765546f4f7074696d69736d60381b8160038151811061081457fe5b6020026020010181815250507153796e74686574697844656274536861726560701b8160048151811061084357fe5b60200260200101818152505061072582826109ea565b6000546001600160a01b031681565b610870610aa6565b336001600160a01b038216146108985760405162461bcd60e51b815260040161038c9061215a565b6108a181610ac8565b50565b6000806b2232b13a2a3930b739b332b960a11b632932b1bb60e11b6253445360e81b60405160200161067f93929190611ef1565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161038c9061216a565b565b60006109216e466c657869626c6553746f7261676560881b61137e565b905090565b6060806109316113e4565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061097657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b816001815181106109a157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106109c457fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061084357fe5b60608151835101604051908082528060200260200182016040528015610a1a578160200160208202803883390190505b50905060005b8351811015610a5c57838181518110610a3557fe5b6020026020010151828281518110610a4957fe5b6020908102919091010152600101610a20565b5060005b8251811015610a9f57828181518110610a7557fe5b6020026020010151828286510181518110610a8c57fe5b6020908102919091010152600101610a60565b5092915050565b60045460ff166109025760405162461bcd60e51b815260040161038c9061214a565b610ad0611435565b6001600160a01b031663952225f38260006040518363ffffffff1660e01b8152600401610afe929190611f83565b60206040518083038186803b158015610b1657600080fd5b505afa158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4e919081019061196f565b15610b6b5760405162461bcd60e51b815260040161038c9061213a565b610b7361144d565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401610b9e9190611f53565b600060405180830381600087803b158015610bb857600080fd5b505af1158015610bcc573d6000803e3d6000fd5b505050506000610bda61146c565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610c0a9190611f53565b60206040518083038186803b158015610c2257600080fd5b505afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5a919081019061198d565b905060008111610c7c5760405162461bcd60e51b815260040161038c9061217a565b610c8d6314d95b9d60e21b8261148c565b610c956115e5565b6001600160a01b03166380aa6a9184836040518363ffffffff1660e01b8152600401610cc2929190611fcd565b600060405180830381600087803b158015610cdc57600080fd5b505af1158015610cf0573d6000803e3d6000fd5b50505050600080610d0c680a6f2dce8d0cae8d2f60bb1b61137e565b6001600160a01b03166384358843866040518263ffffffff1660e01b8152600401610d379190611f53565b6040805180830381600087803b158015610d5057600080fd5b505af1158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d8891908101906119ab565b90925090506000610d9f828463ffffffff6115f916565b905060008111610dc15760405162461bcd60e51b815260040161038c9061219a565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a72190610e0f90796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b90600401612059565b60206040518083038186803b158015610e2757600080fd5b505afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e5f9190810190611951565b6001600160a01b03161415610e865760405162461bcd60e51b815260040161038c906121da565b610e8e611627565b6001600160a01b031663095ea7b3610ea461163e565b836040518363ffffffff1660e01b8152600401610ec2929190611fcd565b602060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f14919081019061196f565b50610f1d61163e565b6001600160a01b031663ffaad6a5610f33611665565b836040518363ffffffff1660e01b8152600401610f51929190611fcd565b600060405180830381600087803b158015610f6b57600080fd5b505af1158015610f7f573d6000803e3d6000fd5b50505050610f8b61146c565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610fb69190611f53565b60206040518083038186803b158015610fce57600080fd5b505afa158015610fe2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611006919081019061198d565b156110235760405162461bcd60e51b815260040161038c9061218a565b61102b611627565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110569190611f53565b60206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110a6919081019061198d565b156110c35760405162461bcd60e51b815260040161038c906121ba565b6110cb61168d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110f69190611f53565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611146919081019061198d565b156111635760405162461bcd60e51b815260040161038c906121aa565b61116b61144d565b6001600160a01b0316628cc262876040518263ffffffff1660e01b81526004016111959190611f53565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111e5919081019061198d565b156112025760405162461bcd60e51b815260040161038c906120fa565b6040516000906060906380aa6a9160e01b90611224908a908990602401611fcd565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290519091506000906060906308f40ad760e21b90611280908c908b908b908b908990602401611fe8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506112bc6116a9565b6001600160a01b0316633dbb202b6112d2611665565b836112dd60006116c4565b6040518463ffffffff1660e01b81526004016112fb93929190611f9e565b600060405180830381600087803b15801561131557600080fd5b505af1158015611329573d6000803e3d6000fd5b50505050896001600160a01b03167f1723685f7b2b8753c5fbe69698cf139b15c3b43321e256a9c08a60226a2c1e5e89898960405161136a93929190612083565b60405180910390a250505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916113ae91869101611f28565b604051602081830303815290604052906113db5760405162461bcd60e51b815260040161038c91906120d9565b5090505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061142657fe5b60200260200101818152505090565b6000610921692634b8bab4b230ba37b960b11b61137e565b6000610921704c697175696461746f725265776172647360781b61137e565b60006109217153796e74686574697844656274536861726560701b61137e565b60006b2232b13a2a3930b739b332b960a11b836253445360e81b6040516020016114b893929190611ef1565b60405160208183030381529060405280519060200120905060006114da610904565b6001600160a01b03166323257c2b6114f06103d9565b846040518363ffffffff1660e01b815260040161150e929190612075565b60206040518083038186803b15801561152657600080fd5b505afa15801561153a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061155e919081019061198d565b9050611568610904565b6001600160a01b0316631d5b277f61157e6103d9565b8461158f858863ffffffff6115f916565b6040518463ffffffff1660e01b81526004016115ad93929190612083565b600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b5050505050505050565b60006109216524b9b9bab2b960d11b61137e565b60008282018381101561161e5760405162461bcd60e51b815260040161038c9061211a565b90505b92915050565b6000610921680a6f2dce8d0cae8d2f60bb1b61137e565b60006109217853796e746865746978427269646765546f4f7074696d69736d60381b61137e565b6000610921796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b61137e565b60006109216d2932bbb0b93222b9b1b937bbab1960911b61137e565b60006109216c32bc3a1d26b2b9b9b2b733b2b960991b61137e565b600063ffffffff82166116e0576116db60056116e4565b611621565b5090565b60006116ee610904565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61171785611784565b6040518363ffffffff1660e01b8152600401611734929190612075565b60206040518083038186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611621919081019061198d565b60008082600581111561179357fe5b14156117c057507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006113df565b60018260058111156117ce57fe5b14156117fb57507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006113df565b600282600581111561180957fe5b141561183657507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006113df565b600382600581111561184457fe5b141561187157507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006113df565b600582600581111561187f57fe5b14156118ac57507f63726f7373446f6d61696e52656c61794761734c696d697400000000000000006113df565b60048260058111156118ba57fe5b14156118e757507f63726f7373446f6d61696e436c6f73654761734c696d697400000000000000006113df565b60405162461bcd60e51b815260040161038c906121ca565b803561162181612267565b805161162181612267565b80516116218161227b565b805161162181612284565b60006020828403121561193d57600080fd5b600061194984846118ff565b949350505050565b60006020828403121561196357600080fd5b6000611949848461190a565b60006020828403121561198157600080fd5b60006119498484611915565b60006020828403121561199f57600080fd5b60006119498484611920565b600080604083850312156119be57600080fd5b60006119ca8585611920565b92505060206119db85828601611920565b9150509250929050565b60006119f18383611a6a565b505060200190565b611a02816121fd565b82525050565b6000611a13826121f0565b611a1d81856121f4565b9350611a28836121ea565b8060005b83811015611a56578151611a4088826119e5565b9750611a4b836121ea565b925050600101611a2c565b509495945050505050565b611a0281612208565b611a028161035f565b611a02611a7f8261035f565b61035f565b6000611a8f826121f0565b611a9981856121f4565b9350611aa981856020860161222d565b611ab28161225d565b9093019392505050565b611a0281612222565b6000611ad26018836121f4565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000611b0b601a836121f4565b7f4561726e65642062616c616e6365206973206e6f74207a65726f000000000000815260200192915050565b6000611b446035836121f4565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611b9b601b836121f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611bd46014836121f4565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000611c046026836121f4565b7f43616e6e6f74206d696772617465206966206f70656e20666f72206c697175698152653230ba34b7b760d11b602082015260400192915050565b6000611c4c6011836113df565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611c796016836121f4565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000611cab6019836121f4565b7f4d75737420626520746865206163636f756e74206f776e657200000000000000815260200192915050565b6000611ce4602f836121f4565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611d356012836121f4565b714e6f206465627420746f206d69677261746560701b815260200192915050565b6000611d63601e836121f4565b7f446562742073686172652062616c616e6365206973206e6f74207a65726f0000815260200192915050565b6000611d9c601c836121f4565b7f43616e6e6f74206d696772617465207a65726f2062616c616e63657300000000815260200192915050565b6000611dd56019836113df565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e0e601b836121f4565b7f457363726f772062616c616e616365206973206e6f74207a65726f0000000000815260200192915050565b6000611e476017836121f4565b7f534e582062616c616e6365206973206e6f74207a65726f000000000000000000815260200192915050565b6000611e806016836121f4565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000611eb26021836121f4565b7f44656274204d69677261746f72204f6e204f7074696d69736d206e6f742073658152601d60fa1b602082015260400192915050565b611a0281612219565b6000611efd8286611a73565b602082019150611f0d8285611a73565b602082019150611f1d8284611a73565b506020019392505050565b6000611f3382611c3f565b9150611f3f8284611a73565b50602001919050565b6000611f3382611dc8565b6020810161162182846119f9565b60408101611f6f82856119f9565b611f7c60208301846119f9565b9392505050565b60408101611f9182856119f9565b611f7c6020830184611a61565b60608101611fac82866119f9565b8181036020830152611fbe8185611a84565b90506119496040830184611ee8565b60408101611fdb82856119f9565b611f7c6020830184611a6a565b60a08101611ff682886119f9565b6120036020830187611a6a565b6120106040830186611a6a565b61201d6060830185611a6a565b818103608083015261202f8184611a84565b979650505050505050565b60208082528101611f7c8184611a08565b602081016116218284611a61565b602081016116218284611a6a565b60408101611f6f8285611a6a565b60408101611fdb8285611a6a565b606081016120918286611a6a565b61209e6020830185611a6a565b6119496040830184611a6a565b604081016120b98285611a6a565b81810360208301526119498184611a84565b602081016116218284611abc565b60208082528101611f7c8184611a84565b6020808252810161162181611ac5565b6020808252810161162181611afe565b6020808252810161162181611b37565b6020808252810161162181611b8e565b6020808252810161162181611bc7565b6020808252810161162181611bf7565b6020808252810161162181611c6c565b6020808252810161162181611c9e565b6020808252810161162181611cd7565b6020808252810161162181611d28565b6020808252810161162181611d56565b6020808252810161162181611d8f565b6020808252810161162181611e01565b6020808252810161162181611e3a565b6020808252810161162181611e73565b6020808252810161162181611ea5565b60200190565b5190565b90815260200190565b60006116218261220d565b151590565b6001600160a01b031690565b63ffffffff1690565b6000611621826121fd565b60005b83811015612248578181015183820152602001612230565b83811115612257576000848401525b50505050565b601f01601f191690565b612270816121fd565b81146108a157600080fd5b61227081612208565b6122708161035f56fea365627a7a72315820653080fa02791257c34995e14cbf009fc358277628087a847efb41c723a3fb276c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "InitiationResumed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "InitiationSuspended", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalDebtSharesMigrated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalEscrowMigrated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalLiquidBalanceMigrated", - "type": "uint256" - } - ], - "name": "MigrationInitiated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "debtTransferReceived", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "debtTransferSent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "initiationActive", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "migrateDebt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "resumeInitiation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "suspendInitiation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x3ffe9ab02eef6c60dfad1834332d528409856c2ee6e0d78143ef93267b2c4e87", - "urls": [ - "bzz-raw://7275e3e978e61764b4504fe45797dab18b32b6cd1d56d90850e98a4117492751", - "dweb:/ipfs/QmNuHbSk962nCp8iJozUoAi5tDyYnt711Fespet3rQCbLp" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "DebtMigratorOnEthereum.sol": "DebtMigratorOnEthereum" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "DebtMigratorOnEthereum.sol": { - "keccak256": "0x3ffe9ab02eef6c60dfad1834332d528409856c2ee6e0d78143ef93267b2c4e87", - "urls": [ - "bzz-raw://7275e3e978e61764b4504fe45797dab18b32b6cd1d56d90850e98a4117492751", - "dweb:/ipfs/QmNuHbSk962nCp8iJozUoAi5tDyYnt711Fespet3rQCbLp" - ] - } - }, - "version": 1 - } - }, - "SynthRedeemer": { - "bytecode": "608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820e12c9e504f6edf877a2a72600a7c6dd84a86f736ed8a6f378a4e807f4292b2b364736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "synth", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rateToRedeem", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalSynthSupply", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "supplyInsUSD", - "type": "uint256" - } - ], - "name": "SynthDeprecated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "synth", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountOfSynth", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountInsUSD", - "type": "uint256" - } - ], - "name": "SynthRedeemed", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "synthProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balanceInsUSD", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "synthProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "rateToRedeem", - "type": "uint256" - } - ], - "name": "deprecate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "synthProxy", - "type": "address" - } - ], - "name": "redeem", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20[]", - "name": "synthProxies", - "type": "address[]" - } - ], - "name": "redeemAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "synthProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOfSynth", - "type": "uint256" - } - ], - "name": "redeemPartial", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "redemptions", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "synthProxy", - "type": "address" - } - ], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supplyInsUSD", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f", - "urls": [ - "bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110", - "dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthRedeemer.sol": "SynthRedeemer" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthRedeemer.sol": { - "keccak256": "0x351814948aec8d4202e2c0afdb2e906930ea91648302cc252949306ccc86b98f", - "urls": [ - "bzz-raw://bff33d0b929824a2cea043ffefba4ef8ad3136c75362d8a6b0b10e8eb65dc110", - "dweb:/ipfs/QmTtURL112x4W1LdAaripV3xpEGspb1K1vFiLhdp3TBMoN" - ] - } - }, - "version": 1 - } - }, - "WrapperFactory": { - "bytecode": "60806040523480156200001157600080fd5b5060405162003ead38038062003ead8339810160408190526200003491620000fa565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f90620001b6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000190565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002119050565b8051620000f481620001f7565b92915050565b600080604083850312156200010e57600080fd5b60006200011c8585620000e7565b92505060206200012f85828601620000e7565b9150509250929050565b6200014481620001e3565b82525050565b6200014481620001d1565b600062000164601983620001c8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a0828562000139565b620001af60208301846200014a565b9392505050565b60208082528101620000f48162000155565b90815260200190565b60006001600160a01b038216620000f4565b6000620000f4826000620000f482620001d1565b6200020281620001d1565b81146200020e57600080fd5b50565b613c8c80620002216000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b1462000232578063a106935d146200024a578063bb57ad20146200026f578063e0aa2797146200028757620000d4565b806375d920a914620001db57806379ba509714620001f3578063899ffef4146200020b57620000d4565b806304f3bcec14620000f75780631627540c14620001275780632af64bd3146200014e57806353a47bb71462000175578063614d08f8146200019c5780637418536014620001c3575b60405162461bcd60e51b8152600401620000ee90620011cf565b60405180910390fd5b3480156200010457600080fd5b506200010f620002ac565b6040516200011e919062001176565b60405180910390f35b3480156200013457600080fd5b506200014c6200014636600462000c73565b620002bb565b005b3480156200015b57600080fd5b50620001666200031d565b6040516200011e9190620010e4565b3480156200018257600080fd5b506200018d62000443565b6040516200011e91906200101d565b348015620001a957600080fd5b50620001b462000452565b6040516200011e9190620010f4565b348015620001d057600080fd5b506200014c62000467565b348015620001e857600080fd5b50620001b4620005cc565b3480156200020057600080fd5b506200014c6200065e565b3480156200021857600080fd5b5062000223620006ff565b6040516200011e9190620010d1565b3480156200023f57600080fd5b506200018d6200079d565b3480156200025757600080fd5b506200018d6200026936600462000cde565b620007ac565b3480156200027c57600080fd5b506200014c6200093b565b3480156200029457600080fd5b5062000166620002a636600462000c73565b62000a83565b6002546001600160a01b031681565b620002c562000b2f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290620003129083906200101d565b60405180910390a150565b600060606200032b620006ff565b905060005b8151811015620004395760008282815181106200034957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906200039c908590600401620010f4565b60206040518083038186803b158015620003b557600080fd5b505afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003f0919081019062000c9c565b6001600160a01b03161415806200041c57506000818152600360205260409020546001600160a01b0316155b156200042f576000935050505062000440565b5060010162000330565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b606062000473620006ff565b905060005b8151811015620005c85760008282815181106200049157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001620004d5919062001010565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200050392919062001152565b60206040518083038186803b1580156200051c57600080fd5b505afa15801562000531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000557919081019062000c9c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890620005b5908490849062001104565b60405180910390a1505060010162000478565b5050565b6000620005d862000b5e565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016200060591906200102d565b60206040518083038186803b1580156200061e57600080fd5b505afa15801562000633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000659919081019062000d32565b905090565b6001546001600160a01b031633146200068b5760405162461bcd60e51b8152600401620000ee9062001199565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92620006d0926001600160a01b03918216929116906200103d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200073c57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200076957fe5b60200260200101818152505066119959541bdbdb60ca1b816002815181106200078e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620007b862000b2f565b600080546002546040516001600160a01b039283169290911690879087908790620007e39062000c11565b620007f39594939291906200105c565b604051809103906000f08015801562000810573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200084f57600080fd5b505af115801562000864573d6000803e3d6000fd5b505050506200087262000b77565b604051631d5b277f60e01b81526001600160a01b0391821691631d5b277f91620008b9916d57726170706572466163746f727960901b919086169060019060040162001124565b600060405180830381600087803b158015620008d457600080fd5b505af1158015620008e9573d6000803e3d6000fd5b5050505083856001600160a01b03167f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e836040516200092991906200102d565b60405180910390a390505b9392505050565b600062000947620005cc565b9050801562000a805760006200095c62000b5e565b6001600160a01b031663a9059cbb6200097462000b96565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015620009ad57600080fd5b505afa158015620009c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620009e8919081019062000c9c565b846040518363ffffffff1660e01b815260040162000a08929190620010b2565b602060405180830381600087803b15801562000a2357600080fd5b505af115801562000a38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000a5e919081019062000cbd565b905080620005c85760405162461bcd60e51b8152600401620000ee90620011ab565b50565b60008062000a9062000b77565b6040516323257c2b60e01b81526001600160a01b03918216916323257c2b9162000ad4916d57726170706572466163746f727960901b919088169060040162001114565b60206040518083038186803b15801562000aed57600080fd5b505afa15801562000b02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000b28919081019062000d32565b1192915050565b6000546001600160a01b0316331462000b5c5760405162461bcd60e51b8152600401620000ee90620011bd565b565b6000620006596814de5b9d1a1cd554d160ba1b62000ba8565b6000620006596e466c657869626c6553746f7261676560881b62000ba8565b60006200065966119959541bdbdb60ca1b5b60008181526003602090815260408083205490516001600160a01b03909116918215159162000bda9186910162000fec565b6040516020818303038152906040529062000c0a5760405162461bcd60e51b8152600401620000ee919062001186565b5092915050565b6129a380620012a783390190565b803562000c2c816200126e565b92915050565b805162000c2c816200126e565b805162000c2c8162001285565b803562000c2c8162001290565b803562000c2c816200129b565b805162000c2c8162001290565b60006020828403121562000c8657600080fd5b600062000c94848462000c1f565b949350505050565b60006020828403121562000caf57600080fd5b600062000c94848462000c32565b60006020828403121562000cd057600080fd5b600062000c94848462000c3f565b60008060006060848603121562000cf457600080fd5b600062000d02868662000c59565b935050602062000d158682870162000c4c565b925050604062000d288682870162000c4c565b9150509250925092565b60006020828403121562000d4557600080fd5b600062000c94848462000c66565b600062000d61838362000df5565b505060200190565b62000d748162001224565b82525050565b62000d7481620011f9565b600062000d9282620011e7565b62000d9e8185620011eb565b935062000dab83620011e1565b8060005b8381101562000ddf57815162000dc6888262000d53565b975062000dd383620011e1565b92505060010162000daf565b509495945050505050565b62000d748162001206565b62000d748162000440565b62000d7462000e0f8262000440565b62000440565b62000d74816200120b565b600062000e2d82620011e7565b62000e398185620011eb565b935062000e4b81856020860162001231565b62000e568162001264565b9093019392505050565b600062000e6f603583620011eb565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600062000ec8601183620011f4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600062000ef7601883620011eb565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b600062000f32602f83620011eb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600062000f85601983620011f4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600062000fc0601783620011eb565b7f436f6e7472616374206973206e6f742070617961626c65000000000000000000815260200192915050565b600062000ff98262000eb9565b915062001007828462000e00565b50602001919050565b600062000ff98262000f76565b6020810162000c2c828462000d7a565b6020810162000c2c828462000d69565b604081016200104d828562000d7a565b62000934602083018462000d7a565b60a081016200106c828862000d7a565b6200107b602083018762000d7a565b6200108a604083018662000e15565b62001099606083018562000df5565b620010a8608083018462000df5565b9695505050505050565b60408101620010c2828562000d7a565b62000934602083018462000df5565b6020808252810162000934818462000d85565b6020810162000c2c828462000dea565b6020810162000c2c828462000df5565b604081016200104d828562000df5565b60408101620010c2828562000df5565b6060810162001134828662000df5565b62001143602083018562000df5565b62000c94604083018462000df5565b6040810162001162828562000df5565b818103602083015262000c94818462000e20565b6020810162000c2c828462000e15565b6020808252810162000934818462000e20565b6020808252810162000c2c8162000e60565b6020808252810162000c2c8162000ee8565b6020808252810162000c2c8162000f23565b6020808252810162000c2c8162000fb1565b60200190565b5190565b90815260200190565b919050565b600062000c2c8262001218565b151590565b600062000c2c82620011f9565b6001600160a01b031690565b600062000c2c826200120b565b60005b838110156200124e57818101518382015260200162001234565b838111156200125e576000848401525b50505050565b601f01601f191690565b6200127981620011f9565b811462000a8057600080fd5b620012798162001206565b620012798162000440565b62001279816200120b56fe60806040523480156200001157600080fd5b50604051620029a3380380620029a38339810160408190526200003491620001f7565b8380866001600160a01b038116620000695760405162461bcd60e51b8152600401620000609062000388565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000331565b60405180910390a1506000546001600160a01b0316620000ea5760405162461bcd60e51b8152600401620000609062000376565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060085560405163095ea7b360e01b81529116915063095ea7b3906200015b9030906000199060040162000357565b602060405180830381600087803b1580156200017657600080fd5b505af11580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001b1919081019062000277565b50505050505062000419565b8051620001ca81620003de565b92915050565b8051620001ca81620003f8565b8051620001ca8162000403565b8051620001ca816200040e565b600080600080600060a086880312156200021057600080fd5b60006200021e8888620001bd565b95505060206200023188828901620001bd565b94505060406200024488828901620001ea565b93505060606200025788828901620001dd565b92505060806200026a88828901620001dd565b9150509295509295909350565b6000602082840312156200028a57600080fd5b6000620002988484620001d0565b949350505050565b620002ab81620003d1565b82525050565b620002ab81620003a3565b6000620002cb6011836200039a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002fa6019836200039a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620002ab81620003b5565b60408101620003418285620002a0565b620003506020830184620002b1565b9392505050565b60408101620003678285620002a0565b62000350602083018462000326565b60208082528101620001ca81620002bc565b60208082528101620001ca81620002eb565b90815260200190565b6000620001ca82620003c5565b151590565b90565b6000620001ca82620003a3565b6001600160a01b031690565b6000620001ca82620003b8565b620003e981620003a3565b8114620003f557600080fd5b50565b620003e981620003b0565b620003e981620003b5565b620003e981620003b8565b61257a80620004296000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d68146103d1578063dbd06c85146103f1578063ee5f3f5c14610406578063fc0c546a1461041b57610166565b80638a926d0f146103925780638da5cb5b146103a757806391b4ded9146103bc57610166565b80635c975abb146102fc5780635cfc1a51146103115780636ad8826914610326578063741853601461034657806379ba50971461035b578063899ffef41461037057610166565b80631f23a352116101235780631f23a352146102405780632af64bd31461025557806342966c6814610277578063509bf42a1461029757806353a47bb7146102ac5780635c095e54146102ce57610166565b806304f3bcec146101875780630902f1ac146101b25780631627540c146101d457806316c38b3c146101f657806317c943bc1461021657806318819a311461022b575b60405162461bcd60e51b815260040161017e90612393565b60405180910390fd5b34801561019357600080fd5b5061019c610430565b6040516101a99190612364565b60405180910390f35b3480156101be57600080fd5b506101c7610444565b6040516101a991906122ff565b3480156101e057600080fd5b506101f46101ef366004611c2a565b6104cb565b005b34801561020257600080fd5b506101f4610211366004611c6e565b610529565b34801561022257600080fd5b506101c761059e565b34801561023757600080fd5b506101c76105a4565b34801561024c57600080fd5b506101c76105af565b34801561026157600080fd5b5061026a6105b5565b6040516101a991906122f1565b34801561028357600080fd5b506101f4610292366004611cc8565b6106d1565b3480156102a357600080fd5b506101c7610b13565b3480156102b857600080fd5b506102c1610b1e565b6040516101a9919061223d565b3480156102da57600080fd5b506102ee6102e9366004611cc8565b610b2d565b6040516101a9929190612463565b34801561030857600080fd5b5061026a610b82565b34801561031d57600080fd5b506101c7610b8b565b34801561033257600080fd5b506102ee610341366004611cc8565b610bcd565b34801561035257600080fd5b506101f4610bda565b34801561036757600080fd5b506101f4610d30565b34801561037c57600080fd5b50610385610dcc565b6040516101a991906122e0565b34801561039e57600080fd5b506101c7610eee565b3480156103b357600080fd5b506102c1610ef9565b3480156103c857600080fd5b506101c7610f08565b3480156103dd57600080fd5b506101f46103ec366004611cc8565b610f0e565b3480156103fd57600080fd5b506101c761126d565b34801561041257600080fd5b506101c7611273565b34801561042757600080fd5b5061019c6112b7565b60035461010090046001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a082319061047590309060040161224b565b60206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104c59190810190611caa565b90505b90565b6104d36112c6565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061051e90839061223d565b60405180910390a150565b6105316112c6565b60035460ff16151581151514156105475761059b565b6003805460ff1916821515179081905560ff161561056457426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161051e9160ff909116906122f1565b50565b60085481565b60006104c5306112f2565b60075481565b600060606105c1610dcc565b905060005b81518110156106c85760008282815181106105dd57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610633918691016122ff565b60206040518083038186803b15801561064b57600080fd5b505afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106839190810190611c50565b6001600160a01b03161415806106ae57506000818152600460205260409020546001600160a01b0316155b156106bf57600093505050506104c8565b506001016105c6565b50600191505090565b60035460ff16156106f45760405162461bcd60e51b815260040161017e90612433565b6106fc6113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506107546113e7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040161077f919061224b565b60206040518083038186803b15801561079757600080fd5b505afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107cf9190810190611caa565b8111156107ee5760405162461bcd60e51b815260040161017e90612423565b6107f66113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b815260040161082391906122ff565b60206040518083038186803b15801561083b57600080fd5b505afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108739190810190611c8c565b156108905760405162461bcd60e51b815260040161017e906123c3565b600061089a611273565b116108b75760405162461bcd60e51b815260040161017e90612453565b6000806108c5600854610bcd565b9150915060008082156109935784600854106108e157846108f4565b6008546108f4908563ffffffff61140f16565b915061098c610901610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561094557600080fd5b505af4158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097d9190810190611caa565b8491900363ffffffff61143716565b9050610a60565b60085485906109a8908663ffffffff61146116565b106109b357846109c6565b6008546109c6908563ffffffff61146116565b9150610a5d6109d3610b13565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1757600080fd5b505af4158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a4f9190810190611caa565b84910163ffffffff61148d16565b90505b600083610a7c57610a77838363ffffffff61140f16565b610a7f565b60005b600554909150600090610a9d906001600160a01b03163033866114b7565b905080610abc5760405162461bcd60e51b815260040161017e906123f3565b610ac58461154f565b336001600160a01b03167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0848487604051610b0293929190612349565b60405180910390a250505050505050565b60006104c530611725565b6001546001600160a01b031681565b6000806000610b3a6105a4565b90506000811215610b6557610b5984600083900363ffffffff61177716565b60019250925050610b7d565b610b75848263ffffffff61177716565b600092509250505b915091565b60035460ff1681565b600080610b96610444565b90506000610ba2610eee565b9050808210610bb6576000925050506104c8565b610bc6818363ffffffff61140f16565b9250505090565b6000806000610b3a610b13565b6060610be4610dcc565b905060005b8151811015610d2c576000828281518110610c0057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c429190612232565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c6e929190612329565b60206040518083038186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cbe9190810190611c50565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d1a908490849061230d565b60405180910390a15050600101610be9565b5050565b6001546001600160a01b03163314610d5a5760405162461bcd60e51b815260040161017e90612383565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d9d926001600160a01b039182169291169061228f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610dd761178c565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b81600081518110610e1857fe5b60200260200101818152505060075481600181518110610e3457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610e5e57fe5b6020026020010181815250506844656274436163686560b81b81600381518110610e8457fe5b6020026020010181815250506b53797374656d53746174757360a01b81600481518110610ead57fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610ed857fe5b602002602001018181525050610bc682826117dd565b60006104c530611899565b6000546001600160a01b031681565b60025481565b60035460ff1615610f315760405162461bcd60e51b815260040161017e90612433565b610f396113cd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b5050600554604051636eb1769f60e11b81526001600160a01b03909116925063dd62ed3e9150610fbb9033903090600401612259565b60206040518083038186803b158015610fd357600080fd5b505afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100b9190810190611caa565b81111561102a5760405162461bcd60e51b815260040161017e906123a3565b6005546040516370a0823160e01b81526001600160a01b03909116906370a082319061105a90339060040161224b565b60206040518083038186803b15801561107257600080fd5b505afa158015611086573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110aa9190810190611caa565b8111156110c95760405162461bcd60e51b815260040161017e90612423565b6110d16113f4565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004016110fe91906122ff565b60206040518083038186803b15801561111657600080fd5b505afa15801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061114e9190810190611c8c565b1561116b5760405162461bcd60e51b815260040161017e906123c3565b6000611175610b8b565b9050600081116111975760405162461bcd60e51b815260040161017e90612443565b60008282106111a657826111a8565b815b90506000806111b683610b2d565b915091506000816111d6576111d1848463ffffffff61140f16565b6111e6565b6111e6848463ffffffff61146116565b600554909150600090611204906001600160a01b03163330886114b7565b9050806112235760405162461bcd60e51b815260040161017e906123f3565b61122c826118e9565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919838561125a578661125d565b60005b88604051610b0293929190612349565b60065481565b600061127d6113f4565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040161047593929190612349565b6005546001600160a01b031681565b6000546001600160a01b031633146112f05760405162461bcd60e51b815260040161017e90612403565b565b60006112fc611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b856040516020016113449291906121ec565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161137792919061231b565b60206040518083038186803b15801561138f57600080fd5b505afa1580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113c79190810190611caa565b92915050565b60006104c56b53797374656d53746174757360a01b611a21565b60006104c5600754611a21565b60006104c56c45786368616e6765526174657360981b611a21565b6000828211156114315760405162461bcd60e51b815260040161017e906123d3565b50900390565b6000670de0b6b3a7640000611452848463ffffffff611a7e16565b8161145957fe5b049392505050565b6000828201838110156114865760405162461bcd60e51b815260040161017e906123b3565b9392505050565b6000611486826114ab85670de0b6b3a764000063ffffffff611a7e16565b9063ffffffff611ab816565b600060608484846040516024016114d0939291906122aa565b60408051601f19818403018152919052602080820180516001600160e01b03166323b872dd60e01b178152825160ff600090815293945092908390828b5af161151857600080fd5b60005160ff8114611536576001811461153657801561153f57600080fd5b60019350611544565b600093505b505050949350505050565b6000611559610444565b600854909150600090611572838563ffffffff61146116565b1161157e5760006115a1565b6008546115a190611595848663ffffffff61146116565b9063ffffffff61140f16565b905060006115ad6113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b81526004016115e593929190612349565b60206040518083038186803b1580156115fd57600080fd5b505afa158015611611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116359190810190611caa565b905061163f6113e7565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040161166c929190612274565b600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b505050506000811115611716576116af611aed565b6001600160a01b031663867904b46116c5611b04565b836040518363ffffffff1660e01b81526004016116e39291906122d2565b600060405180830381600087803b1580156116fd57600080fd5b505af1158015611711573d6000803e3d6000fd5b505050505b61171f83611b20565b50505050565b600061172f611a08565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b856040516020016113449291906121ec565b60006114868383670de0b6b3a7640000611b95565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b835181101561184f5783818151811061182857fe5b602002602001015182828151811061183c57fe5b6020908102919091010152600101611813565b5060005b82518110156118925782818151811061186857fe5b602002602001015182828651018151811061187f57fe5b6020908102919091010152600101611853565b5092915050565b60006118a3611a08565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b856040516020016113449291906121ec565b60006118f3610444565b9050600061190c8360085461146190919063ffffffff16565b821161191957600061193d565b60085461193d90611930908563ffffffff61146116565b839063ffffffff61140f16565b905060006119496113f4565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040161198193929190612349565b60206040518083038186803b15801561199957600080fd5b505afa1580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d19190810190611caa565b90506119db6113e7565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040161166c929190612274565b60006104c56e466c657869626c6553746f7261676560881b5b60008181526004602090815260408083205490516001600160a01b039091169182151591611a5191869101612212565b604051602081830303815290604052906118925760405162461bcd60e51b815260040161017e9190612372565b600082611a8d575060006113c7565b82820282848281611a9a57fe5b04146114865760405162461bcd60e51b815260040161017e90612413565b6000808211611ad95760405162461bcd60e51b815260040161017e906123e3565b6000828481611ae457fe5b04949350505050565b60006104c56814de5b9d1a1cd554d160ba1b611a21565b60006104c56d57726170706572466163746f727960901b611a21565b611b28611bd1565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b8152600401611b5b92919061231b565b600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b50505060089190915550565b600080600a8304611bac868663ffffffff611a7e16565b81611bb357fe5b0490506005600a820610611bc557600a015b600a9004949350505050565b60006104c56844656274436163686560b81b611a21565b80356113c781612511565b80516113c781612511565b80356113c781612525565b80516113c781612525565b80516113c78161252e565b80356113c78161252e565b600060208284031215611c3c57600080fd5b6000611c488484611be8565b949350505050565b600060208284031215611c6257600080fd5b6000611c488484611bf3565b600060208284031215611c8057600080fd5b6000611c488484611bfe565b600060208284031215611c9e57600080fd5b6000611c488484611c09565b600060208284031215611cbc57600080fd5b6000611c488484611c14565b600060208284031215611cda57600080fd5b6000611c488484611c1f565b6000611cf28383611d85565b505060200190565b611d03816124b2565b82525050565b611d0381612496565b611d03611d1e82612496565b6124f0565b6000611d2e82612484565b611d388185612488565b9350611d438361247e565b8060005b83811015611d71578151611d5b8882611ce6565b9750611d668361247e565b925050600101611d47565b509495945050505050565b611d03816124a1565b611d03816104c8565b611d03611d9a826104c8565b6104c8565b611d03816124b9565b6000611db382612484565b611dbd8185612488565b9350611dcd8185602086016124c4565b611dd681612501565b9093019392505050565b6000611ded603583612488565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611e44601d83612488565b7f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000815260200192915050565b6000611e7d601983612488565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000611eb6601b83612488565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611eef601883612488565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000611f28601e83612488565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611f61601a83612488565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611f9a601183612491565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611fc7601883612488565b7f5472616e7366657220646964206e6f7420737563636565640000000000000000815260200192915050565b6000612000602f83612488565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612051602183612488565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612094601283612488565b7142616c616e636520697320746f6f206c6f7760701b815260200192915050565b60006120c2603c83612488565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000612121601983612491565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061215a602683612488565b7f436f6e747261637420686173206e6f20737061726520636170616369747920748152651bc81b5a5b9d60d21b602082015260400192915050565b60006121a2603583612488565b7f436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20815274746f6b656e2062616c616e6365206973207a65726f60581b602082015260400192915050565b60006121f88285611d8e565b6020820191506122088284611d12565b5060140192915050565b600061221d82611f8d565b91506122298284611d8e565b50602001919050565b600061221d82612114565b602081016113c78284611d09565b602081016113c78284611cfa565b604081016122678285611cfa565b6114866020830184611cfa565b604081016122828285611cfa565b6114866020830184611d85565b6040810161229d8285611d09565b6114866020830184611d09565b606081016122b88286611d09565b6122c56020830185611d09565b611c486040830184611d85565b604081016122828285611d09565b602080825281016114868184611d23565b602081016113c78284611d7c565b602081016113c78284611d85565b6040810161229d8285611d85565b604081016122828285611d85565b604081016123378285611d85565b8181036020830152611c488184611da8565b606081016123578286611d85565b6122c56020830185611d85565b602081016113c78284611d9f565b602080825281016114868184611da8565b602080825281016113c781611de0565b602080825281016113c781611e37565b602080825281016113c781611e70565b602080825281016113c781611ea9565b602080825281016113c781611ee2565b602080825281016113c781611f1b565b602080825281016113c781611f54565b602080825281016113c781611fba565b602080825281016113c781611ff3565b602080825281016113c781612044565b602080825281016113c781612087565b602080825281016113c7816120b5565b602080825281016113c78161214d565b602080825281016113c781612195565b604081016124718285611d85565b6114866020830184611d7c565b60200190565b5190565b90815260200190565b919050565b60006113c7826124a6565b151590565b6001600160a01b031690565b60006113c7825b60006113c782612496565b60005b838110156124df5781810151838201526020016124c7565b8381111561171f5750506000910152565b60006113c78260006113c78261250b565b601f01601f191690565b60601b90565b61251a81612496565b811461059b57600080fd5b61251a816124a1565b61251a816104c856fea365627a7a72315820b1c4b0e75aa342df894bad2f1424212f7596a6f05c247520dbb2ceecb0ea92b26c6578706572696d656e74616cf564736f6c63430005100040a365627a7a72315820af4384c43344e9c944b096cd446edcb79b19ffe4c702177fb9dee6a7ce0396b56c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "wrapperAddress", - "type": "address" - } - ], - "name": "WrapperCreated", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "token", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "synthContractName", - "type": "bytes32" - } - ], - "name": "createWrapper", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "distributeFees", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feesEscrowed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "possibleWrapper", - "type": "address" - } - ], - "name": "isWrapper", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49", - "urls": [ - "bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481", - "dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "WrapperFactory.sol": "WrapperFactory" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "WrapperFactory.sol": { - "keccak256": "0x428906148e1a26baee20349c04e7e825c62b4a57bf77264e82c7877c415b0b49", - "urls": [ - "bzz-raw://a0147d7b314d7c5f98a297d5d5d67bcb07dbdd9bcaf59f326ed1d5cef86bb481", - "dweb:/ipfs/QmXioSyqkF6HPY1w5Y2sjzgFUaPtdRHwKcRbb6U82FrvkV" - ] - } - }, - "version": 1 - } - }, - "DirectIntegrationManager": { - "bytecode": "60806040523480156200001157600080fd5b5060405162001b4038038062001b408339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61191d80620002236000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063697b659b11610066578063697b659b14610113578063741853601461013357806379ba50971461013b578063899ffef4146101435780638da5cb5b146101585761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d657806353a47bb7146100eb5780635a68456214610100575b600080fd5b6100ab610160565b6040516100b891906117c0565b60405180910390f35b6100d46100cf366004611280565b61016f565b005b6100de6101cd565b6040516100b8919061175b565b6100f36102e5565b6040516100b8919061171a565b6100d461010e3660046112c4565b6102f4565b61012661012136600461132f565b610343565b6040516100b8919061180f565b6100d46106a3565b6100d46107f9565b61014b61089e565b6040516100b8919061174a565b6100f36108ef565b6002546001600160a01b031681565b6101776108fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101c290839061171a565b60405180910390a150565b600060606101d961089e565b905060005b81518110156102db5760008282815181106101f557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610246908590600401611769565b60206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029691908101906112a6565b6001600160a01b03161415806102c157506000818152600360205260409020546001600160a01b0316155b156102d257600093505050506102e2565b506001016101de565b5060019150505b90565b6001546001600160a01b031681565b6102fc6108fe565b60005b8281101561033c576103348585858481811061031757fe5b905060200201358480360361032f9190810190611369565b61092a565b6001016102ff565b5050505050565b61034b611046565b610353611046565b506001600160a01b03808416600090815260046020818152604080842087855282529283902083516101a080820186528254825260018301548716828501908152600284015488168388015260038401546060840152948301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a830154610140830152600b830154610160830152600c90920154610180820152845191820190945286815291519293919290830191166104d15761042a610a54565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161047c929190611785565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104cc91908101906112a6565b6104d7565b82602001515b6001600160a01b0316815260200160006001600160a01b031683604001516001600160a01b031614156105125761050d85610a76565b610518565b82604001515b6001600160a01b0316815260200160008360600151116105405761053b85610b56565b610546565b82606001515b815260200160008360800151116105645761055f610c2e565b61056a565b82608001515b815260200160008360a001511161058857610583610cd9565b61058e565b8260a001515b815260200160008360c00151116105ad576105a885610d41565b6105b3565b8260c001515b815260200160008360e00151116105d2576105cd85610d9e565b6105d8565b8260e001515b81526020016000836101000151116105f8576105f385610dfb565b6105ff565b8261010001515b815260200160008361012001511161061e57610619610e4a565b610625565b8261012001515b81526020016000836101400151116106445761063f610eaa565b61064b565b8261014001515b815260200160008361016001511161066a57610665610f12565b610671565b8261016001515b81526020016000836101800151116106905761068b610f7a565b610697565b8261018001515b90529150505b92915050565b60606106ad61089e565b905060005b81518110156107f55760008282815181106106c957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161070b919061170f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016107379291906117a0565b60206040518083038186803b15801561074f57600080fd5b505afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061078791908101906112a6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906107e39084908490611777565b60405180910390a150506001016106b2565b5050565b6001546001600160a01b0316331461082c5760405162461bcd60e51b8152600401610823906117df565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261086f926001600160a01b0391821692911690611728565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108e057fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b8152600401610823906117ef565b565b6001600160a01b0383166109505760405162461bcd60e51b8152600401610823906117ff565b6001600160a01b03808416600081815260046020818152604080842088855282529283902086518155908601516001820180549187166001600160a01b031992831617905583870151600283018054919097169116179094556060850151600385015560808501519084015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b840155610180840151600c9093019290925590518391907fac520ced31ca01ad123194e41989084aeb335064dd7b37291e59a85eb9c972ec90610a4790859061180f565b60405180910390a3505050565b6000610a716e466c657869626c6553746f7261676560881b610fe2565b905090565b6000610a80610a54565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e6700000085604051602001610ad39291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610b06929190611785565b60206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906112a6565b6000610b60610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b85604051602001610bab9291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610bde929190611785565b60206040518083038186803b158015610bf657600080fd5b505afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d9190810190611388565b6000610c38610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401610c89929190611785565b60206040518083038186803b158015610ca157600080fd5b505afa158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a719190810190611388565b6000610ce3610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610d4b610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f770000000085604051602001610bab9291906116c9565b6000610da8610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c64000000000000000085604051602001610bab9291906116c9565b6000610e05610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b85604051602001610bab9291906116c9565b6000610e54610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7465786368616e67654d617844796e616d696346656560581b6040518363ffffffff1660e01b8152600401610c89929190611785565b6000610eb4610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d6963466565526f756e647300000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f1c610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d69634665655468726573686f6c6400000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f84610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d696346656557656967687444656361790000006040518363ffffffff1660e01b8152600401610c89929190611785565b60008181526003602090815260408083205490516001600160a01b039091169182151591611012918691016116ef565b6040516020818303038152906040529061103f5760405162461bcd60e51b815260040161082391906117ce565b5092915050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561069d816118ba565b805161069d816118ba565b60008083601f8401126110eb57600080fd5b50813567ffffffffffffffff81111561110357600080fd5b60208301915083602082028301111561111b57600080fd5b9250929050565b803561069d816118d1565b60006101a0828403121561114057600080fd5b50919050565b60006101a0828403121561115957600080fd5b6111646101a061181e565b905060006111728484611122565b8252506020611183848483016110c3565b6020830152506040611197848285016110c3565b60408301525060606111ab84828501611122565b60608301525060806111bf84828501611122565b60808301525060a06111d384828501611122565b60a08301525060c06111e784828501611122565b60c08301525060e06111fb84828501611122565b60e08301525061010061121084828501611122565b6101008301525061012061122684828501611122565b6101208301525061014061123c84828501611122565b6101408301525061016061125284828501611122565b6101608301525061018061126884828501611122565b6101808301525092915050565b805161069d816118d1565b60006020828403121561129257600080fd5b600061129e84846110c3565b949350505050565b6000602082840312156112b857600080fd5b600061129e84846110ce565b6000806000806101e085870312156112db57600080fd5b60006112e787876110c3565b945050602085013567ffffffffffffffff81111561130457600080fd5b611310878288016110d9565b935093505060406113238782880161112d565b91505092959194509250565b6000806040838503121561134257600080fd5b600061134e85856110c3565b925050602061135f85828601611122565b9150509250929050565b60006101a0828403121561137c57600080fd5b600061129e8484611146565b60006020828403121561139a57600080fd5b600061129e8484611275565b60006113b2838361142b565b505060200190565b6113c38161185d565b82525050565b60006113d48261184b565b6113de818561184f565b93506113e983611845565b8060005b8381101561141757815161140188826113a6565b975061140c83611845565b9250506001016113ed565b509495945050505050565b6113c381611868565b6113c3816102e2565b6113c3611440826102e2565b6102e2565b6113c381611879565b60006114598261184b565b611463818561184f565b9350611473818560208601611884565b61147c816118b0565b9093019392505050565b600061149360358361184f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006114ea601183611858565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611517602f8361184f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061156860138361184f565b720416464726573732063616e6e6f74206265203606c1b815260200192915050565b6000611597601983611858565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b80516101a08301906115d5848261142b565b5060208201516115e860208501826113ba565b5060408201516115fb60408501826113ba565b50606082015161160e606085018261142b565b506080820151611621608085018261142b565b5060a082015161163460a085018261142b565b5060c082015161164760c085018261142b565b5060e082015161165a60e085018261142b565b5061010082015161166f61010085018261142b565b5061012082015161168461012085018261142b565b5061014082015161169961014085018261142b565b506101608201516116ae61016085018261142b565b506101808201516116c361018085018261142b565b50505050565b60006116d58285611434565b6020820191506116e58284611434565b5060200192915050565b60006116fa826114dd565b91506117068284611434565b50602001919050565b60006116fa8261158a565b6020810161069d82846113ba565b6040810161173682856113ba565b61174360208301846113ba565b9392505050565b6020808252810161174381846113c9565b6020810161069d8284611422565b6020810161069d828461142b565b60408101611736828561142b565b60408101611793828561142b565b611743602083018461142b565b604081016117ae828561142b565b818103602083015261129e818461144e565b6020810161069d8284611445565b60208082528101611743818461144e565b6020808252810161069d81611486565b6020808252810161069d8161150a565b6020808252810161069d8161155b565b6101a0810161069d82846115c3565b60405181810167ffffffffffffffff8111828210171561183d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061069d8261186d565b151590565b6001600160a01b031690565b600061069d8261185d565b60005b8381101561189f578181015183820152602001611887565b838111156116c35750506000910152565b601f01601f191690565b6118c38161185d565b81146118ce57600080fd5b50565b6118c3816102e256fea365627a7a72315820e54e62efc2f7018972e7a23f74201cf4f611ed621ff24e26e6eeb92bff5967f66c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "integration", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "overrides", - "type": "tuple" - } - ], - "name": "IntegrationParametersSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "integration", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "getExchangeParameters", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "overrides", - "type": "tuple" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "integration", - "type": "address" - }, - { - "internalType": "bytes32[]", - "name": "currencyKeys", - "type": "bytes32[]" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "dexPriceAggregator", - "type": "address" - }, - { - "internalType": "address", - "name": "atomicEquivalentForDexPricing", - "type": "address" - }, - { - "internalType": "uint256", - "name": "atomicExchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicTwapWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicMaxVolumePerBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityConsiderationWindow", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "atomicVolatilityUpdateThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeFeeRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeMaxDynamicFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeRounds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeDynamicFeeWeightDecay", - "type": "uint256" - } - ], - "internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings", - "name": "settings", - "type": "tuple" - } - ], - "name": "setExchangeParameters", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5", - "urls": [ - "bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd", - "dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "DirectIntegrationManager.sol": "DirectIntegrationManager" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "DirectIntegrationManager.sol": { - "keccak256": "0x80285fb169481b9424e2f1a7f1c2414432125ca01235eedfbd417f37f63efcb5", - "urls": [ - "bzz-raw://63d2d2673c5937aceb65bf148b1969d5b9546c93b86f5518f7a2e5c0293050bd", - "dweb:/ipfs/QmS3yM8jn6miJGpjwM3ciQeMXi3CDnGCPfVypYbSqab2v4" - ] - } - }, - "version": 1 - } - }, - "TokenState": { - "bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582024b7cf3f357023bc943ad3ca5c11a62c6c29c5d9fa23fe3309cb5629f86a29ba64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "tokenOwner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setAllowance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "setBalanceOf", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3", - "urls": [ - "bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d", - "dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "TokenState.sol": "TokenState" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "TokenState.sol": { - "keccak256": "0x50f799271aeb0f4056adc52aca7be5d2cad83ed6d2b4e5c7d408c992f35650a3", - "urls": [ - "bzz-raw://2bba43c63383a5632400a55aaade3d23e38a879daf3ae07dc2250c5bf1ce0c9d", - "dweb:/ipfs/QmWJqZUAieh2NVTZctYy9f9WYtjUi2ARigczvZC9EN1xRH" - ] - } - }, - "version": 1 - } - }, - "MultiCollateralSynth": { - "bytecode": "60806040523480156200001157600080fd5b50604051620037af380380620037af833981016040819052620000349162000363565b878787878787878780888888888660128a86816001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620005a6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200054a565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000594565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001479083906200053a565b60405180910390a150600480546001600160a01b0319166001600160a01b03881617905584516200018090600590602088019062000235565b5083516200019690600690602087019062000235565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620001f35760405162461bcd60e51b8152600401620000709062000570565b6001600160a01b0384166200021c5760405162461bcd60e51b8152600401620000709062000582565b5050600a5550620006a69b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027857805160ff1916838001178555620002a8565b82800160010185558215620002a8579182015b82811115620002a85782518255916020019190600101906200028b565b50620002b6929150620002ba565b5090565b620002d791905b80821115620002b65760008155600101620002c1565b90565b8051620002e78162000676565b92915050565b8051620002e78162000690565b8051620002e7816200069b565b600082601f8301126200031957600080fd5b8151620003306200032a82620005df565b620005b8565b915080825260208301602083018583830111156200034d57600080fd5b6200035a83828462000643565b50505092915050565b600080600080600080600080610100898b0312156200038157600080fd5b60006200038f8b8b620002da565b9850506020620003a28b828c01620002fa565b97505060408901516001600160401b03811115620003bf57600080fd5b620003cd8b828c0162000307565b96505060608901516001600160401b03811115620003ea57600080fd5b620003f88b828c0162000307565b95505060806200040b8b828c01620002da565b94505060a06200041e8b828c01620002ed565b93505060c0620004318b828c01620002ed565b92505060e0620004448b828c01620002da565b9150509295985092959890939650565b6200045f8162000636565b82525050565b6200045f8162000610565b60006200047f60128362000607565b7105f70726f78792063616e6e6f7420626520360741b815260200192915050565b6000620004af60128362000607565b7105f6f776e65722063616e6e6f7420626520360741b815260200192915050565b6000620004df60118362000607565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200050e60198362000607565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002e7828462000454565b604081016200055a828562000454565b62000569602083018462000465565b9392505050565b60208082528101620002e78162000470565b60208082528101620002e781620004a0565b60208082528101620002e781620004d0565b60208082528101620002e781620004ff565b6040518181016001600160401b0381118282101715620005d757600080fd5b604052919050565b60006001600160401b03821115620005f657600080fd5b506020601f91909101601f19160190565b90815260200190565b6000620002e7826200062a565b6000620002e78262000610565b6001600160a01b031690565b6000620002e7826200061d565b60005b838110156200066057818101518382015260200162000646565b8381111562000670576000848401525b50505050565b620006818162000610565b81146200068d57600080fd5b50565b6200068181620002d7565b62000681816200061d565b6130f980620006b66000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146103d5578063eb1edd61146103dd578063ec556889146103e5578063f7ea7a3d146103ed578063ffff51d614610400576101fb565b8063d67bdd251461039f578063dbd06c85146103a7578063dd62ed3e146103af578063e73cced3146103c2576101fb565b80639f769807116100e95780639f76980714610353578063a9059cbb14610366578063b014c3a314610379578063bc67f8321461038c576101fb565b80638da5cb5b1461031d57806395d89b411461032557806397107d6d1461032d5780639dc29fac14610340576101fb565b8063313ce56711610192578063741853601161016157806374185360146102e557806379ba5097146102ed578063867904b4146102f5578063899ffef414610308576101fb565b8063313ce567146102ad57806353a47bb7146102b5578063614d08f8146102ca57806370a08231146102d2576101fb565b806318160ddd116101ce57806318160ddd1461026857806323b872dd1461027d5780632af64bd3146102905780632e0f262514610298576101fb565b806304f3bcec1461020057806306fdde031461021e578063095ea7b3146102335780631627540c14610253575b600080fd5b610208610413565b6040516102159190612ee7565b60405180910390f35b610226610427565b6040516102159190612ef5565b610246610241366004612595565b6104b5565b6040516102159190612dbd565b6102666102613660046124ca565b610542565b005b6102706105a0565b6040516102159190612dcb565b61024661028b366004612548565b6105a6565b6102466105cf565b6102a06106ec565b6040516102159190612fe7565b6102a06106f1565b6102bd6106fa565b6040516102159190612cae565b610270610709565b6102706102e03660046124ca565b610724565b6102666107ae565b610266610904565b610266610303366004612595565b6109a9565b6103106109d8565b6040516102159190612dac565b6102bd610a9c565b610226610aab565b61026661033b3660046124ca565b610b06565b61026661034e366004612595565b610b59565b6102666103613660046125e3565b610b8d565b610246610374366004612595565b610bbc565b610246610387366004612595565b610c4d565b61026661039a3660046124ca565b610daa565b6102bd610dd4565b610270610de3565b6102706103bd36600461250e565b610de9565b6102466103d0366004612548565b610e6d565b610208610fb7565b6102bd610fc6565b610208610fde565b6102666103fb366004612601565b610fed565b61027061040e3660046124ca565b610ffa565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b505050505081565b60006104bf611139565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c916104f99185918991899101612d69565b600060405180830381600087803b15801561051357600080fd5b505af1158015610527573d6000803e3d6000fd5b50505050610536818585611179565b60019150505b92915050565b61054a611230565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610595908390612cae565b60405180910390a150565b60075481565b60006105b061125a565b6105ba84836112af565b6105c58484846113e4565b90505b9392505050565b600060606105db6109d8565b905060005b81518110156106e25760008282815181106105f757fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a7219061064d908590600401612dcb565b60206040518083038186803b15801561066557600080fd5b505afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906124f0565b6001600160a01b03161415806106c857506000818152600960205260409020546001600160a01b0316155b156106d957600093505050506106e9565b506001016105e0565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a082319161075691869101612cae565b60206040518083038186803b15801561076e57600080fd5b505afa158015610782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107a6919081019061261f565b90505b919050565b60606107b86109d8565b905060005b81518110156109005760008282815181106107d457fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016108169190612c98565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610842929190612de7565b60206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089291908101906124f0565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ee9084908490612dd9565b60405180910390a150506001016107bd565b5050565b6001546001600160a01b031633146109375760405162461bcd60e51b815260040161092e90612f16565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261097a926001600160a01b0391821692911690612cca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6109b233611574565b6109ce5760405162461bcd60e51b815260040161092e90612f83565b61090082826116ba565b6060806109e36117d1565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610a2b57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610a5457fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610a7f57fe5b602002602001018181525050610a9582826118be565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104ad5780601f10610482576101008083540402835291602001916104ad565b610b0e611230565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610595908390612cbc565b610b6233611574565b610b7e5760405162461bcd60e51b815260040161092e90612f83565b610b88828261197a565b505050565b610b95611a41565b600480546001600160a01b0319166001600160a01b038316179055610bb981611aaf565b50565b6000610bc661125a565b600354610bdc906001600160a01b0316836112af565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610c1257610c0b8383611b56565b905061053c565b6001600160a01b038316610c3657600354610c0b906001600160a01b03168361197a565b6003546105c8906001600160a01b03168484611cac565b6000610c5761125a565b6000610c61611e36565b600354600a546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93610c9593911691600401612d91565b606060405180830381600087803b158015610caf57600080fd5b505af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce7919081019061266d565b9250849150508115610d7857600480546003546040516370a0823160e01b81526001600160a01b03928316936370a0823193610d2593169101612cae565b60206040518083038186803b158015610d3d57600080fd5b505afa158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d75919081019061261f565b90505b808411610d855783610d87565b805b600354909450610da1906001600160a01b03168686611cac565b95945050505050565b610db2611e52565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91610e1d918791879101612cca565b60206040518083038186803b158015610e3557600080fd5b505afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105c8919081019061261f565b6000610e7761125a565b6000610e81611e36565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b8152600401610eb0929190612d91565b606060405180830381600087803b158015610eca57600080fd5b505af1158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f02919081019061266d565b9250849150508115610f9057600480546040516370a0823160e01b81526001600160a01b03909116916370a0823191610f3d918a9101612cae565b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8d919081019061261f565b90505b80841015610f9e5783610fa0565b805b9350610fad8686866113e4565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b610ff5611a41565b600755565b600080611005611e36565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b8152600401611034929190612d91565b60606040518083038186803b15801561104c57600080fd5b505afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611084919081019061266d565b5050600480546040516370a0823160e01b81529293506000926001600160a01b03909116916370a08231916110bb91889101612cae565b60206040518083038186803b1580156110d357600080fd5b505afa1580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110b919081019061261f565b905080821115611120576000925050506107a9565b611130818363ffffffff611e7c16565b925050506107a9565b6002546001600160a01b0316331480159061115f57506003546001600160a01b03163314155b1561117757600380546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff979061119f908490602001612dcb565b60405160208183030381529060405260036040516111bc90612c77565b60405180910390206111cd88611ea4565b6111d688611ea4565b60006040518763ffffffff1660e01b81526004016111f996959493929190612ea0565b600060405180830381600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612f73565b6002546001600160a01b031633141561127257611177565b61127b33611eb0565b1561129757600380546001600160a01b03191633179055611177565b60405162461bcd60e51b815260040161092e90612fca565b6112b7611e36565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b81526004016112e6929190612d91565b60206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611336919081019061261f565b156113535760405162461bcd60e51b815260040161092e90612fba565b8061135d83610ffa565b101561137b5760405162461bcd60e51b815260040161092e90612f53565b6113836121a7565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004016113b09190612dcb565b60006040518083038186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b505050505050565b60048054600354604051636eb1769f60e11b8152600093600019936001600160a01b039081169363dd62ed3e93611421938b939092169101612cca565b60206040518083038186803b15801561143957600080fd5b505afa15801561144d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611471919081019061261f565b146115695760048054600354604051636eb1769f60e11b81526001600160a01b039283169363da46098c9389931691611518918891879163dd62ed3e916114bc918891889101612cca565b60206040518083038186803b1580156114d457600080fd5b505afa1580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150c919081019061261f565b9063ffffffff611e7c16565b6040518463ffffffff1660e01b815260040161153693929190612d69565b600060405180830381600087803b15801561155057600080fd5b505af1158015611564573d6000803e3d6000fd5b505050505b6105c5848484611cac565b600061157f826121c1565b80611608575061158d612233565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016115b89190612cae565b60206040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061160891908101906125c5565b806116915750611616612252565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b81526004016116419190612cae565b60206040518083038186803b15801561165957600080fd5b505afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169191908101906125c5565b806107a6575061169f61226e565b6001600160a01b0316826001600160a01b0316149050919050565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f691859161175591869186916370a08231916116f991879101612cae565b60206040518083038186803b15801561171157600080fd5b505afa158015611725573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611749919081019061261f565b9063ffffffff61228816565b6040518363ffffffff1660e01b8152600401611772929190612d91565b600060405180830381600087803b15801561178c57600080fd5b505af11580156117a0573d6000803e3d6000fd5b50506007546117b8925090508263ffffffff61228816565b6007556117c7600083836122ad565b61090082826122f0565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181157fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061183757fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061185a57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061187e57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b816004815181106118af57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156118ee578160200160208202803883390190505b50905060005b83518110156119305783818151811061190957fe5b602002602001015182828151811061191d57fe5b60209081029190910101526001016118f4565b5060005b82518110156119735782818151811061194957fe5b602002602001015182828651018151811061196057fe5b6020908102919091010152600101611934565b5092915050565b600480546040516370a0823160e01b81526000926001600160a01b039092169163b46310f69186916119bc91879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b81526004016119d9929190612d91565b600060405180830381600087803b1580156119f357600080fd5b505af1158015611a07573d6000803e3d6000fd5b5050600754611a1f925090508363ffffffff611e7c16565b600755611a2e836000846122ad565b611a388383612396565b50600192915050565b6002546001600160a01b03163314801590611a6757506003546001600160a01b03163314155b15611a7f57600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146111775760405162461bcd60e51b815260040161092e90612f33565b6002546040516001600160a01b039091169063907dff9790611ad5908490602001612cae565b6040516020818303038152906040526001604051611af290612c82565b6040519081900381206001600160e01b031960e086901b168252611b2193929160009081908190600401612e07565b600060405180830381600087803b158015611b3b57600080fd5b505af1158015611b4f573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b1415611b8a57506003548290611b84906001600160a01b03168583611cac565b50611c3d565b611b92611e36565b600354600a546040516327c319e960e11b81526001600160a01b0393841693634f8633d293611be893911691829190899073feefeefeefeefeefeefeefeefeefeefeefeefeef9060009081908190600401612ce5565b6040805180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c39919081019061263d565b5090505b611c456123d9565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b8152600401611c709190612dcb565b600060405180830381600087803b158015611c8a57600080fd5b505af1158015611c9e573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b03831615801590611ccf57506001600160a01b0383163014155b8015611ce957506002546001600160a01b03848116911614155b611d055760405162461bcd60e51b815260040161092e90612f06565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f6918791611d4491879186916370a08231916114bc91879101612cae565b6040518363ffffffff1660e01b8152600401611d61929190612d91565b600060405180830381600087803b158015611d7b57600080fd5b505af1158015611d8f573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f692508691611dd291879186916370a08231916116f991879101612cae565b6040518363ffffffff1660e01b8152600401611def929190612d91565b600060405180830381600087803b158015611e0957600080fd5b505af1158015611e1d573d6000803e3d6000fd5b50505050611e2c8484846122ad565b5060019392505050565b6000611e4d6822bc31b430b733b2b960b91b6123ea565b905090565b6002546001600160a01b031633146111775760405162461bcd60e51b815260040161092e90612fca565b600082821115611e9e5760405162461bcd60e51b815260040161092e90612f63565b50900390565b6001600160a01b031690565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a72190611ee490600401612f93565b60206040518083038186803b158015611efc57600080fd5b505afa158015611f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f3491908101906124f0565b6001600160a01b0316826001600160a01b03161480611fe557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a72190611f8090600401612f26565b60206040518083038186803b158015611f9857600080fd5b505afa158015611fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fd091908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061208257506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061201d90600401612fda565b60206040518083038186803b15801561203557600080fd5b505afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206d91908101906124f0565b6001600160a01b0316826001600160a01b0316145b8061211f57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906120ba90600401612fa0565b60206040518083038186803b1580156120d257600080fd5b505afa1580156120e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061210a91908101906124f0565b6001600160a01b0316826001600160a01b0316145b806107a657506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061215790600401612fad565b60206040518083038186803b15801561216f57600080fd5b505afa158015612183573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169f91908101906124f0565b6000611e4d6b53797374656d53746174757360a01b6123ea565b60006121cb6123d9565b6001600160a01b0316826001600160a01b0316148061220257506121ed611e36565b6001600160a01b0316826001600160a01b0316145b806122255750612210612447565b6001600160a01b0316826001600160a01b0316145b806107a6575061169f61245b565b6000611e4d7021b7b63630ba32b930b626b0b730b3b2b960791b6123ea565b6000611e4d6d57726170706572466163746f727960901b6123ea565b6000611e4d6b22ba3432b92bb930b83832b960a11b6123ea565b6000828201838110156105c85760405162461bcd60e51b815260040161092e90612f43565b6002546040516001600160a01b039091169063907dff97906122d3908490602001612dcb565b60405160208183030381529060405260036040516111bc90612ca3565b6002546040516001600160a01b039091169063907dff9790612316908490602001612dcb565b604051602081830303815290604052600260405161233390612c8d565b604051809103902061234487611ea4565b6000806040518763ffffffff1660e01b815260040161236896959493929190612e66565b600060405180830381600087803b15801561238257600080fd5b505af11580156113dc573d6000803e3d6000fd5b6002546040516001600160a01b039091169063907dff97906123bc908490602001612dcb565b604051602081830303815290604052600260405161233390612c6c565b6000611e4d66119959541bdbdb60ca1b5b60008181526009602090815260408083205490516001600160a01b03909116918215159161241a91869101612c4c565b604051602081830303815290604052906119735760405162461bcd60e51b815260040161092e9190612ef5565b6000611e4d6524b9b9bab2b960d11b6123ea565b6000611e4d73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6123ea565b803561053c81613087565b805161053c81613087565b805161053c8161309b565b805161053c816130a4565b803561053c816130a4565b803561053c816130ad565b805161053c816130ad565b6000602082840312156124dc57600080fd5b60006124e8848461247d565b949350505050565b60006020828403121561250257600080fd5b60006124e88484612488565b6000806040838503121561252157600080fd5b600061252d858561247d565b925050602061253e8582860161247d565b9150509250929050565b60008060006060848603121561255d57600080fd5b6000612569868661247d565b935050602061257a8682870161247d565b925050604061258b868287016124b4565b9150509250925092565b600080604083850312156125a857600080fd5b60006125b4858561247d565b925050602061253e858286016124b4565b6000602082840312156125d757600080fd5b60006124e88484612493565b6000602082840312156125f557600080fd5b60006124e884846124a9565b60006020828403121561261357600080fd5b60006124e884846124b4565b60006020828403121561263157600080fd5b60006124e884846124bf565b6000806040838503121561265057600080fd5b600061265c85856124bf565b925050602061253e8582860161249e565b60008060006060848603121561268257600080fd5b600061268e86866124bf565b935050602061269f868287016124bf565b925050604061258b868287016124bf565b60006126bc838361273e565b505060200190565b6126cd81613029565b82525050565b6126cd81613008565b60006126e782612ffb565b6126f18185612fff565b93506126fc83612ff5565b8060005b8381101561272a57815161271488826126b0565b975061271f83612ff5565b925050600101612700565b509495945050505050565b6126cd81613013565b6126cd816106e9565b6126cd612753826106e9565b6106e9565b600061276382612ffb565b61276d8185612fff565b935061277d81856020860161304d565b6127868161307d565b9093019392505050565b6126cd81613018565b6126cd81613034565b6126cd81613042565b60006127b8601f83612fff565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006127f1603583612fff565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6c29bcb73a342932b232b2b6b2b960991b9052565b600061285d601383612fff565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b600061288c601b83612fff565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006128c5602f83612fff565b7f496e73756666696369656e742062616c616e636520616674657220616e79207381526e6574746c656d656e74206f77696e6760881b602082015260400192915050565b6000612916601e83612fff565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061294f6011836107a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061297c6017836107a9565b7f4275726e656428616464726573732c75696e7432353629000000000000000000815260170192915050565b60006129b5602f83612fff565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612a12601f83612fff565b7f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400815260200192915050565b6000612a4b6021836107a9565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612a8e601a836107a9565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000612ac76017836107a9565b7f49737375656428616464726573732c75696e7432353629000000000000000000815260170192915050565b6e10dbdb1b185d195c985b14da1bdc9d608a1b9052565b712730ba34bb32a2ba3432b92bb930b83832b960711b9052565b6000612b316019836107a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6411195c1bdd60da1b9052565b6000612b77602583612fff565b7f43616e6e6f74207472616e7366657220647572696e672077616974696e672070815264195c9a5bd960da1b602082015260400192915050565b6000612bbe6021836107a9565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000612c01601783612fff565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6d57726170706572466163746f727960901b9052565b6126cd81613023565b6000612c5782612942565b9150612c638284612747565b50602001919050565b600061053c8261296f565b600061053c82612a3e565b600061053c82612a81565b600061053c82612aba565b6000612c5782612b24565b600061053c82612bb1565b6020810161053c82846126d3565b6020810161053c82846126c4565b60408101612cd882856126d3565b6105c860208301846126d3565b6101208101612cf4828b6126d3565b612d01602083018a6126d3565b612d0e604083018961273e565b612d1b606083018861273e565b612d27608083016129f9565b612d3460a08301876126d3565b612d4160c0830186612735565b612d4e60e08301856126c4565b612d5c61010083018461273e565b9998505050505050505050565b60608101612d7782866126d3565b612d8460208301856126d3565b6124e8604083018461273e565b60408101612d9f82856126d3565b6105c8602083018461273e565b602080825281016105c881846126dc565b6020810161053c8284612735565b6020810161053c828461273e565b60408101612cd8828561273e565b60408101612df5828561273e565b81810360208301526105c58184612758565b60c08082528101612e188189612758565b9050612e2760208301886127a2565b612e34604083018761273e565b612e416060830186612799565b612e4e6080830185612799565b612e5b60a0830184612799565b979650505050505050565b60c08082528101612e778189612758565b9050612e8660208301886127a2565b612e93604083018761273e565b612e41606083018661273e565b60c08082528101612eb18189612758565b9050612ec060208301886127a2565b612ecd604083018761273e565b612eda606083018661273e565b612e4e608083018561273e565b6020810161053c8284612790565b602080825281016105c88184612758565b602080825281016107a6816127ab565b602080825281016107a6816127e4565b602081016107a98261283b565b602080825281016107a681612850565b602080825281016107a68161287f565b602080825281016107a6816128b8565b602080825281016107a681612909565b602080825281016107a6816129a8565b602080825281016107a681612a05565b602081016107a982612af3565b602081016107a982612b0a565b602081016107a982612b5d565b602080825281016107a681612b6a565b602080825281016107a681612bf4565b602081016107a982612c2d565b6020810161053c8284612c43565b60200190565b5190565b90815260200190565b60006107a682611ea4565b151590565b60006107a682613008565b60ff1690565b60006107a682613018565b60006107a6612753836106e9565b60006107a6826106e9565b60005b83811015613068578181015183820152602001613050565b83811115613077576000848401525b50505050565b601f01601f191690565b61309081613008565b8114610bb957600080fd5b61309081613013565b61309081613018565b613090816106e956fea365627a7a72315820845bdc1a78eaffe4ecadefeaff13fc9da099a4b459aeb9193f61cfd23a8499cc6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - }, - { - "internalType": "contract TokenState", - "name": "_tokenState", - "type": "address" - }, - { - "internalType": "string", - "name": "_tokenName", - "type": "string" - }, - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_currencyKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_totalSupply", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Burned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Issued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "proxyAddress", - "type": "address" - } - ], - "name": "ProxyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newTokenState", - "type": "address" - } - ], - "name": "TokenStateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "FEE_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currencyKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "issue", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "messageSender", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxy", - "outputs": [ - { - "internalType": "contract Proxy", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "setMessageSender", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "_proxy", - "type": "address" - } - ], - "name": "setProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract TokenState", - "name": "_tokenState", - "type": "address" - } - ], - "name": "setTokenState", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setTotalSupply", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenState", - "outputs": [ - { - "internalType": "contract TokenState", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferAndSettle", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFromAndSettle", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "transferableSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d", - "urls": [ - "bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac", - "dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "MultiCollateralSynth.sol": "MultiCollateralSynth" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "MultiCollateralSynth.sol": { - "keccak256": "0xa9205a95b8d6dbc71ead66085d835408c6177500ff54af6a5ec53fe65f6d592d", - "urls": [ - "bzz-raw://ce0b99ab053eff2169a6cd4f15b55b9e7f16d31011362fe6c943881e6d8d88ac", - "dweb:/ipfs/QmdZLKLTdsiMvCArfF2YbigNNbqxkcGmWrGzLG2sEjJ47G" - ] - } - }, - "version": 1 - } - }, - "Depot": { - "bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000809190810190620002a4565b603202600c5573__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620000cb57600080fd5b505af4158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001069190810190620002a4565b6101f402600d553480156200011a57600080fd5b506040516200379a3803806200379a8339810160408190526200013d9162000250565b80836001600160a01b038116620001715760405162461bcd60e51b815260040162000168906200038b565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001be91849062000353565b60405180910390a1506000546001600160a01b0316620001f25760405162461bcd60e51b8152600401620001689062000379565b6001600455600580546001600160a01b039283166001600160a01b031991821617909155600780549490921693169290921790915550620003f49050565b80516200023d81620003cf565b92915050565b80516200023d81620003e9565b6000806000606084860312156200026657600080fd5b600062000274868662000230565b9350506020620002878682870162000230565b92505060406200029a8682870162000230565b9150509250925092565b600060208284031215620002b757600080fd5b6000620002c5848462000243565b949350505050565b620002d881620003bb565b82525050565b620002d881620003a6565b6000620002f86011836200039d565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003276019836200039d565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620003638285620002cd565b620003726020830184620002de565b9392505050565b602080825281016200023d81620002e9565b602080825281016200023d8162000318565b90815260200190565b60006001600160a01b0382166200023d565b90565b60006200023d8260006200023d82620003a6565b620003da81620003a6565b8114620003e657600080fd5b50565b620003da81620003b8565b61339680620004046000396000f3fe6080604052600436106101f95760003560e01c806381b797dc1161010d578063b0c2cb96116100a0578063c8d889f21161006f578063c8d889f214610610578063dc8fa6c214610630578063e6d76a7614610650578063f852d39314610670578063fd12167f14610690576101f9565b8063b0c2cb961461059b578063b1338cc4146105bb578063bb7df172146105d0578063c6abb7c7146105f0576101f9565b80639342c0eb116100dc5780639342c0eb1461051a578063a3d8829b1461052d578063aab483d61461054d578063b02c43d01461056d576101f9565b806381b797dc146104b9578063899ffef4146104ce5780638da5cb5b146104f057806391b4ded914610505576101f9565b80632194f3a2116101905780635c975abb1161015f5780635c975abb1461044557806364e39b871461045a5780636d5ab4a91461047a578063741853601461048f57806379ba5097146104a4576101f9565b80632194f3a2146103d75780632af64bd3146103f95780634d0387fb1461041b57806353a47bb714610430576101f9565b80630c928f05116101cc5780630c928f051461036d5780631627540c1461038d57806316c38b3c146103af5780631f930115146103cf576101f9565b8063022794381461030557806304f3bcec14610323578063080c279a146103455780630c928bc21461035a575b60048054600101908190556208aa8960eb1b6102136106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161023e91906130d5565b60206040518083038186803b15801561025657600080fd5b505afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061028e919081019061297f565b156102b45760405162461bcd60e51b81526004016102ab906131ef565b60405180910390fd5b60035460ff16156102d75760405162461bcd60e51b81526004016102ab9061326f565b6102df6106c6565b505060045481146103025760405162461bcd60e51b81526004016102ab9061328f565b50005b61030d610e8f565b60405161031a91906130d5565b60405180910390f35b34801561032f57600080fd5b50610338611011565b60405161031a9190613111565b34801561035157600080fd5b5061030d611020565b61030d61036836600461299d565b611026565b34801561037957600080fd5b5061030d61038836600461299d565b6111a8565b34801561039957600080fd5b506103ad6103a8366004612925565b611249565b005b3480156103bb57600080fd5b506103ad6103ca366004612961565b6112a7565b61030d61131c565b3480156103e357600080fd5b506103ec611424565b60405161031a9190613013565b34801561040557600080fd5b5061040e611433565b60405161031a91906130c7565b34801561042757600080fd5b5061030d61154a565b34801561043c57600080fd5b506103ec611550565b34801561045157600080fd5b5061040e61155f565b34801561046657600080fd5b506103ad610475366004612925565b611568565b34801561048657600080fd5b5061030d6115c1565b34801561049b57600080fd5b506103ad6115c7565b3480156104b057600080fd5b506103ad61171d565b3480156104c557600080fd5b506103ad6117b9565b3480156104da57600080fd5b506104e36119c2565b60405161031a91906130b6565b3480156104fc57600080fd5b506103ec611a5d565b34801561051157600080fd5b5061030d611a6c565b61030d6105283660046129d9565b611a72565b34801561053957600080fd5b5061030d61054836600461299d565b611d44565b34801561055957600080fd5b506103ad61056836600461299d565b611ddf565b34801561057957600080fd5b5061058d61058836600461299d565b611eb6565b60405161031a929190613057565b3480156105a757600080fd5b5061030d6105b63660046129d9565b611edb565b3480156105c757600080fd5b5061030d61205f565b3480156105dc57600080fd5b506103ad6105eb36600461299d565b612065565b3480156105fc57600080fd5b5061030d61060b366004612925565b6120a2565b34801561061c57600080fd5b5061030d61062b36600461299d565b6120b4565b34801561063c57600080fd5b506103ad61064b36600461299d565b61215b565b34801561065c57600080fd5b506103ad61066b36600461299d565b61231b565b34801561067c57600080fd5b5061030d61068b36600461299d565b6123b0565b34801561069c57600080fd5b5061030d612485565b60006106c06c45786368616e6765526174657360981b61248b565b90505b90565b6000600d543411156106ea5760405162461bcd60e51b81526004016102ab9061320f565b6000806107866106f86106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b815260040161072991906130d5565b60206040518083038186803b15801561074157600080fd5b505afa158015610755573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061077991908101906129bb565b349063ffffffff6124ef16565b60095490915081905b6000821180156107a05750600a5481105b15610d65576107ad6128cc565b50600081815260086020908152604091829020825180840190935280546001600160a01b031680845260019091015491830191909152610803576009546107fb90600163ffffffff61251916565b600955610d5c565b8281602001511115610ab2576020810151600090610827908563ffffffff61253e16565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b5490915061087f908561253e565b600b5561091b61088d6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016108be91906130d5565b60206040518083038186803b1580156108d657600080fd5b505afa1580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061090e91908101906129bb565b859063ffffffff61256616565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f193505050506109cd576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610982573d6000803e3d6000fd5b5081600001516001600160a01b03167ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c876040516109c091906130d5565b60405180910390a2610a20565b8282600001516001600160a01b0316336001600160a01b03167f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c8988604051610a1792919061329f565b60405180910390a45b610a28612590565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b8152600401610a55929190613072565b602060405180830381600087803b158015610a6f57600080fd5b505af1158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa7919081019061297f565b506000935050610d5c565b82816020015111610d5c57600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610af49163ffffffff61251916565b6009556020810151600b54610b0e9163ffffffff61253e16565b600b55610bae610b1c6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401610b4d91906130d5565b60206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9d91908101906129bb565b60208301519063ffffffff61256616565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610c60576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610c15573d6000803e3d6000fd5b5080600001516001600160a01b03167ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c86604051610c5391906130d5565b60405180910390a2610cb7565b8181600001516001600160a01b0316336001600160a01b03167f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c888560200151604051610cae92919061329f565b60405180910390a45b610cbf612590565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b8152600401610cf0929190613072565b602060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d42919081019061297f565b506020810151610d5990849063ffffffff61253e16565b92505b5060010161078f565b508015610e3357336108fc610e09610d7b6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401610dac91906130d5565b60206040518083038186803b158015610dc457600080fd5b505afa158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dfc91908101906129bb565b849063ffffffff61256616565b6040518115909202916000818181858888f19350505050158015610e31573d6000803e3d6000fd5b505b6000610e45838363ffffffff61253e16565b90508015610e87577fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd3482604051610e7e92919061322f565b60405180910390a15b935050505090565b6000620a69cb60eb1b610ea06106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610ecb91906130d5565b60206040518083038186803b158015610ee357600080fd5b505afa158015610ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f1b919081019061297f565b15610f385760405162461bcd60e51b81526004016102ab906131ef565b6208aa8960eb1b610f476106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f7291906130d5565b60206040518083038186803b158015610f8a57600080fd5b505afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc2919081019061297f565b15610fdf5760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156110025760405162461bcd60e51b81526004016102ab9061326f565b61100a6125a7565b9250505090565b6005546001600160a01b031681565b600c5481565b60006208aa8960eb1b6110376106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161106291906130d5565b60206040518083038186803b15801561107a57600080fd5b505afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110b2919081019061297f565b156110cf5760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156110f25760405162461bcd60e51b81526004016102ab9061326f565b6110fa6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b815260040161112b91906130d5565b60206040518083038186803b15801561114357600080fd5b505afa158015611157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117b91908101906129bb565b83146111995760405162461bcd60e51b81526004016102ab9061327f565b6111a16106c6565b9392505050565b60006112436111b56106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016111e691906130d5565b60206040518083038186803b1580156111fe57600080fd5b505afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061123691908101906129bb565b839063ffffffff6124ef16565b92915050565b6112516126b4565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061129c908390613013565b60405180910390a150565b6112af6126b4565b60035460ff16151581151514156112c557611319565b6003805460ff1916821515179081905560ff16156112e257426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161129c9160ff909116906130c7565b50565b60048054600101908190556000906208aa8960eb1b6113396106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161136491906130d5565b60206040518083038186803b15801561137c57600080fd5b505afa158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113b4919081019061297f565b156113d15760405162461bcd60e51b81526004016102ab906131ef565b60035460ff16156113f45760405162461bcd60e51b81526004016102ab9061326f565b6113fc6106c6565b92505060045481146114205760405162461bcd60e51b81526004016102ab9061328f565b5090565b6007546001600160a01b031681565b6000606061143f6119c2565b905060005b815181101561154157600082828151811061145b57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906114ac9085906004016130d5565b60206040518083038186803b1580156114c457600080fd5b505afa1580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114fc9190810190612943565b6001600160a01b031614158061152757506000818152600660205260409020546001600160a01b0316155b1561153857600093505050506106c3565b50600101611444565b50600191505090565b600b5481565b6001546001600160a01b031681565b60035460ff1681565b6115706126b4565b600780546001600160a01b0319166001600160a01b0383811691909117918290556040517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a0509261129c921690613021565b60095481565b60606115d16119c2565b905060005b81518110156117195760008282815181106115ed57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161162f9190613008565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161165b9291906130f1565b60206040518083038186803b15801561167357600080fd5b505afa158015611687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116ab9190810190612943565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061170790849084906130e3565b60405180910390a150506001016115d6565b5050565b6001546001600160a01b031633146117475760405162461bcd60e51b81526004016102ab90613140565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261178a926001600160a01b039182169291169061309b565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6009546000905b600a548110156118a2576117d26128cc565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561189957602081015161182590849063ffffffff61251916565b600083815260086020908152604080832080546001600160a01b031916815560010192909255835190840151915192955084926001600160a01b03909116917f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f729161189091906130d5565b60405180910390a35b506001016117c0565b50600b546118b6908263ffffffff61253e16565b600b55336000908152600e60205260409020546118da90829063ffffffff61251916565b336000908152600e60205260408120559050806119095760405162461bcd60e51b81526004016102ab90613190565b611911612590565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161193e929190613072565b602060405180830381600087803b15801561195857600080fd5b505af115801561196c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611990919081019061297f565b507faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b338260405161129c929190613072565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106119fe57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611a2857fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600281518110611a4e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000620a69cb60eb1b611a836106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611aae91906130d5565b60206040518083038186803b158015611ac657600080fd5b505afa158015611ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611afe919081019061297f565b15611b1b5760405162461bcd60e51b81526004016102ab906131ef565b6208aa8960eb1b611b2a6106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611b5591906130d5565b60206040518083038186803b158015611b6d57600080fd5b505afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba5919081019061297f565b15611bc25760405162461bcd60e51b81526004016102ab906131ef565b60035460ff1615611be55760405162461bcd60e51b81526004016102ab9061326f565b611bed6106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b8152600401611c1e91906130d5565b60206040518083038186803b158015611c3657600080fd5b505afa158015611c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c6e91908101906129bb565b8514611c8c5760405162461bcd60e51b81526004016102ab90613130565b611c946106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611cc591906130d5565b60206040518083038186803b158015611cdd57600080fd5b505afa158015611cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d1591908101906129bb565b8414611d335760405162461bcd60e51b81526004016102ab90613150565b611d3b6125a7565b95945050505050565b6000611243611d516106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611d8291906130d5565b60206040518083038186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd291908101906129bb565b839063ffffffff61256616565b611de76126b4565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2b57600080fd5b505af4158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6391908101906129bb565b8111611e815760405162461bcd60e51b81526004016102ab9061321f565b600c8190556040517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679061129c9083906130d5565b600860205260009081526040902080546001909101546001600160a01b039091169082565b6000620a69cb60eb1b611eec6106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401611f1791906130d5565b60206040518083038186803b158015611f2f57600080fd5b505afa158015611f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f67919081019061297f565b15611f845760405162461bcd60e51b81526004016102ab906131ef565b60035460ff1615611fa75760405162461bcd60e51b81526004016102ab9061326f565b611faf6106a5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b8152600401611fe091906130d5565b60206040518083038186803b158015611ff857600080fd5b505afa15801561200c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061203091908101906129bb565b831461204e5760405162461bcd60e51b81526004016102ab9061327f565b612057846126e0565b949350505050565b600d5481565b61206d6126b4565b600d8190556040517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439061129c9083906130d5565b600e6020526000908152604090205481565b6000806121506120c26106a5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004016120f391906130d5565b60206040518083038186803b15801561210b57600080fd5b505afa15801561211f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061214391908101906129bb565b849063ffffffff6124ef16565b90506111a181611d44565b612163612590565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016121929392919061302f565b602060405180830381600087803b1580156121ac57600080fd5b505af11580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121e4919081019061297f565b50600c5481101561226557336000908152600e602052604090205461220f908263ffffffff61251916565b336000818152600e60205260409081902092909255600c5491517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2926122589291859190613080565b60405180910390a1611319565b604080518082018252338082526020808301858152600a80546000908152600890935291859020935184546001600160a01b0319166001600160a01b0390911617845551600190930192909255905491517fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4906122e39085906130d5565b60405180910390a3600a546122ff90600163ffffffff61251916565b600a55600b54612315908263ffffffff61251916565b600b5550565b6123236126b4565b61232b612846565b60005460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261235e929116908590600401613057565b602060405180830381600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611719919081019061297f565b6000620a69cb60eb1b6123c16106a5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016123ec91906130d5565b60206040518083038186803b15801561240457600080fd5b505afa158015612418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061243c919081019061297f565b156124595760405162461bcd60e51b81526004016102ab906131ef565b60035460ff161561247c5760405162461bcd60e51b81526004016102ab9061326f565b6111a1836126e0565b600a5481565b60008181526006602090815260408083205490516001600160a01b0390911691821515916124bb91869101612fe8565b604051602081830303815290604052906124e85760405162461bcd60e51b81526004016102ab919061311f565b5092915050565b6000670de0b6b3a764000061250a848463ffffffff61285d16565b8161251157fe5b049392505050565b6000828201838110156111a15760405162461bcd60e51b81526004016102ab90613160565b6000828211156125605760405162461bcd60e51b81526004016102ab90613170565b50900390565b60006111a18261258485670de0b6b3a764000063ffffffff61285d16565b9063ffffffff61289716565b60006106c06814de5b9d1a1cd554d160ba1b61248b565b6000806125b3346120b4565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f193505050501580156125ed573d6000803e3d6000fd5b506125f6612846565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401612623929190613072565b602060405180830381600087803b15801561263d57600080fd5b505af1158015612651573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612675919081019061297f565b507fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd34826040516126a792919061325f565b60405180910390a1905090565b6000546001600160a01b031633146126de5760405162461bcd60e51b81526004016102ab906131a0565b565b6000806126ec83611d44565b90506126f6612590565b6007546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261272c92339290911690889060040161302f565b602060405180830381600087803b15801561274657600080fd5b505af115801561275a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061277e919081019061297f565b50612787612846565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016127b4929190613072565b602060405180830381600087803b1580156127ce57600080fd5b505af11580156127e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612806919081019061297f565b507fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd83826040516128389291906131b0565b60405180910390a192915050565b60006106c0680a6f2dce8d0cae8d2f60bb1b61248b565b60008261286c57506000611243565b8282028284828161287957fe5b04146111a15760405162461bcd60e51b81526004016102ab906131ff565b60008082116128b85760405162461bcd60e51b81526004016102ab90613180565b60008284816128c357fe5b04949350505050565b604080518082019091526000808252602082015290565b80356112438161332d565b80516112438161332d565b803561124381613341565b805161124381613341565b80356112438161334a565b80516112438161334a565b60006020828403121561293757600080fd5b600061205784846128e3565b60006020828403121561295557600080fd5b600061205784846128ee565b60006020828403121561297357600080fd5b600061205784846128f9565b60006020828403121561299157600080fd5b60006120578484612904565b6000602082840312156129af57600080fd5b6000612057848461290f565b6000602082840312156129cd57600080fd5b6000612057848461291a565b600080604083850312156129ec57600080fd5b60006129f8858561290f565b9250506020612a098582860161290f565b9150509250929050565b6000612a1f8383612aa1565b505060200190565b612a30816132e1565b82525050565b612a30816132c5565b6000612a4a826132b3565b612a5481856132b7565b9350612a5f836132ad565b8060005b83811015612a8d578151612a778882612a13565b9750612a82836132ad565b925050600101612a63565b509495945050505050565b612a30816132d0565b612a30816106c3565b612a30612ab6826106c3565b6106c3565b612a30816132e8565b6000612acf826132b3565b612ad981856132b7565b9350612ae98185602086016132f3565b612af281613323565b9093019392505050565b6000612b09602b836132b7565b7f47756172616e74656564206574686572207261746520776f756c64206e6f742081526a1899481c9958d95a5d995960aa1b602082015260400192915050565b6000612b566035836132b7565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612bad602f836132b7565b7f47756172616e746565642073796e746865746978207261746520776f756c642081526e1b9bdd081899481c9958d95a5d9959608a1b602082015260400192915050565b6000612bfe601b836132b7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612c37601e836132b7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612c70601a836132b7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612ca96011836132c0565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612cd66021836132b7565b7f596f752068617665206e6f206465706f7369747320746f2077697468647261778152601760f91b602082015260400192915050565b6000612d19602f836132b7565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612d6a6004836132b7565b631cd554d160e21b815260200192915050565b6000612d8a601b836132b7565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b6000612dc36021836132b7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612e066025836132b7565b7f45544820616d6f756e742061626f7665206d61784574685075726368617365208152641b1a5b5a5d60da1b602082015260400192915050565b6000612e4d6030836132b7565b7f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206781526f1c99585d195c881d1a185b881553925560821b602082015260400192915050565b6000612e9f6003836132b7565b6208aa8960eb1b815260200192915050565b6000612ebe603c836132b7565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000612f1d6019836132c0565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612f566003836132b7565b620a69cb60eb1b815260200192915050565b6000612f756025836132b7565b7f47756172616e74656564207261746520776f756c64206e6f7420626520726563815264195a5d995960da1b602082015260400192915050565b6000612fbc601f836132b7565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612ff382612c9c565b9150612fff8284612aaa565b50602001919050565b6000612ff382612f10565b602081016112438284612a36565b602081016112438284612a27565b6060810161303d8286612a27565b61304a6020830185612a27565b6120576040830184612aa1565b604081016130658285612a36565b6111a16020830184612aa1565b604081016130658285612a27565b6060810161308e8286612a27565b61304a6020830185612aa1565b604081016130a98285612a36565b6111a16020830184612a36565b602080825281016111a18184612a3f565b602081016112438284612a98565b602081016112438284612aa1565b604081016130a98285612aa1565b604081016130ff8285612aa1565b81810360208301526120578184612ac4565b602081016112438284612abb565b602080825281016111a18184612ac4565b6020808252810161124381612afc565b6020808252810161124381612b49565b6020808252810161124381612ba0565b6020808252810161124381612bf1565b6020808252810161124381612c2a565b6020808252810161124381612c63565b6020808252810161124381612cc9565b6020808252810161124381612d0c565b608080825281016131c081612d5d565b90506131cf6020830185612aa1565b81810360408301526131e081612f49565b90506111a16060830184612aa1565b6020808252810161124381612d7d565b6020808252810161124381612db6565b6020808252810161124381612df9565b6020808252810161124381612e40565b6080808252810161323f81612e92565b905061324e6020830185612aa1565b81810360408301526131e081612d5d565b608080825281016131c081612e92565b6020808252810161124381612eb1565b6020808252810161124381612f68565b6020808252810161124381612faf565b604081016130658285612aa1565b60200190565b5190565b90815260200190565b919050565b6000611243826132d5565b151590565b6001600160a01b031690565b6000611243825b6000611243826132c5565b60005b8381101561330e5781810151838201526020016132f6565b8381111561331d576000848401525b50505050565b601f01601f191690565b613336816132c5565b811461131957600080fd5b613336816132d0565b613336816106c356fea365627a7a72315820db238c99cdf29774a6cda7cf3bfde44f3cb33a9e82cafbf78c5aed17f768b2956c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_fundsWallet", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "fromAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromETHAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "depositIndex", - "type": "uint256" - } - ], - "name": "ClearedDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "fromCurrency", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "toCurrency", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - } - ], - "name": "Exchange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newFundsWallet", - "type": "address" - } - ], - "name": "FundsWalletUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "MaxEthPurchaseUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "MinimumDepositAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "NonPayableContract", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "depositIndex", - "type": "uint256" - } - ], - "name": "SynthDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "minimum", - "type": "uint256" - } - ], - "name": "SynthDepositNotAccepted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "depositIndex", - "type": "uint256" - } - ], - "name": "SynthDepositRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "SynthWithdrawal", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "depositEndIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "depositStartIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deposits", - "outputs": [ - { - "internalType": "address payable", - "name": "user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeEtherForSNX", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "guaranteedEtherRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "guaranteedSynthetixRate", - "type": "uint256" - } - ], - "name": "exchangeEtherForSNXAtRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeEtherForSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "guaranteedRate", - "type": "uint256" - } - ], - "name": "exchangeEtherForSynthsAtRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "synthAmount", - "type": "uint256" - } - ], - "name": "exchangeSynthsForSNX", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "synthAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "guaranteedRate", - "type": "uint256" - } - ], - "name": "exchangeSynthsForSNXAtRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "fundsWallet", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastPauseTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxEthPurchase", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumDepositAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address payable", - "name": "_fundsWallet", - "type": "address" - } - ], - "name": "setFundsWallet", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxEthPurchase", - "type": "uint256" - } - ], - "name": "setMaxEthPurchase", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "setMinimumDepositAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_paused", - "type": "bool" - } - ], - "name": "setPaused", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "smallDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "synthetixReceivedForEther", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "synthetixReceivedForSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "synthsReceivedForEther", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSellableDeposits", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "withdrawMyDepositedSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawSynthetix", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x36c7236b53956b8b099102e8f1110e0db1e82da4ac8a140a31e12e9940944efd", - "urls": [ - "bzz-raw://7d5ba7e153f8bb511e244a7dc147ac6741c9986a410a8e441147123c15ef71a8", - "dweb:/ipfs/QmWF3fgA9ak4KtgJy3AjPgDa4pU5EH86CNNcSeiJVZ9atq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "Depot.sol": "Depot" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "Depot.sol": { - "keccak256": "0x36c7236b53956b8b099102e8f1110e0db1e82da4ac8a140a31e12e9940944efd", - "urls": [ - "bzz-raw://7d5ba7e153f8bb511e244a7dc147ac6741c9986a410a8e441147123c15ef71a8", - "dweb:/ipfs/QmWF3fgA9ak4KtgJy3AjPgDa4pU5EH86CNNcSeiJVZ9atq" - ] - } - }, - "version": 1 - } - }, - "WETH": { - "bytecode": "60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b50610115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b61011291905b808211156100f457600081556001016100fe565b90565b6107cc806101246000396000f3fe60806040526004361061009c5760003560e01c8063313ce56711610064578063313ce5671461021157806370a082311461023c57806395d89b411461026f578063a9059cbb14610284578063d0e30db01461009c578063dd62ed3e146102bd5761009c565b806306fdde03146100a6578063095ea7b31461013057806318160ddd1461017d57806323b872dd146101a45780632e1a7d4d146101e7575b6100a46102f8565b005b3480156100b257600080fd5b506100bb61035d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f55781810151838201526020016100dd565b50505050905090810190601f1680156101225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013c57600080fd5b506101696004803603604081101561015357600080fd5b506001600160a01b0381351690602001356103eb565b604080519115158252519081900360200190f35b34801561018957600080fd5b50610192610451565b60408051918252519081900360200190f35b3480156101b057600080fd5b50610169600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610457565b3480156101f357600080fd5b506100a46004803603602081101561020a57600080fd5b503561058b565b34801561021d57600080fd5b5061022661063a565b6040805160ff9092168252519081900360200190f35b34801561024857600080fd5b506101926004803603602081101561025f57600080fd5b50356001600160a01b0316610643565b34801561027b57600080fd5b506100bb610655565b34801561029057600080fd5b50610169600480360360408110156102a757600080fd5b506001600160a01b0381351690602001356106af565b3480156102c957600080fd5b50610192600480360360408110156102e057600080fd5b506001600160a01b03813581169160200135166106c3565b3360009081526004602052604090208054349081019091556003546103229163ffffffff6106e016565b60035560408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b6001600160a01b03831660009081526004602052604081205482111561047c57600080fd5b6001600160a01b03841633148015906104ba57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b1561051a576001600160a01b03841660009081526005602090815260408083203384529091529020548211156104ef57600080fd5b6001600160a01b03841660009081526005602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260046020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600460205260409020548111156105a757600080fd5b336000908152600460205260409020805482900390556003546105d0908263ffffffff61073a16565b600355604051339082156108fc029083906000818181858888f19350505050158015610600573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60046020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b60006106bc338484610457565b9392505050565b600560209081526000928352604080842090915290825290205481565b6000828201838110156106bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610791576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fea265627a7a723158209e6af16736ff24b0ef24bdb67c53128bf3601539b6b5a1142bdcb54d36600cac64736f6c63430005100032", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "guy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "src", - "type": "address" - }, - { - "internalType": "address", - "name": "dst", - "type": "address" - }, - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x2d78a9c1ba594c571df03bcb586fc2253ed19bb248eb92ce5ca9a4426a96cc39", - "urls": [ - "bzz-raw://3afee083a8b6efd8e810f16f4975ab28f33a06ef7949ed8c2fd76790c7fdcf2e", - "dweb:/ipfs/QmYcuaeXVMZL1XZf5UxUnE45bXkT9sTYnjseC6zXmimyFq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "test-helpers/WETH.sol": "WETH" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "test-helpers/WETH.sol": { - "keccak256": "0x2d78a9c1ba594c571df03bcb586fc2253ed19bb248eb92ce5ca9a4426a96cc39", - "urls": [ - "bzz-raw://3afee083a8b6efd8e810f16f4975ab28f33a06ef7949ed8c2fd76790c7fdcf2e", - "dweb:/ipfs/QmYcuaeXVMZL1XZf5UxUnE45bXkT9sTYnjseC6zXmimyFq" - ] - } - }, - "version": 1 - } - }, - "EtherWrapper": { - "bytecode": "60806040526000600655600060075560006008553480156200002057600080fd5b506040516200275438038062002754833981016040819052620000439162000150565b8180846001600160a01b038116620000785760405162461bcd60e51b81526004016200006f9062000262565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c59184906200022a565b60405180910390a1506000546001600160a01b0316620000f95760405162461bcd60e51b81526004016200006f9062000250565b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916939091169290921790915550620002bd915050565b80516200014a81620002a3565b92915050565b6000806000606084860312156200016657600080fd5b60006200017486866200013d565b935050602062000187868287016200013d565b92505060406200019a868287016200013d565b9150509250925092565b620001af816200028f565b82525050565b620001af816200027d565b6000620001cf60118362000274565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001fe60198362000274565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200023a8285620001a4565b620002496020830184620001b5565b9392505050565b602080825281016200014a81620001c0565b602080825281016200014a81620001ef565b90815260200190565b60006001600160a01b0382166200014a565b60006200014a8260006200014a826200027d565b620002ae816200027d565b8114620002ba57600080fd5b50565b61248780620002cd6000396000f3fe6080604052600436106101815760003560e01c80635cfc1a51116100d1578063899ffef41161008a578063a02a76f111610064578063a02a76f1146103f3578063a0712d6814610408578063bb57ad2014610428578063ee5f3f5c1461043d57610181565b8063899ffef4146103a75780638da5cb5b146103c957806391b4ded9146103de57610181565b80635cfc1a511461031e57806368eb5e4f146103335780636ad8826914610348578063741853601461036857806375d920a91461037d57806379ba50971461039257610181565b80632af64bd31161013e578063509bf42a11610118578063509bf42a146102b257806353a47bb7146102c75780635c095e54146102e95780635c975abb1461030957610181565b80632af64bd31461025b5780633fc8cef31461027d57806342966c681461029257610181565b806302814b86146101a257806304f3bcec146101cd5780630902f1ac146101ef5780631627540c1461020457806316c38b3c1461022657806318819a3114610246575b60405162461bcd60e51b8152600401610199906122d1565b60405180910390fd5b3480156101ae57600080fd5b506101b7610452565b6040516101c4919061223d565b60405180910390f35b3480156101d957600080fd5b506101e2610462565b6040516101c491906122a2565b3480156101fb57600080fd5b506101b7610476565b34801561021057600080fd5b5061022461021f366004611bb2565b6104f7565b005b34801561023257600080fd5b50610224610241366004611bf6565b610555565b34801561025257600080fd5b506101b76105ca565b34801561026757600080fd5b506102706105d4565b6040516101c4919061222f565b34801561028957600080fd5b506101e26106f0565b34801561029e57600080fd5b506102246102ad366004611c50565b6106ff565b3480156102be57600080fd5b506101b7610833565b3480156102d357600080fd5b506102dc61083d565b6040516101c4919061217b565b3480156102f557600080fd5b506101b7610304366004611c50565b61084c565b34801561031557600080fd5b5061027061086c565b34801561032a57600080fd5b506101b7610875565b34801561033f57600080fd5b506101b76108b8565b34801561035457600080fd5b506101b7610363366004611c50565b6108be565b34801561037457600080fd5b506102246108cb565b34801561038957600080fd5b506101b7610a21565b34801561039e57600080fd5b50610224610a27565b3480156103b357600080fd5b506103bc610ac3565b6040516101c4919061221e565b3480156103d557600080fd5b506102dc610bc3565b3480156103ea57600080fd5b506101b7610bd2565b3480156103ff57600080fd5b506101b7610bd8565b34801561041457600080fd5b50610224610423366004611c50565b610bde565b34801561043457600080fd5b50610224610d8c565b34801561044957600080fd5b506101b7611146565b600061045c6111c1565b90505b90565b60035461010090046001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906104a7903090600401612189565b60206040518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061045c9190810190611c6e565b6104ff61121e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061054a90839061217b565b60405180910390a150565b61055d61121e565b60035460ff1615158115151415610573576105c7565b6003805460ff1916821515179081905560ff161561059057426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161054a9160ff9091169061222f565b50565b600061045c61124a565b600060606105e0610ac3565b905060005b81518110156106e75760008282815181106105fc57fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a721916106529186910161223d565b60206040518083038186803b15801561066a57600080fd5b505afa15801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a29190810190611bd8565b6001600160a01b03161415806106cd57506000818152600460205260409020546001600160a01b0316155b156106de576000935050505061045f565b506001016105e5565b50600191505090565b6005546001600160a01b031690565b60035460ff16156107225760405162461bcd60e51b815260040161019990612361565b600061072c610476565b90506000811161074e5760405162461bcd60e51b815260040161019990612381565b60006107f36107e661075e610833565b73__$d4f9e2232a762468832913f371b83514a4$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a257600080fd5b505af41580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107da9190810190611c6e565b9063ffffffff6112b216565b849063ffffffff6112de16565b90508181101561080c5761080781846112f3565b61082e565b61082e8261082961081c856108be565b859063ffffffff6112b216565b6112f3565b505050565b600061045c611628565b6001546001600160a01b031681565b60006108666108596105ca565b839063ffffffff61169016565b92915050565b60035460ff1681565b600080610880610476565b905061088a610452565b811061089a57600091505061045f565b6108b2816108a6610452565b9063ffffffff6116a516565b91505090565b60065481565b6000610866610859610833565b60606108d5610ac3565b905060005b8151811015610a1d5760008282815181106108f157fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109339190612170565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161095f929190612267565b60206040518083038186803b15801561097757600080fd5b505afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109af9190810190611bd8565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a0b908490849061224b565b60405180910390a150506001016108da565b5050565b60085481565b6001546001600160a01b03163314610a515760405162461bcd60e51b8152600401610199906122c1565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610a94926001600160a01b03918216929116906121f5565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610ace6116cd565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050680a6f2dce8d0e68aa8960bb1b81600081518110610b0f57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610b3557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b5f57fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610b8257fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610ba657fe5b602002602001018181525050610bbc828261171e565b9250505090565b6000546001600160a01b031681565b60025481565b60075481565b60035460ff1615610c015760405162461bcd60e51b815260040161019990612361565b600554604051636eb1769f60e11b81526001600160a01b039091169063dd62ed3e90610c339033903090600401612197565b60206040518083038186803b158015610c4b57600080fd5b505afa158015610c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c839190810190611c6e565b811115610ca25760405162461bcd60e51b8152600401610199906122e1565b6005546040516370a0823160e01b81526001600160a01b03909116906370a0823190610cd2903390600401612189565b60206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d229190810190611c6e565b811115610d415760405162461bcd60e51b815260040161019990612351565b6000610d4b610875565b905060008111610d6d5760405162461bcd60e51b815260040161019990612371565b80821015610d8357610d7e826117da565b610a1d565b610a1d816117da565b610d946119b2565b6001600160a01b0316632528f0fe630e68aa8960e31b6040518263ffffffff1660e01b8152600401610dc6919061223d565b60206040518083038186803b158015610dde57600080fd5b505afa158015610df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e169190810190611c14565b15610e335760405162461bcd60e51b815260040161019990612301565b6000610e3d6119b2565b6001600160a01b031663654a60ac630e68aa8960e31b600854631cd554d160e21b6040518463ffffffff1660e01b8152600401610e7c93929190612287565b60206040518083038186803b158015610e9457600080fd5b505afa158015610ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ecc9190810190611c6e565b9050610ed66119cd565b6001600160a01b0316639dc29fac306008546040518363ffffffff1660e01b8152600401610f059291906121da565b600060405180830381600087803b158015610f1f57600080fd5b505af1158015610f33573d6000803e3d6000fd5b5050505060085460065410610f5c57600854600654610f579163ffffffff6116a516565b610f5f565b60005b600655610f6a6119e4565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401610f9c919061223d565b60206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fec9190810190611c32565b6001600160a01b031663867904b46110026119f8565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110729190810190611bd8565b836040518363ffffffff1660e01b8152600401611090929190612210565b600060405180830381600087803b1580156110aa57600080fd5b505af11580156110be573d6000803e3d6000fd5b50506007546110d6925090508263ffffffff6112b216565b6007556110e16119f8565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040161110c919061223d565b600060405180830381600087803b15801561112657600080fd5b505af115801561113a573d6000803e3d6000fd5b50506000600855505050565b600061045c6007546111566119b2565b6001600160a01b031663654a60ac630e68aa8960e31b600654631cd554d160e21b6040518463ffffffff1660e01b815260040161119593929190612287565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156107b6573d6000803e3d6000fd5b60006111cb611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b81526004016104a7929190612259565b6000546001600160a01b031633146112485760405162461bcd60e51b815260040161019990612331565b565b6000611254611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724d696e74466565526174650000000000000000006040518363ffffffff1660e01b81526004016104a7929190612259565b6000828201838110156112d75760405162461bcd60e51b8152600401610199906122f1565b9392505050565b60006112d78383670de0b6b3a7640000611a2a565b6000611305828463ffffffff6116a516565b905061130f6119cd565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161133c929190612197565b60206040518083038186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061138c9190810190611c6e565b8211156113ab5760405162461bcd60e51b8152600401610199906122e1565b6113b36119cd565b6001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016113de9190612189565b60206040518083038186803b1580156113f657600080fd5b505afa15801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142e9190810190611c6e565b82111561144d5760405162461bcd60e51b815260040161019990612351565b6114556119cd565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016114829291906121da565b600060405180830381600087803b15801561149c57600080fd5b505af11580156114b0573d6000803e3d6000fd5b5050505082600654106114d5576006546114d0908463ffffffff6116a516565b6114d8565b60005b6006556114e36119cd565b6001600160a01b031663867904b430836040518363ffffffff1660e01b81526004016115109291906121da565b600060405180830381600087803b15801561152a57600080fd5b505af115801561153e573d6000803e3d6000fd5b5050600854611556925090508263ffffffff6112b216565b60085560055460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061158b90339087906004016121da565b602060405180830381600087803b1580156115a557600080fd5b505af11580156115b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115dd9190810190611c14565b50336001600160a01b03167f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c084838560405161161b93929190612287565b60405180910390a2505050565b6000611632611a0d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724275726e466565526174650000000000000000006040518363ffffffff1660e01b81526004016104a7929190612259565b60006112d78383670de0b6b3a7640000611a6e565b6000828211156116c75760405162461bcd60e51b815260040161019990612311565b50900390565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061170f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561174e578160200160208202803883390190505b50905060005b83518110156117905783818151811061176957fe5b602002602001015182828151811061177d57fe5b6020908102919091010152600101611754565b5060005b82518110156117d3578281815181106117a957fe5b60200260200101518282865101815181106117c057fe5b6020908102919091010152600101611794565b5092915050565b60006117e58261084c565b905060006117f9838363ffffffff6116a516565b6005546040516323b872dd60e01b81529192506001600160a01b0316906323b872dd9061182e903390309088906004016121b2565b602060405180830381600087803b15801561184857600080fd5b505af115801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118809190810190611c14565b506118896119cd565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016118b69291906121da565b600060405180830381600087803b1580156118d057600080fd5b505af11580156118e4573d6000803e3d6000fd5b505050506118f06119cd565b6001600160a01b031663867904b430846040518363ffffffff1660e01b815260040161191d9291906121da565b600060405180830381600087803b15801561193757600080fd5b505af115801561194b573d6000803e3d6000fd5b5050600854611963925090508363ffffffff6112b216565b600855600654611979908463ffffffff6112b216565b60065560405133907f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d9199061161b90849086908890612287565b600061045c6c45786368616e6765526174657360981b611a99565b600061045c680a6f2dce8d0e68aa8960bb1b611a99565b600061045c6524b9b9bab2b960d11b611a99565b600061045c66119959541bdbdb60ca1b611a99565b600061045c6e466c657869626c6553746f7261676560881b611a99565b600080611a5084611a4487600a870263ffffffff611af616565b9063ffffffff611b3016565b90506005600a825b0610611a6257600a015b600a9004949350505050565b600080600a8304611a85868663ffffffff611af616565b81611a8c57fe5b0490506005600a82611a58565b60008181526004602090815260408083205490516001600160a01b039091169182151591611ac991869101612150565b604051602081830303815290604052906117d35760405162461bcd60e51b815260040161019991906122b0565b600082611b0557506000610866565b82820282848281611b1257fe5b04146112d75760405162461bcd60e51b815260040161019990612341565b6000808211611b515760405162461bcd60e51b815260040161019990612321565b6000828481611b5c57fe5b04949350505050565b803561086681612415565b805161086681612415565b803561086681612429565b805161086681612429565b805161086681612432565b80356108668161243b565b80516108668161243b565b600060208284031215611bc457600080fd5b6000611bd08484611b65565b949350505050565b600060208284031215611bea57600080fd5b6000611bd08484611b70565b600060208284031215611c0857600080fd5b6000611bd08484611b7b565b600060208284031215611c2657600080fd5b6000611bd08484611b86565b600060208284031215611c4457600080fd5b6000611bd08484611b91565b600060208284031215611c6257600080fd5b6000611bd08484611b9c565b600060208284031215611c8057600080fd5b6000611bd08484611ba7565b6000611c988383611d1a565b505060200190565b611ca9816123d0565b82525050565b611ca9816123a9565b6000611cc382612397565b611ccd818561239b565b9350611cd883612391565b8060005b83811015611d06578151611cf08882611c8c565b9750611cfb83612391565b925050600101611cdc565b509495945050505050565b611ca9816123b4565b611ca98161045f565b611ca9611d2f8261045f565b61045f565b611ca9816123b9565b6000611d4882612397565b611d52818561239b565b9350611d628185602086016123db565b611d6b8161240b565b9093019392505050565b6000611d8260358361239b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611dd9601d8361239b565b7f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000815260200192915050565b6000611e1260198361239b565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000611e4b601b8361239b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611e8460188361239b565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000611ebd601e8361239b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611ef6601a8361239b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611f2f6011836123a4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611f5c602f8361239b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611fad60218361239b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611ff060128361239b565b7142616c616e636520697320746f6f206c6f7760701b815260200192915050565b600061201e603c8361239b565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b600061207d6019836123a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006120b660268361239b565b7f436f6e747261637420686173206e6f20737061726520636170616369747920748152651bc81b5a5b9d60d21b602082015260400192915050565b60006120fe60388361239b565b7f436f6e74726163742063616e6e6f74206275726e207345544820666f7220574581527f54482c20574554482062616c616e6365206973207a65726f0000000000000000602082015260400192915050565b600061215b82611f22565b91506121678284611d23565b50602001919050565b600061215b82612070565b602081016108668284611caf565b602081016108668284611ca0565b604081016121a58285611ca0565b6112d76020830184611ca0565b606081016121c08286611ca0565b6121cd6020830185611ca0565b611bd06040830184611d1a565b604081016121e88285611ca0565b6112d76020830184611d1a565b604081016122038285611caf565b6112d76020830184611caf565b604081016121e88285611caf565b602080825281016112d78184611cb8565b602081016108668284611d11565b602081016108668284611d1a565b604081016122038285611d1a565b604081016121e88285611d1a565b604081016122758285611d1a565b8181036020830152611bd08184611d3d565b606081016122958286611d1a565b6121cd6020830185611d1a565b602081016108668284611d34565b602080825281016112d78184611d3d565b6020808252810161086681611d75565b6020808252810161086681611dcc565b6020808252810161086681611e05565b6020808252810161086681611e3e565b6020808252810161086681611e77565b6020808252810161086681611eb0565b6020808252810161086681611ee9565b6020808252810161086681611f4f565b6020808252810161086681611fa0565b6020808252810161086681611fe3565b6020808252810161086681612011565b60208082528101610866816120a9565b60208082528101610866816120f1565b60200190565b5190565b90815260200190565b919050565b6000610866826123c4565b151590565b6000610866826123a9565b6001600160a01b031690565b6000610866826123b9565b60005b838110156123f65781810151838201526020016123de565b83811115612405576000848401525b50505050565b601f01601f191690565b61241e816123a9565b81146105c757600080fd5b61241e816123b4565b61241e816123b9565b61241e8161045f56fea365627a7a72315820e881e71595b7b72b28aa77cd6f5ae648ba0f9c37354e842b71c3bdffb8f0d06c6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_WETH", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "Burned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "Minted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseChanged", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "calculateBurnFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "calculateMintFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "capacity", - "outputs": [ - { - "internalType": "uint256", - "name": "_capacity", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "distributeFees", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feesEscrowed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getReserves", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastPauseTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxETH", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "sETHIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "sUSDIssued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_paused", - "type": "bool" - } - ], - "name": "setPaused", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalIssuedSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "weth", - "outputs": [ - { - "internalType": "contract IWETH", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x077459bb6c9cb091f985a3e5c022b69f3f71ecd3160ed24c344645e9de75779e", - "urls": [ - "bzz-raw://9b7e3e825df5a9564a5ab848acf21fce7dabd2a7c0453e8d608630e0f5adb471", - "dweb:/ipfs/Qmeccvri4uGQbVEYjgd8HNMhijw6EPc6D37esHewJwRMFq" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "EtherWrapper.sol": "EtherWrapper" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "EtherWrapper.sol": { - "keccak256": "0x077459bb6c9cb091f985a3e5c022b69f3f71ecd3160ed24c344645e9de75779e", - "urls": [ - "bzz-raw://9b7e3e825df5a9564a5ab848acf21fce7dabd2a7c0453e8d608630e0f5adb471", - "dweb:/ipfs/Qmeccvri4uGQbVEYjgd8HNMhijw6EPc6D37esHewJwRMFq" - ] - } - }, - "version": 1 - } - }, - "NativeEtherWrapper": { - "bytecode": "608060405234801561001057600080fd5b506040516110703803806110708339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050610f4c806101246000396000f3fe6080604052600436106100915760003560e01c806353a47bb71161005957806353a47bb714610152578063741853601461016757806379ba50971461017c578063899ffef4146101915780638da5cb5b146101f657610091565b806304f3bcec146100935780631249c58b146100c45780631627540c146100cc5780632af64bd3146100ff57806342966c6814610128575b005b34801561009f57600080fd5b506100a861020b565b604080516001600160a01b039092168252519081900360200190f35b61009161021a565b3480156100d857600080fd5b50610091600480360360208110156100ef57600080fd5b50356001600160a01b031661051c565b34801561010b57600080fd5b50610114610578565b604080519115158252519081900360200190f35b34801561013457600080fd5b506100916004803603602081101561014b57600080fd5b5035610683565b34801561015e57600080fd5b506100a86109c2565b34801561017357600080fd5b506100916109d1565b34801561018857600080fd5b50610091610b99565b34801561019d57600080fd5b506101a6610c55565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b506100a8610ccc565b6002546001600160a01b031681565b348061026d576040805162461bcd60e51b815260206004820181905260248201527f6d73672e76616c7565206d7573742062652067726561746572207468616e2030604482015290519081900360640190fd5b610275610cdb565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b50505050506102d0610cdb565b6001600160a01b031663095ea7b36102e6610d4e565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b505050506040513d602081101561036057600080fd5b5061036b9050610d4e565b6001600160a01b031663a0712d68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103b057600080fd5b505af11580156103c4573d6000803e3d6000fd5b505050506103d0610d6d565b6001600160a01b031663a9059cbb336103e7610d6d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561043c57600080fd5b505afa158015610450573d6000803e3d6000fd5b505050506040513d602081101561046657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156104b757600080fd5b505af11580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b505060408051828152905133917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a250565b610524610d84565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610584610c55565b905060005b81518110156106795760008282815181106105a057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50516001600160a01b031614158061065f57506000818152600360205260409020546001600160a01b0316155b156106705760009350505050610680565b50600101610589565b5060019150505b90565b600081116106d8576040805162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b60006106e2610cdb565b90506106ec610d6d565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561074457600080fd5b505af1158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b506107799050610d6d565b6001600160a01b031663095ea7b361078f610d4e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107df57600080fd5b505af11580156107f3573d6000803e3d6000fd5b505050506040513d602081101561080957600080fd5b506108149050610d4e565b6001600160a01b03166342966c68836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050604080516370a0823160e01b815230600482015290516001600160a01b0385169350632e1a7d4d925083916370a08231916024808301926020929190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050604051339250479150600081818185875af1925050503d8060008114610981576040519150601f19603f3d011682016040523d82523d6000602084013e610986565b606091505b50506040805184815290513392507f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79181900360200190a25050565b6001546001600160a01b031681565b60606109db610c55565b905060005b8151811015610b955760008282815181106109f757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610aad578181015183820152602001610a95565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610af857600080fd5b505afa158015610b0c573d6000803e3d6000fd5b505050506040513d6020811015610b2257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109e0565b5050565b6001546001600160a01b03163314610be25760405162461bcd60e51b8152600401808060200182810382526035815260200180610eb46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506b22ba3432b92bb930b83832b960a11b81600081518110610c9657fe5b602002602001018181525050680a6f2dce8d0e68aa8960bb1b81600181518110610cbc57fe5b6020908102919091010152905090565b6000546001600160a01b031681565b6000610ce5610d4e565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1d57600080fd5b505afa158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b5051905090565b6000610d686b22ba3432b92bb930b83832b960a11b610dcf565b905090565b6000610d68680a6f2dce8d0e68aa8960bb1b610dcf565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ee9602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610eac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578181015183820152602001610e59565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204d8bbc2807773da1d874c8e9b46a4b43fb5814f272ed67f308d88e41b7031c9164736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Burned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Minted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "mint", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0xaccd2965fbc857b7c945bdd3358483ee7b6593b78397dfd9b097258066b38690", - "urls": [ - "bzz-raw://f4cbe2d06437f51a212105ed17cfae7e2300079e8c6329aafd5414f167923146", - "dweb:/ipfs/QmawghFxLboug8maQsJZcBXXHrpJaKt8YWJX2NKsVrVj5b" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "NativeEtherWrapper.sol": "NativeEtherWrapper" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "NativeEtherWrapper.sol": { - "keccak256": "0xaccd2965fbc857b7c945bdd3358483ee7b6593b78397dfd9b097258066b38690", - "urls": [ - "bzz-raw://f4cbe2d06437f51a212105ed17cfae7e2300079e8c6329aafd5414f167923146", - "dweb:/ipfs/QmawghFxLboug8maQsJZcBXXHrpJaKt8YWJX2NKsVrVj5b" - ] - } - }, - "version": 1 - } - }, - "CollateralUtil": { - "bytecode": "60806040523480156200001157600080fd5b506040516200160f3803806200160f83398101604081905262000034916200006d565b600080546001600160a01b0319166001600160a01b0392909216919091179055620000c2565b80516200006781620000a8565b92915050565b6000602082840312156200008057600080fd5b60006200008e84846200005a565b949350505050565b60006001600160a01b03821662000067565b620000b38162000096565b8114620000bf57600080fd5b50565b61153d80620000d26000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063899ffef41161005b578063899ffef4146100ea5780638a739975146100ff578063e99f964714610112578063fbfeca401461012557610088565b806304f3bcec1461008d5780632af64bd3146100ab5780633c4aa0f3146100c057806374185360146100e0575b600080fd5b610095610138565b6040516100a29190611402565b60405180910390f35b6100b3610147565b6040516100a29190611349565b6100d36100ce366004610f52565b61025d565b6040516100a29190611357565b6100e861039a565b005b6100f26104ef565b6040516100a29190611338565b6100d361010d36600461103f565b61055b565b6100d3610120366004610f9f565b61068f565b6100d3610133366004610fdb565b6107ee565b6000546001600160a01b031681565b600060606101536104ef565b905060005b815181101561025357600082828151811061016f57fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a721906101be908590600401611357565b60206040518083038186803b1580156101d657600080fd5b505afa1580156101ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061020e9190810190610f34565b6001600160a01b031614158061023957506000818152600160205260409020546001600160a01b0316155b1561024a576000935050505061025a565b50600101610158565b5060019150505b90565b600080610268610acb565b9050610272610b7d565b6001600160a01b031663654a60ac8686866040518463ffffffff1660e01b81526004016102a1939291906113da565b60206040518083038186803b1580156102b957600080fd5b505afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f19190810190611021565b915061038f6103828273__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561033e57600080fd5b505af4158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103769190810190611021565b9063ffffffff610c0e16565b839063ffffffff610c3c16565b9150505b9392505050565b60606103a46104ef565b905060005b81518110156104eb5760008282815181106103c057fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610401919061132d565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161042d92919061139b565b60206040518083038186803b15801561044557600080fd5b505afa158015610459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047d9190810190610f34565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906104d99084908490611365565b60405180910390a150506001016103a9565b5050565b6060806104fa610c66565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b8160008151811061053e57fe5b6020026020010181815250506105548282610cb7565b9250505090565b6000806105ea8473__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a657600080fd5b505af41580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105de9190810190611021565b9063ffffffff610d7316565b90506106836105f7610b7d565b6001600160a01b031663654a60ac8589896040518463ffffffff1660e01b8152600401610626939291906113da565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190611021565b829063ffffffff610c3c16565b9150505b949350505050565b60008061069a610b7d565b6001600160a01b031663654a60ac848660400135631cd554d160e21b6040518463ffffffff1660e01b81526004016106d4939291906113da565b60206040518083038186803b1580156106ec57600080fd5b505afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107249190810190611021565b90506000610730610b7d565b6001600160a01b031663654a60ac606087013561075b608089013560c08a013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610781939291906113da565b60206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107d19190810190611021565b90506107e3828263ffffffff610d8816565b925050505b92915050565b6000806107f9610acb565b90506000610805610b7d565b6001600160a01b031663654a60ac606088013561083060808a013560c08b013563ffffffff610c0e16565b631cd554d160e21b6040518463ffffffff1660e01b8152600401610856939291906113da565b60206040518083038186803b15801561086e57600080fd5b505afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108a69190810190611021565b905060006108b2610b7d565b6001600160a01b031663654a60ac868960400135631cd554d160e21b6040518463ffffffff1660e01b81526004016108ec939291906113da565b60206040518083038186803b15801561090457600080fd5b505afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093c9190810190611021565b9050600073__$97b3e989cac6f491ef7ec53236026bc2c9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561098457600080fd5b505af4158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109bc9190810190611021565b905060006109e06109d3848a63ffffffff610d8816565b859063ffffffff610db216565b90506000610a14610a078a6109fb868a63ffffffff610c0e16565b9063ffffffff610d8816565b849063ffffffff610db216565b90506000610a28838363ffffffff610d8816565b9050610a32610b7d565b6001600160a01b031663654a60ac631cd554d160e21b838e606001356040518463ffffffff1660e01b8152600401610a6c939291906113da565b60206040518083038186803b158015610a8457600080fd5b505afa158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610abc9190810190611021565b9b9a5050505050505050505050565b6000610ad5610dda565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401610b28929190611380565b60206040518083038186803b158015610b4057600080fd5b505afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190611021565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610bbe906c45786368616e6765526174657360981b906004016113bb565b60206040518083038186803b158015610bd657600080fd5b505afa158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b789190810190610f34565b6000828201838110156103935760405162461bcd60e51b8152600401610c3390611421565b60405180910390fd5b6000670de0b6b3a7640000610c57848463ffffffff610df716565b81610c5e57fe5b049392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610ca857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610ce7578160200160208202803883390190505b50905060005b8351811015610d2957838181518110610d0257fe5b6020026020010151828281518110610d1657fe5b6020908102919091010152600101610ced565b5060005b8251811015610d6c57828181518110610d4257fe5b6020026020010151828286510181518110610d5957fe5b6020908102919091010152600101610d2d565b5092915050565b60006103938383670de0b6b3a7640000610e31565b600061039382610da685670de0b6b3a764000063ffffffff610df716565b9063ffffffff610e6816565b600082821115610dd45760405162461bcd60e51b8152600401610c3390611431565b50900390565b6000610b786e466c657869626c6553746f7261676560881b610e9d565b600082610e06575060006107e8565b82820282848281610e1357fe5b04146103935760405162461bcd60e51b8152600401610c3390611451565b600080610e4b84610da687600a870263ffffffff610df716565b90506005600a820610610e5c57600a015b600a9004949350505050565b6000808211610e895760405162461bcd60e51b8152600401610c3390611441565b6000828481610e9457fe5b04949350505050565b60008181526001602090815260408083205490516001600160a01b039091169182151591610ecd9186910161130d565b60405160208183030381529060405290610d6c5760405162461bcd60e51b8152600401610c339190611410565b80516107e8816114da565b80356107e8816114f1565b60006101208284031215610f2357600080fd5b50919050565b80516107e8816114f1565b600060208284031215610f4657600080fd5b60006106878484610efa565b600080600060608486031215610f6757600080fd5b6000610f738686610f05565b9350506020610f8486828701610f05565b9250506040610f9586828701610f05565b9150509250925092565b6000806101408385031215610fb357600080fd5b6000610fbf8585610f10565b925050610120610fd185828601610f05565b9150509250929050565b60008060006101608486031215610ff157600080fd5b6000610ffd8686610f10565b93505061012061100f86828701610f05565b925050610140610f9586828701610f05565b60006020828403121561103357600080fd5b60006106878484610f29565b6000806000806080858703121561105557600080fd5b60006110618787610f05565b945050602061107287828801610f05565b935050604061108387828801610f05565b925050606061109487828801610f05565b91505092959194509250565b60006110ac8383611125565b505060200190565b6110bd81611479565b82525050565b60006110ce82611467565b6110d8818561146b565b93506110e383611461565b8060005b838110156111115781516110fb88826110a0565b975061110683611461565b9250506001016110e7565b509495945050505050565b6110bd81611484565b6110bd8161025a565b6110bd61113a8261025a565b61025a565b6110bd81611495565b600061115382611467565b61115d818561146b565b935061116d8185602086016114a0565b611176816114d0565b9093019392505050565b600061118d601b8361146b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006111c6601e8361146b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006111ff601a8361146b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611238601183611474565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061126560218361146b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006112a8601e8361146b565b7f4d697373696e672045786368616e6765526174657320636f6e74726163740000815260200192915050565b60006112e1601983611474565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006113188261122b565b9150611324828461112e565b50602001919050565b6000611318826112d4565b6020808252810161039381846110c3565b602081016107e8828461111c565b602081016107e88284611125565b604081016113738285611125565b61039360208301846110b4565b6040810161138e8285611125565b6103936020830184611125565b604081016113a98285611125565b81810360208301526106878184611148565b604081016113c98284611125565b81810360208301526103938161129b565b606081016113e88286611125565b6113f56020830185611125565b6106876040830184611125565b602081016107e8828461113f565b602080825281016103938184611148565b602080825281016107e881611180565b602080825281016107e8816111b9565b602080825281016107e8816111f2565b602080825281016107e881611258565b60200190565b5190565b90815260200190565b919050565b60006107e882611489565b151590565b6001600160a01b031690565b60006107e882611479565b60005b838110156114bb5781810151838201526020016114a3565b838111156114ca576000848401525b50505050565b601f01601f191690565b6114e381611479565b81146114ee57600080fd5b50565b6114e38161025a56fea365627a7a72315820be04d82aebb54ce767309e3d506d29666dcd7ada38d5615ac8e1df1d6c8017ae6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "collateralKey", - "type": "bytes32" - } - ], - "name": "collateralRedeemed", - "outputs": [ - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "short", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "accruedInterest", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInteraction", - "type": "uint256" - } - ], - "internalType": "struct ICollateralLoan.Loan", - "name": "loan", - "type": "tuple" - }, - { - "internalType": "bytes32", - "name": "collateralKey", - "type": "bytes32" - } - ], - "name": "getCollateralRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "short", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "accruedInterest", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInteraction", - "type": "uint256" - } - ], - "internalType": "struct ICollateralLoan.Loan", - "name": "loan", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "minCratio", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "collateralKey", - "type": "bytes32" - } - ], - "name": "liquidationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minCratio", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "collateralKey", - "type": "bytes32" - } - ], - "name": "maxLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c", - "urls": [ - "bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68", - "dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralUtil.sol": "CollateralUtil" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralUtil.sol": { - "keccak256": "0x0d230fef6ad12ed83cfc02471fb1404366acb4b2abd237dd0ff53f38cf61004c", - "urls": [ - "bzz-raw://3ebd073aea600edd0d37ac97c1d6835043e1dd2c5ffa02c4eed5df15ed66bb68", - "dweb:/ipfs/QmQgaL7CT1BnASYDqmKNjyPpp2iEaTYTFzhWSioA7o4PcN" - ] - } - }, - "version": 1 - } - }, - "CollateralManagerState": { - "bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a72315820564c21bf069c74a21ecf15d016131f6d3bed30e9ca2d69ee992e0e758c6444ae6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "associatedContract", - "type": "address" - } - ], - "name": "AssociatedContractUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "addShortCurrency", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "associatedContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "borrowRates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "borrowRatesLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "decrementLongs", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "decrementShorts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRateAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRatesAndTime", - "outputs": [ - { - "internalType": "uint256", - "name": "entryRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getRatesLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getShortRatesAndTime", - "outputs": [ - { - "internalType": "uint256", - "name": "entryRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "getShortRatesLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "incrementLongs", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "incrementShorts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "incrementTotalLoans", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "long", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ratesLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "removeShortCurrency", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_associatedContract", - "type": "address" - } - ], - "name": "setAssociatedContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "short", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "shortRates", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "shortRatesLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "totalIssuedSynths", - "outputs": [ - { - "internalType": "uint256", - "name": "long", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "short", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalLoans", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "updateBorrowRates", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "updateShortRates", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709", - "urls": [ - "bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33", - "dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralManagerState.sol": "CollateralManagerState" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralManagerState.sol": { - "keccak256": "0x5eb1c02ce9e0f113a20824b5409c9e04f3b0db3ff4b5406f3492d6b8a4810709", - "urls": [ - "bzz-raw://078e571e8a36312e6002761b177359066e11f15f2990628e6a9d2ad05cce1d33", - "dweb:/ipfs/QmYN8NRxECsk9qYQGRPwjBiPr19Ly2pF5ZqmPmv26s27qt" - ] - } - }, - "version": 1 - } - }, - "CollateralManager": { - "bytecode": "670de0b6b3a764000060105560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a0526200004390601590600262000369565b503480156200005157600080fd5b5060405162004093380380620040938339810160408190526200007491620003f9565b84866001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f906200061f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f5918490620005c3565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f906200060d565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169189169190911790556200017a84620001e4565b6200018e836001600160e01b036200025c16565b620001a2826001600160e01b03620002a616565b620001b6816001600160e01b03620002f016565b5050600080546001600160a01b0319166001600160a01b03959095169490941790935550620006ad92505050565b620001f76001600160e01b036200033a16565b600081116200021a5760405162461bcd60e51b81526004016200009f90620005e9565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200025190839062000631565b60405180910390a150565b6200026f6001600160e01b036200033a16565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906200025190839062000631565b620002b96001600160e01b036200033a16565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200025190839062000631565b620003036001600160e01b036200033a16565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200025190839062000631565b6000546001600160a01b03163314620003675760405162461bcd60e51b81526004016200009f90620005fb565b565b82601881019282156200039a579160200282015b828111156200039a5782518255916020019190600101906200037d565b50620003a8929150620003ac565b5090565b620003c991905b80821115620003a85760008155600101620003b3565b90565b8051620003d9816200067d565b92915050565b8051620003d98162000697565b8051620003d981620006a2565b600080600080600080600060e0888a0312156200041557600080fd5b6000620004238a8a620003df565b9750506020620004368a828b01620003cc565b9650506040620004498a828b01620003cc565b95505060606200045c8a828b01620003ec565b94505060806200046f8a828b01620003ec565b93505060a0620004828a828b01620003ec565b92505060c0620004958a828b01620003ec565b91505092959891949750929550565b620004af8162000670565b82525050565b620004af816200064a565b6000620004cf60168362000641565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b60006200050a602f8362000641565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006200055d60118362000641565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200058c60198362000641565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b620004af81620003c9565b60408101620005d38285620004a4565b620005e26020830184620004b5565b9392505050565b60208082528101620003d981620004c0565b60208082528101620003d981620004fb565b60208082528101620003d9816200054e565b60208082528101620003d9816200057d565b60208101620003d98284620005b8565b90815260200190565b6000620003d98262000664565b6000620003d9826200064a565b6001600160a01b031690565b6000620003d98262000657565b62000688816200064a565b81146200069457600080fd5b50565b620006888162000657565b6200068881620003c9565b6139d680620006bd6000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c80638da5cb5b116101b8578063bbb601cd11610104578063e31f27c1116100a2578063eb94bbde1161007c578063eb94bbde146106a7578063edc77dc2146106ba578063ee81f790146106c2578063ffa749cd146106d557610342565b8063e31f27c11461066e578063e32261fe14610681578063e50a31b31461069457610342565b8063c9e18015116100de578063c9e1801514610638578063ca969f2314610640578063d0064c0014610653578063d2f004751461065b57610342565b8063bbb601cd14610615578063bf38668214610628578063c19d93fb1461063057610342565b8063af07aa9d11610171578063b4d6cb401161014b578063b4d6cb40146105c6578063b9e2451c146105e7578063ba1c5e80146105fa578063baa380361461060257610342565b8063af07aa9d14610598578063b38988f7146105ab578063b3b46732146105be57610342565b80638da5cb5b1461054757806391b4ded91461054f57806393a72fbe146105575780639f7eac371461056a578063a894a14b1461057d578063ad79a8581461059057610342565b8063614d08f81161029257806379ba509711610230578063899ffef41161020a578063899ffef4146105045780638b173e81146105195780638d1341901461052c5780638d6ad02d1461053f57610342565b806379ba5097146104c857806380054666146104d05780638471db13146104f157610342565b806372e18b6a1161026c57806372e18b6a14610487578063741853601461049a578063744d646e146104a25780637687402a146104b557610342565b8063614d08f8146104595780636526941b14610461578063710388d11461047457610342565b806323d60e2e116102ff5780634db7764c116102d95780634db7764c146104215780635246f2b91461042957806353a47bb71461043c5780635c975abb1461045157610342565b806323d60e2e146103d95780632af64bd3146103ec578063382453771461040157610342565b806303f048b01461034757806304f3bcec146103735780630c9c81a1146103885780631627540c1461039d57806316c38b3c146103b05780631e33fc6b146103c3575b600080fd5b61035a61035536600461317d565b6106e8565b60405161036a9493929190613877565b60405180910390f35b61037b61077f565b60405161036a91906137a8565b61039b61039636600461317d565b610793565b005b61039b6103ab366004612fcd565b6107db565b61039b6103be366004613141565b61082e565b6103cb6108a3565b60405161036a929190613737565b61039b6103e7366004613080565b610b1e565b6103f4610c4e565b60405161036a91906136f2565b61041461040f36600461317d565b610d6b565b60405161036a919061371b565b610414610d7d565b61039b6104373660046131b9565b610d83565b610444610e16565b60405161036a91906136b8565b6103f4610e25565b610414610e2e565b61039b61046f36600461317d565b610e46565b61039b610482366004613080565b610ea3565b6103f4610495366004613080565b610fb7565b61039b611051565b6103f46104b036600461304b565b6111a7565b61039b6104c33660046131b9565b6111f1565b61039b61124d565b6104e36104de366004613208565b6112e9565b60405161036a929190613765565b6103f46104ff36600461317d565b611414565b61050c611428565b60405161036a91906136e1565b61039b61052736600461317d565b611595565b61039b61053a36600461317d565b6115d2565b610414611662565b610444611668565b610414611677565b6103f4610565366004613080565b61167d565b61039b61057836600461317d565b611760565b61039b61058b366004613080565b6117bd565b6103cb61190c565b61035a6105a63660046131b9565b611afa565b6103f46105b9366004612fcd565b611b95565b610414611bae565b6105d96105d43660046131b9565b611c67565b60405161036a929190613700565b6104146105f536600461317d565b611d2f565b6103cb611d41565b61039b61061036600461317d565b611e64565b61039b610623366004613009565b611ea1565b610414611f81565b61037b611f87565b610414611f96565b61039b61064e366004613009565b611f9c565b610414612155565b61041461066936600461317d565b61215b565b61039b61067c3660046131b9565b6121dc565b61041461068f36600461317d565b612238565b61039b6106a23660046131b9565b612269565b61039b6106b53660046131b9565b6122c5565b6103cb612321565b6103cb6106d036600461317d565b612515565b61039b6106e3366004613009565b612745565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b09061072090889060040161371b565b60806040518083038186803b15801561073857600080fd5b505afa15801561074c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107709190810190613255565b92989197509550909350915050565b60035461010090046001600160a01b031681565b61079b6127fe565b60138190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906107d090839061371b565b60405180910390a150565b6107e36127fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107d09083906136b8565b6108366127fe565b60035460ff161515811515141561084c576108a0565b6003805460ff1916821515179081905560ff161561086957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107d09160ff909116906136f2565b50565b600880546040805160208084028201810190925282815260009384936060938301828280156108f157602002820191906000526020600020905b8154815260200190600101908083116108dd575b50505050509050600081511115610b195760005b8151811015610b1757600082828151811061091c57fe5b60200260200101519050631cd554d160e21b8114156109cb5760055460405163d2f0047560e01b81526109c4916001600160a01b03169063d2f004759061096790859060040161371b565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b7919081019061319b565b869063ffffffff61282a16565b9450610b0e565b6000806109d6612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610a01919061371b565b604080518083038186803b158015610a1857600080fd5b505afa158015610a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5091908101906131e9565b60055460405163d2f0047560e01b8152929450909250600091610aeb9185916001600160a01b039091169063d2f0047590610a8f90899060040161371b565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061319b565b9063ffffffff61287616565b9050610afd888263ffffffff61282a16565b97508115610b0a57600196505b5050505b50600101610905565b505b509091565b610b266127fe565b828114610b4e5760405162461bcd60e51b8152600401610b45906137c7565b60405180910390fd5b60005b83811015610c3f57610b7f858583818110610b6857fe5b90506020020135600a6128a090919063ffffffff16565b610c37576000858583818110610b9157fe5b905060200201359050610bae81600a6128f090919063ffffffff16565b610bd4848484818110610bbd57fe5b9050602002013560086128f090919063ffffffff16565b80600c6000868686818110610be557fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610c2d919061371b565b60405180910390a1505b600101610b51565b50610c48611051565b50505050565b60006060610c5a611428565b905060005b8151811015610d61576000828281518110610c7657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610ccc9186910161371b565b60206040518083038186803b158015610ce457600080fd5b505afa158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1c9190810190612feb565b6001600160a01b0316141580610d4757506000818152600460205260409020546001600160a01b0316155b15610d585760009350505050610d68565b50600101610c5f565b5060019150505b90565b600c6020526000908152604090205481565b60145481565b6000610d8e33611b95565b905080610dad5760405162461bcd60e51b8152600401610b4590613857565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610ddf9086908690600401613765565b600060405180830381600087803b158015610df957600080fd5b505af1158015610e0d573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e4e6127fe565b60008111610e6e5760405162461bcd60e51b8152600401610b4590613827565b60118190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906107d090839061371b565b610eab6127fe565b828114610eca5760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610fb057610ee4858583818110610b6857fe5b15610fa857610f0f858583818110610ef857fe5b90506020020135600a61292890919063ffffffff16565b610f35838383818110610f1e57fe5b90506020020135600861292890919063ffffffff16565b600c6000848484818110610f4557fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f8b57fe5b90506020020135604051610f9f919061371b565b60405180910390a15b600101610ecd565b5050505050565b600a546000908414610fcb57506000611049565b60005b8481101561104357610fe5868683818110610b6857fe5b610ff3576000915050611049565b858582818110610fff57fe5b90506020020135600c600086868581811061101657fe5b905060200201358152602001908152602001600020541461103b576000915050611049565b600101610fce565b50600190505b949350505050565b606061105b611428565b905060005b81518110156111a357600082828151811061107757fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110b991906136ad565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110e5929190613745565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111359190810190612feb565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906111919084908490613729565b60405180910390a15050600101611060565b5050565b6000805b82518110156111e6576111d08382815181106111c357fe5b6020026020010151611b95565b6111de5760009150506111ec565b6001016111ab565b50600190505b919050565b60006111fc33611b95565b90508061121b5760405162461bcd60e51b8152600401610b4590613857565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610ddf9086908690600401613765565b6001546001600160a01b031633146112775760405162461bcd60e51b8152600401610b45906137d7565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926112ba926001600160a01b03918216929116906136c6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60008060006112f733611b95565b9050806113165760405162461bcd60e51b8152600401610b4590613857565b6000806000808761132f5761132a8a6106e8565b611339565b611339898b611afa565b93509350935093506000808961135657611351611d41565b61135f565b61135f8b612515565b9150915080156113815760405162461bcd60e51b8152600401610b4590613867565b60006113ab670de0b6b3a764000061139f428863ffffffff6129fc16565b9063ffffffff612a2416565b905060006113cf6113c2858463ffffffff61287616565b889063ffffffff61282a16565b90506113e1818963ffffffff6129fc16565b9a508499508b6113f9576113f481612a5e565b611403565b6114038d82612abc565b505050505050505050935093915050565b6000908152600c6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061146357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061148d57fe5b6020908102919091010152600d54606090801561151657806040519080825280602002602001820160405280156114ce578160200160208202803883390190505b50915060005b8181101561151457600d8054829081106114ea57fe5b906000526020600020015483828151811061150157fe5b60209081029190910101526001016114d4565b505b600a80546040805160208084028201810190925282815260609361156f93879383018282801561156557602002820191906000526020600020905b815481526020019060010190808311611551575b5050505050612aee565b80519091501561158a576115838185612aee565b945061158e565b8394505b5050505090565b61159d6127fe565b60148190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906107d090839061371b565b60006115dd33611b95565b9050806115fc5760405162461bcd60e51b8152600401610b4590613857565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b69061162c90859060040161371b565b600060405180830381600087803b15801561164657600080fd5b505af115801561165a573d6000803e3d6000fd5b505050505050565b60125481565b6000546001600160a01b031681565b60025481565b600083821461169e5760405162461bcd60e51b8152600401610b45906137c7565b600d5484146116af57506000611049565b60005b82811015611043576005546001600160a01b031663a0356f6e8585848181106116d757fe5b905060200201356040518263ffffffff1660e01b81526004016116fa919061371b565b60206040518083038186803b15801561171257600080fd5b505afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174a919081019061319b565b611758576000915050611049565b6001016116b2565b6117686127fe565b600081116117885760405162461bcd60e51b8152600401610b4590613827565b60108190556040517fcf53b24098da84a81615c6450c76443db743815230079981717af7ff9d647fd4906107d090839061371b565b6117c56127fe565b8281146117e45760405162461bcd60e51b8152600401610b45906137c7565b60005b83811015610c3f5760008585838181106117fd57fe5b90506020020135905061181a81600d6128a090919063ffffffff16565b6119035761182f600d8263ffffffff6128f016565b80600f600086868681811061184057fe5b905060200201358152602001908152602001600020819055507fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a81604051611888919061371b565b60405180910390a16005546001600160a01b031663ed0391548585858181106118ad57fe5b905060200201356040518263ffffffff1660e01b81526004016118d0919061371b565b600060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050505b506001016117e7565b600d805460408051602080840282018101909252828152600093849360609383018282801561195a57602002820191906000526020600020905b815481526020019060010190808311611946575b50505050509050600081511115610b195760005b8151811015610b1757600061199583838151811061198857fe5b6020026020010151612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156119cd57600080fd5b505afa1580156119e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a05919081019061319b565b9050600080611a12612856565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401611a3d919061371b565b604080518083038186803b158015611a5457600080fd5b505afa158015611a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a8c91908101906131e9565b60055460405163719130ff60e11b8152929450909250600091611acb9185916001600160a01b039091169063e32261fe90610a8f90899060040161371b565b9050611add888263ffffffff61282a16565b97508115611aea57600196505b50506001909201915061196e9050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d90611b359089908990600401613765565b60806040518083038186803b158015611b4d57600080fd5b505afa158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b859190810190613255565b9299919850965090945092505050565b6000611ba860068363ffffffff612bb516565b92915050565b600080611bba33611b95565b905080611bd95760405162461bcd60e51b8152600401610b4590613857565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c2957600080fd5b505af1158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c61919081019061319b565b91505090565b6000806000611c74612856565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b8152600401611caa93929190613780565b60206040518083038186803b158015611cc257600080fd5b505afa158015611cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cfa919081019061319b565b9050600080611d07612321565b6011549193509150611d1f838563ffffffff61282a16565b11159450925050505b9250929050565b600f6020526000908152604090205481565b6000806000611d4e612c22565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611d83929190613737565b60206040518083038186803b158015611d9b57600080fd5b505afa158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd3919081019061319b565b9050600080611de06108a3565b90925090506000611df7848463ffffffff61282a16565b90506000611e266a1a1a7062e5185d7e380000611e1a868563ffffffff612c3616565b9063ffffffff612c3616565b90506000611e3f6010548361287690919063ffffffff16565b9050611e566013548261282a90919063ffffffff16565b989397509295505050505050565b611e6c6127fe565b60128190556040517f465c1047eec44dfecb260ee7e6187823a7cbdd80f19082eb56c35967b16d8e26906107d090839061371b565b611ea96127fe565b60005b81811015611f7c57611ee6838383818110611ec357fe5b9050602002016020611ed89190810190612fcd565b60069063ffffffff612bb516565b611f7457611f1c838383818110611ef957fe5b9050602002016020611f0e9190810190612fcd565b60069063ffffffff612c6016565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611f4957fe5b9050602002016020611f5e9190810190612fcd565b604051611f6b91906136b8565b60405180910390a15b600101611eac565b505050565b60135481565b6005546001600160a01b031681565b60105481565b611fa46127fe565b60005b81811015611f7c57611fd5838383818110611fbe57fe5b90506020020135600d6128a090919063ffffffff16565b1561214d57612000838383818110611fe957fe5b90506020020135600d61292890919063ffffffff16565b600061201d84848481811061201157fe5b90506020020135612baa565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561205557600080fd5b505afa158015612069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061208d919081019061319b565b6000818152600f6020526040808220919091556005549051636431e0bd60e01b81529192506001600160a01b031690636431e0bd906120d090849060040161371b565b600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b505050507f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b84848481811061212f57fe5b90506020020135604051612143919061371b565b60405180910390a1505b600101611fa7565b60115481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f004759061218c90859060040161371b565b60206040518083038186803b1580156121a457600080fd5b505afa1580156121b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ba8919081019061319b565b60006121e733611b95565b9050806122065760405162461bcd60e51b8152600401610b4590613857565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610ddf9086908690600401613765565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe9061218c90859060040161371b565b600061227433611b95565b9050806122935760405162461bcd60e51b8152600401610b4590613857565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610ddf9086908690600401613765565b60006122d033611b95565b9050806122ef5760405162461bcd60e51b8152600401610b4590613857565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610ddf9086908690600401613765565b6008805460408051602080840282018101909252828152600093849360609383018282801561236f57602002820191906000526020600020905b81548152602001906001019080831161235b575b50505050509050600081511115610b19576060600061238c612856565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016123b791906136e1565b60006040518083038186803b1580156123cf57600080fd5b505afa1580156123e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261240b91908101906130f0565b909250905060005b825181101561250d57600061248984838151811061242d57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663d2f0047588868151811061246557fe5b60200260200101516040518263ffffffff1660e01b8152600401610a8f919061371b565b905060006124d485848151811061249c57fe5b6020026020010151600560009054906101000a90046001600160a01b03166001600160a01b031663e32261fe89878151811061246557fe5b90506124f6816124ea8a8563ffffffff61282a16565b9063ffffffff61282a16565b9750831561250357600196505b5050600101612413565b505050509091565b600080612520612856565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161254b919061371b565b60206040518083038186803b15801561256357600080fd5b505afa158015612577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259b919081019061315f565b6000848152600f6020526040812054919250906125b790612baa565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125ef57600080fd5b505afa158015612603573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612627919081019061319b565b60055460405163719130ff60e11b81529192506000916001600160a01b039091169063e32261fe9061265d90889060040161371b565b60206040518083038186803b15801561267557600080fd5b505afa158015612689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126ad919081019061319b565b9050808211156126c35750600092506127409050565b60006126d5828463ffffffff6129fc16565b905060006127086a1a1a7062e5185d7e380000611e1a6126fb878763ffffffff61282a16565b859063ffffffff612c3616565b905060006127216012548361287690919063ffffffff16565b90506127386014548261282a90919063ffffffff16565b965050505050505b915091565b61274d6127fe565b60005b81811015611f7c57612767838383818110611ec357fe5b156127f65761279e83838381811061277b57fe5b90506020020160206127909190810190612fcd565b60069063ffffffff612cb216565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a5938383838181106127cb57fe5b90506020020160206127e09190810190612fcd565b6040516127ed91906136b8565b60405180910390a15b600101612750565b6000546001600160a01b031633146128285760405162461bcd60e51b8152600401610b4590613837565b565b60008282018381101561284f5760405162461bcd60e51b8152600401610b45906137e7565b9392505050565b60006128716c45786368616e6765526174657360981b612dc8565b905090565b6000670de0b6b3a7640000612891848463ffffffff612a2416565b8161289857fe5b049392505050565b81546000906128b157506000611ba8565b600082815260018401602052604090205480151580611049575082846000016000815481106128dc57fe5b906000526020600020015414949350505050565b6128fa82826128a0565b6111a35781546000828152600180850160209081526040832084905590830185558482529020018190555050565b61293282826128a0565b61294e5760405162461bcd60e51b8152600401610b45906137f7565b60008181526001830160205260409020548254600019018082146129bc57600084600001828154811061297d57fe5b906000526020600020015490508085600001848154811061299a57fe5b6000918252602080832090910192909255918252600186019052604090208290555b83548490806129c757fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b600082821115612a1e5760405162461bcd60e51b8152600401610b4590613807565b50900390565b600082612a3357506000611ba8565b82820282848281612a4057fe5b041461284f5760405162461bcd60e51b8152600401610b4590613847565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612a8e90849060040161371b565b600060405180830381600087803b158015612aa857600080fd5b505af1158015610fb0573d6000803e3d6000fd5b600554604051632462063960e01b81526001600160a01b039091169063246206399061162c9085908590600401613765565b60608151835101604051908082528060200260200182016040528015612b1e578160200160208202803883390190505b50905060005b8351811015612b6057838181518110612b3957fe5b6020026020010151828281518110612b4d57fe5b6020908102919091010152600101612b24565b5060005b8251811015612ba357828181518110612b7957fe5b6020026020010151828286510181518110612b9057fe5b6020908102919091010152600101612b64565b5092915050565b6000611ba882612dc8565b8154600090612bc657506000611ba8565b6001600160a01b0382166000908152600184016020526040902054801515806110495750826001600160a01b031684600001600081548110612c0457fe5b6000918252602090912001546001600160a01b031614949350505050565b60006128716524b9b9bab2b960d11b612dc8565b600061284f82612c5485670de0b6b3a764000063ffffffff612a2416565b9063ffffffff612e2516565b612c6a8282612bb5565b6111a35781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b612cbc8282612bb5565b612cd85760405162461bcd60e51b8152600401610b45906137f7565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612d77576000846000018281548110612d1157fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612d3a57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612d8257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612df89186910161368d565b60405160208183030381529060405290612ba35760405162461bcd60e51b8152600401610b4591906137b6565b6000808211612e465760405162461bcd60e51b8152600401610b4590613817565b6000828481612e5157fe5b04949350505050565b8035611ba88161396d565b8051611ba88161396d565b60008083601f840112612e8257600080fd5b50813567ffffffffffffffff811115612e9a57600080fd5b602083019150836020820283011115611d2857600080fd5b600082601f830112612ec357600080fd5b8135612ed6612ed1826138dc565b6138b5565b91508181835260208401935060208101905083856020840282011115612efb57600080fd5b60005b83811015612f275781612f118882612e5a565b8452506020928301929190910190600101612efe565b5050505092915050565b600082601f830112612f4257600080fd5b8151612f50612ed1826138dc565b91508181835260208401935060208101905083856020840282011115612f7557600080fd5b60005b83811015612f275781612f8b8882612fc2565b8452506020928301929190910190600101612f78565b8035611ba881613981565b8051611ba881613981565b8035611ba88161398a565b8051611ba88161398a565b600060208284031215612fdf57600080fd5b60006110498484612e5a565b600060208284031215612ffd57600080fd5b60006110498484612e65565b6000806020838503121561301c57600080fd5b823567ffffffffffffffff81111561303357600080fd5b61303f85828601612e70565b92509250509250929050565b60006020828403121561305d57600080fd5b813567ffffffffffffffff81111561307457600080fd5b61104984828501612eb2565b6000806000806040858703121561309657600080fd5b843567ffffffffffffffff8111156130ad57600080fd5b6130b987828801612e70565b9450945050602085013567ffffffffffffffff8111156130d857600080fd5b6130e487828801612e70565b95989497509550505050565b6000806040838503121561310357600080fd5b825167ffffffffffffffff81111561311a57600080fd5b61312685828601612f31565b925050602061313785828601612fac565b9150509250929050565b60006020828403121561315357600080fd5b60006110498484612fa1565b60006020828403121561317157600080fd5b60006110498484612fac565b60006020828403121561318f57600080fd5b60006110498484612fb7565b6000602082840312156131ad57600080fd5b60006110498484612fc2565b600080604083850312156131cc57600080fd5b60006131d88585612fb7565b925050602061313785828601612fb7565b600080604083850312156131fc57600080fd5b60006131268585612fc2565b60008060006060848603121561321d57600080fd5b60006132298686612fb7565b935050602061323a86828701612fb7565b925050604061324b86828701612fa1565b9150509250925092565b6000806000806080858703121561326b57600080fd5b60006132778787612fc2565b945050602061328887828801612fc2565b935050604061329987828801612fc2565b92505060606132aa87828801612fc2565b91505092959194509250565b60006132c2838361333b565b505060200190565b6132d381613910565b82525050565b60006132e482613903565b6132ee8185613907565b93506132f9836138fd565b8060005b8381101561332757815161331188826132b6565b975061331c836138fd565b9250506001016132fd565b509495945050505050565b6132d38161391b565b6132d381610d68565b6132d361335082610d68565b610d68565b6132d38161392c565b600061336982613903565b6133738185613907565b9350613383818560208601613937565b61338c81613963565b9093019392505050565b60006133a3601b83613907565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006133dc603583613907565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613433601b83613907565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061346c601383613907565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061349b601e83613907565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006134d4601a83613907565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061350d6011836111ec565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061353a601683613907565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b600061356c602f83613907565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006135bd602183613907565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613600601983613907565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006136396019836111ec565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613672600c83613907565b6b496e76616c6964207261746560a01b815260200192915050565b600061369882613500565b91506136a48284613344565b50602001919050565b60006136988261362c565b60208101611ba882846132ca565b604081016136d482856132ca565b61284f60208301846132ca565b6020808252810161284f81846132d9565b60208101611ba88284613332565b6040810161370e8285613332565b61284f6020830184613332565b60208101611ba8828461333b565b604081016136d4828561333b565b6040810161370e828561333b565b60408101613753828561333b565b8181036020830152611049818461335e565b60408101613773828561333b565b61284f602083018461333b565b6060810161378e828661333b565b61379b602083018561333b565b611049604083018461333b565b60208101611ba88284613355565b6020808252810161284f818461335e565b60208082528101611ba881613396565b60208082528101611ba8816133cf565b60208082528101611ba881613426565b60208082528101611ba88161345f565b60208082528101611ba88161348e565b60208082528101611ba8816134c7565b60208082528101611ba88161352d565b60208082528101611ba88161355f565b60208082528101611ba8816135b0565b60208082528101611ba8816135f3565b60208082528101611ba881613665565b60808101613885828761333b565b613892602083018661333b565b61389f604083018561333b565b6138ac606083018461333b565b95945050505050565b60405181810167ffffffffffffffff811182821017156138d457600080fd5b604052919050565b600067ffffffffffffffff8211156138f357600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000611ba882613920565b151590565b6001600160a01b031690565b6000611ba882613910565b60005b8381101561395257818101518382015260200161393a565b83811115610c485750506000910152565b601f01601f191690565b61397681613910565b81146108a057600080fd5b6139768161391b565b61397681610d6856fea365627a7a72315820574487fe17eeec2752cfb340e849e5e1b4623fdb32a5c2d6e52e205ff3b1febf6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "contract CollateralManagerState", - "name": "_state", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxDebt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxSkewRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_baseBorrowRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_baseShortRate", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "baseBorrowRate", - "type": "uint256" - } - ], - "name": "BaseBorrowRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "baseShortRate", - "type": "uint256" - } - ], - "name": "BaseShortRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "CollateralAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "CollateralRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "liquidationPenalty", - "type": "uint256" - } - ], - "name": "LiquidationPenaltyUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "maxDebt", - "type": "uint256" - } - ], - "name": "MaxDebtUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "maxSkewRate", - "type": "uint256" - } - ], - "name": "MaxSkewRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "ShortableSynthAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "ShortableSynthRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "SynthAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "SynthRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "utilisationMultiplier", - "type": "uint256" - } - ], - "name": "UtilisationMultiplierUpdated", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "bool", - "name": "isShort", - "type": "bool" - } - ], - "name": "accrueInterest", - "outputs": [ - { - "internalType": "uint256", - "name": "difference", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "collaterals", - "type": "address[]" - } - ], - "name": "addCollaterals", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "requiredSynthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - } - ], - "name": "addShortableSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - } - ], - "name": "addSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "requiredSynthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - } - ], - "name": "areShortableSynthsSet", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "requiredSynthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - } - ], - "name": "areSynthsAndCurrenciesSet", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "baseBorrowRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "baseShortRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "decrementLongs", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "decrementShorts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "exceedsDebtLimit", - "outputs": [ - { - "internalType": "bool", - "name": "canIssue", - "type": "bool" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getBorrowRate", - "outputs": [ - { - "internalType": "uint256", - "name": "borrowRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "getNewLoanId", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getRatesAndTime", - "outputs": [ - { - "internalType": "uint256", - "name": "entryRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "synthKey", - "type": "bytes32" - } - ], - "name": "getShortRate", - "outputs": [ - { - "internalType": "uint256", - "name": "shortRate", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "rateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getShortRatesAndTime", - "outputs": [ - { - "internalType": "uint256", - "name": "entryRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newIndex", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "collaterals", - "type": "address[]" - } - ], - "name": "hasAllCollaterals", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "hasCollateral", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "incrementLongs", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "incrementShorts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "isSynthManaged", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "lastPauseTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "long", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maxSkewRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "collaterals", - "type": "address[]" - } - ], - "name": "removeCollaterals", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synths", - "type": "bytes32[]" - } - ], - "name": "removeShortableSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "synthKeys", - "type": "bytes32[]" - } - ], - "name": "removeSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_baseBorrowRate", - "type": "uint256" - } - ], - "name": "setBaseBorrowRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_baseShortRate", - "type": "uint256" - } - ], - "name": "setBaseShortRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxDebt", - "type": "uint256" - } - ], - "name": "setMaxDebt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_maxSkewRate", - "type": "uint256" - } - ], - "name": "setMaxSkewRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_paused", - "type": "bool" - } - ], - "name": "setPaused", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_utilisationMultiplier", - "type": "uint256" - } - ], - "name": "setUtilisationMultiplier", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "short", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "shortableSynthsByKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "state", - "outputs": [ - { - "internalType": "contract CollateralManagerState", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthsByKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalLong", - "outputs": [ - { - "internalType": "uint256", - "name": "susdValue", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalLongAndShort", - "outputs": [ - { - "internalType": "uint256", - "name": "susdValue", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalShort", - "outputs": [ - { - "internalType": "uint256", - "name": "susdValue", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "anyRateIsInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "updateBorrowRatesCollateral", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "updateShortRatesCollateral", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "utilisationMultiplier", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad", - "urls": [ - "bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd", - "dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralManager.sol": "CollateralManager" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralManager.sol": { - "keccak256": "0x89098c5842d713bb8af732cf85e92ebb61ea60609afa681159559fc25f8819ad", - "urls": [ - "bzz-raw://1dbcf010f850feb88e2b23314b50b81886a32e1b685399a0703206f828c6c5fd", - "dweb:/ipfs/QmZJSF99gV4g5tKtQJKUPDXBbT2orfniSb4TGmPnxyaRZi" - ] - } - }, - "version": 1 - } - }, - "CollateralEth": { - "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b506040516200476938038062004769833981016040819052620000419162000150565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b8152600401620000739062000261565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c99184906200023b565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550506001600e5550620002e295505050505050565b80516200013081620002b2565b92915050565b80516200013081620002cc565b80516200013081620002d7565b60008060008060008060c087890312156200016a57600080fd5b600062000178898962000123565b96505060206200018b89828a0162000143565b95505060406200019e89828a0162000123565b9450506060620001b189828a0162000136565b9350506080620001c489828a0162000136565b92505060a0620001d789828a0162000136565b9150509295509295509295565b620001ef81620002a5565b82525050565b620001ef816200027c565b60006200020f60198362000273565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200024b8285620001e4565b6200025a6020830184620001f5565b9392505050565b60208082528101620001308162000200565b90815260200190565b6000620001308262000299565b90565b600062000130826200027c565b6001600160a01b031690565b600062000130826200028c565b620002bd816200027c565b8114620002c957600080fd5b50565b620002bd8162000289565b620002bd816200028c565b61447780620002f26000396000f3fe60806040526004361061020f5760003560e01c806372e18b6a11610118578063925ead11116100a0578063ba2de9bc1161006f578063ba2de9bc146105b0578063d2b8035a146105c5578063de81eda9146105e5578063e1ec3c6814610605578063f3f437031461063a5761020f565b8063925ead1114610546578063a76cdfa51461055b578063aa2d8ce31461057b578063b562a1ab1461059b5761020f565b8063846321a4116100e7578063846321a4146104af578063899ffef4146104cf5780638cd2e0c7146104f15780638da5cb5b1461051157806390abb4d9146105265761020f565b806372e18b6a14610445578063741853601461046557806379ba50971461047a5780637e1323551461048f5761020f565b8063379607f51161019b578063441a3e701161016a578063441a3e70146103bb57806347e7ef24146103db578063481c6a75146103ee57806353a47bb7146104035780635eb2ad01146104255761020f565b8063379607f51461034657806338245377146103665780634065b81b1461038657806341c738011461039b5761020f565b80631627540c116101e25780631627540c146102af57806323d60e2e146102cf5780632af64bd3146102ef57806330edd96114610311578063361e2086146103315761020f565b806304f3bcec1461021457806306c19e3f1461023f5780630710285c1461025f5780630aebeb4e14610281575b600080fd5b34801561022057600080fd5b5061022961065a565b6040516102369190614009565b60405180910390f35b61025261024d3660046136c0565b610669565b6040516102369190613f97565b34801561026b57600080fd5b5061027f61027a36600461355b565b61067f565b005b34801561028d57600080fd5b506102a161029c366004613684565b6106c5565b604051610236929190613fb3565b3480156102bb57600080fd5b5061027f6102ca3660046134e5565b61070e565b3480156102db57600080fd5b5061027f6102ea3660046135a8565b61076c565b3480156102fb57600080fd5b5061030461083b565b6040516102369190613f89565b34801561031d57600080fd5b5061025261032c366004613684565b610953565b34801561033d57600080fd5b50610252610971565b34801561035257600080fd5b5061027f610361366004613684565b610977565b34801561037257600080fd5b50610252610381366004613684565b610a4c565b34801561039257600080fd5b50610304610a5e565b3480156103a757600080fd5b506102526103b6366004613684565b610a67565b3480156103c757600080fd5b506102a16103d63660046136c0565b610b7f565b6102a16103e9366004613521565b610bca565b3480156103fa57600080fd5b50610229610be3565b34801561040f57600080fd5b50610418610bf2565b6040516102369190613f26565b34801561043157600080fd5b5061027f610440366004613521565b610c01565b34801561045157600080fd5b506103046104603660046135a8565b610c37565b34801561047157600080fd5b5061027f610cfb565b34801561048657600080fd5b5061027f610e4d565b34801561049b57600080fd5b506102526104aa3660046136c0565b610ee9565b3480156104bb57600080fd5b5061027f6104ca366004613684565b610f2e565b3480156104db57600080fd5b506104e4610f6b565b6040516102369190613f78565b3480156104fd57600080fd5b506102a161050c36600461355b565b6110fb565b34801561051d57600080fd5b50610418611116565b34801561053257600080fd5b5061027f610541366004613618565b611125565b34801561055257600080fd5b50610252611171565b34801561056757600080fd5b5061027f610576366004613684565b611177565b34801561058757600080fd5b50610252610596366004613684565b6111b4565b3480156105a757600080fd5b50610252611278565b3480156105bc57600080fd5b5061025261127e565b3480156105d157600080fd5b506102a16105e03660046136c0565b611284565b3480156105f157600080fd5b50610418610600366004613684565b611291565b34801561061157600080fd5b50610625610620366004613684565b6112ac565b604051610236999897969594939291906141ee565b34801561064657600080fd5b506102526106553660046134e5565b611306565b6002546001600160a01b031681565b60006106783484846000611318565b9392505050565b600061068c8484846119c0565b336000908152600f60205260409020549091506106af908263ffffffff611d2716565b336000908152600f602052604090205550505050565b6000806106d23384611d4c565b336000908152600f602052604090205491935091506106f7908263ffffffff611d2716565b336000908152600f60205260409020559092909150565b610716611e42565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610761908390613f26565b60405180910390a150565b610774611e42565b82811461079c5760405162461bcd60e51b815260040161079390614048565b60405180910390fd5b60005b8381101561082c5760008585838181106107b557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061080957fe5b60209081029290920135835250810191909152604001600020555060010161079f565b50610835610cfb565b50505050565b60006060610847610f6b565b905060005b815181101561094957600082828151811061086357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906108b4908590600401613f97565b60206040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109049190810190613503565b6001600160a01b031614158061092f57506000818152600360205260409020546001600160a01b0316155b156109405760009350505050610950565b5060010161084c565b5060019150505b90565b6007818154811061096057fe5b600091825260209091200154905081565b600c5481565b600e805460010190819055336000908152600f60205260409020546109a2908363ffffffff611e6e16565b336000818152600f602052604080822093909355915184906109c390613f1b565b60006040518083038185875af1925050503d8060008114610a00576040519150601f19603f3d011682016040523d82523d6000602084013e610a05565b606091505b5050905080610a265760405162461bcd60e51b815260040161079390614058565b50600e548114610a485760405162461bcd60e51b815260040161079390614168565b5050565b60086020526000908152604090205481565b600d5460ff1681565b6000610a71613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610afc611e96565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610b2f939291906141a5565b60206040518083038186803b158015610b4757600080fd5b505afa158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067891908101906136a2565b600080610b8c8484611eb7565b336000908152600f60205260409020549193509150610bb1908463ffffffff611d2716565b336000908152600f602052604090205590939092509050565b600080610bd8848434611f5c565b909590945092505050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610c09611e42565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c4b57506000610cf3565b60005b84811015610ced576000868683818110610c6457fe5b9050602002013590508060078381548110610c7b57fe5b906000526020600020015414610c9657600092505050610cf3565b60078281548110610ca357fe5b906000526020600020015460086000878786818110610cbe57fe5b9050602002013581526020019081526020016000205414610ce457600092505050610cf3565b50600101610c4e565b50600190505b949350505050565b6060610d05610f6b565b905060005b8151811015610a48576000828281518110610d2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d639190613f10565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d8f929190613fc1565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ddf9190810190613503565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e3b9084908490613fa5565b60405180910390a15050600101610d0a565b6001546001600160a01b03163314610e775760405162461bcd60e51b815260040161079390614038565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610eba926001600160a01b0391821692911690613f4f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610ef3611e96565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610b2f94939291906142da565b92915050565b610f36611e42565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d90610761908390613f97565b606080610f7661202d565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fb557fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610fdf57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061100557fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061102e57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061105457fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b8160058151811061107f57fe5b6020026020010181815250506060611097838361207e565b90506110f38160078054806020026020016040519081016040528092919081815260200182805480156110e957602002820191906000526020600020905b8154815260200190600101908083116110d5575b505050505061207e565b935050505090565b60008061110a8533868661213a565b90969095509350505050565b6000546001600160a01b031681565b61112d611e42565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107619160ff90911690613f89565b600a5481565b61117f611e42565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610761908390613f97565b60006111be613407565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152611249611e96565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610b2f929190614188565b60045481565b600b5481565b600080610bd884846122e9565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b600f6020526000908152604090205481565b600061132261272b565b61132a6127cd565b600d5460ff1661134c5760405162461bcd60e51b815260040161079390614118565b6000838152600860205260409020546113775760405162461bcd60e51b815260040161079390614068565b61137f612821565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016113aa9190613f97565b60206040518083038186803b1580156113c257600080fd5b505afa1580156113d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113fa9190810190613636565b156114175760405162461bcd60e51b8152600401610793906140f8565b600b548510156114395760405162461bcd60e51b815260040161079390614148565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb40906114709089908990600401613fb3565b604080518083038186803b15801561148757600080fd5b505afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114bf9190810190613654565b915091508180156114ce575080155b6114ea5760405162461bcd60e51b8152600401610793906140d8565b6114f48786610ee9565b8611156115135760405162461bcd60e51b815260040161079390614138565b600061152a600c548861283c90919063ffffffff16565b9050600061153e888363ffffffff611e6e16565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115c891908101906136a2565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061169290612851565b61169c8288612943565b851561188f576116aa612b2f565b6001600160a01b031663867904b4336116c1612821565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016116f793929190613fe1565b60206040518083038186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174791908101906136a2565b6040518363ffffffff1660e01b8152600401611764929190613f34565b600060405180830381600087803b15801561177e57600080fd5b505af1158015611792573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c191506117c8908a908c90600401613fb3565b600060405180830381600087803b1580156117e257600080fd5b505af11580156117f6573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b031615905061188a576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906118579033908c90600401613f34565b600060405180830381600087803b15801561187157600080fd5b505af1158015611885573d6000803e3d6000fd5b505050505b61196b565b6000878152600860205260409020546118a790612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016118d4929190613f34565b600060405180830381600087803b1580156118ee57600080fd5b505af1158015611902573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150611938908a908c90600401613fb3565b600060405180830381600087803b15801561195257600080fd5b505af1158015611966573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516119ac9594939291906142f5565b60405180910390a250505050949350505050565b60006119ca61272b565b6119d26127cd565b600082116119f25760405162461bcd60e51b815260040161079390614178565b60006119fe8486612b51565b9050611a0f33826003015485612ba5565b600a54611a1a611e96565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b8152600401611a499291906141d0565b60206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9991908101906136a2565b10611ab65760405162461bcd60e51b815260040161079390614158565b6000611ac0611e96565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b8152600401611af3939291906141df565b60206040518083038186803b158015611b0b57600080fd5b505afa158015611b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b4391908101906136a2565b90506000848210611b545784611b56565b815b90506000611b7584600601548560040154611d2790919063ffffffff16565b9050808210611b9657611b89883386612c5d565b9550610678945050505050565b611ba533856003015484612ba5565b611baf8483612cce565b611bb7611e96565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b8152600401611bec93929190613fe1565b60206040518083038186803b158015611c0457600080fd5b505afa158015611c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3c91908101906136a2565b6002850154909550611c54908663ffffffff611e6e16565b60028501556003840154600090815260086020526040902054611c7690612b46565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611ca3929190613f34565b600060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d149493929190614274565b60405180910390a2505050509392505050565b6000828201838110156106785760405162461bcd60e51b815260040161079390614078565b600080611d5761272b565b611d5f6127cd565b6000611d6b8486612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611de790612ebd565b611df2858683612f0a565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f90611e32908790613f97565b60405180910390a2509250929050565b6000546001600160a01b03163314611e6c5760405162461bcd60e51b8152600401610793906140b8565b565b600082821115611e905760405162461bcd60e51b815260040161079390614098565b50900390565b6000611eb26d10dbdb1b185d195c985b155d1a5b60921b613170565b905090565b600080611ec261272b565b611eca6127cd565b6000611ed68533612b51565b6002810154909150611eee908563ffffffff611e6e16565b6002820155611efc816131cd565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611f3d93929190613fe1565b60405180910390a28060040154816002015492509250505b9250929050565b600080611f6761272b565b611f6f6127cd565b60008311611f8f5760405162461bcd60e51b815260040161079390614128565b60008481526005602052604090206007810154611fab90613206565b611fb481612851565b6002810154611fc9908563ffffffff611d2716565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c9161200e918991899190613fe1565b60405180910390a2806004015481600201549250925050935093915050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061206f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156120ae578160200160208202803883390190505b50905060005b83518110156120f0578381815181106120c957fe5b60200260200101518282815181106120dd57fe5b60209081029190910101526001016120b4565b5060005b82518110156121335782818151811061210957fe5b602002602001015182828651018151811061212057fe5b60209081029190910101526001016120f4565b5092915050565b60008061214561272b565b61214d6127cd565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e082015260088201546101008201526121d790612ebd565b6121e686826003015486612ba5565b6121ef81612851565b6121f98185612cce565b600381015460009081526008602052604090205461221690612b46565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401612243929190613f6a565b600060405180830381600087803b15801561225d57600080fd5b505af1158015612271573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f878785600401546040516122c993929190613fe1565b60405180910390a380600401548160020154925092505094509492505050565b6000806122f461272b565b6122fc6127cd565b60006123088533612b51565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061238490612ebd565b6004810154612399908563ffffffff611d2716565b60048201556123a7816131cd565b60006123be600c548661283c90919063ffffffff16565b905060006123d2868363ffffffff611e6e16565b600584015490915060ff16156125df57600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c191612417918a90600401613fb3565b600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b50505050612451612b2f565b6001600160a01b031663867904b433612468612821565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b81526004016124a293929190613fe1565b60206040518083038186803b1580156124ba57600080fd5b505afa1580156124ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124f291908101906136a2565b6040518363ffffffff1660e01b815260040161250f929190613f34565b600060405180830381600087803b15801561252957600080fd5b505af115801561253d573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156125da5760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906125a79033908a90600401613f34565b600060405180830381600087803b1580156125c157600080fd5b505af11580156125d5573d6000803e3d6000fd5b505050505b6126c3565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde91612614918a90600401613fb3565b600060405180830381600087803b15801561262e57600080fd5b505af1158015612642573d6000803e3d6000fd5b50505060038401546000908152600860205260409020546126639150612b46565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612690929190613f34565b600060405180830381600087803b1580156126aa57600080fd5b505af11580156126be573d6000803e3d6000fd5b505050505b6126d1828460030154612943565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106549061270b908a908a90613fb3565b60405180910390a282600401548360020154945094505050509250929050565b612733612821565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127609190613f97565b60206040518083038186803b15801561277857600080fd5b505afa15801561278c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127b09190810190613636565b15611e6c5760405162461bcd60e51b8152600401610793906140f8565b6127d5613223565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561280d57600080fd5b505afa158015610835573d6000803e3d6000fd5b6000611eb26c45786368616e6765526174657360981b613170565b60006106788383670de0b6b3a764000061323d565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936128999360ff909116906004016142b2565b6040805180830381600087803b1580156128b257600080fd5b505af11580156128c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ea91908101906136df565b9150915060008360070154600014612916576004840154612911908463ffffffff61327916565b612919565b60005b6006850154909150612931908263ffffffff611d2716565b60068501555060079092019190915550565b8115610a4857631cd554d160e21b81146129e85761295f612821565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161299593929190613fe1565b60206040518083038186803b1580156129ad57600080fd5b505afa1580156129c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129e591908101906136a2565b91505b6129f0612b2f565b6001600160a01b031663867904b4612a066132a3565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190613503565b846040518363ffffffff1660e01b8152600401612a94929190613f6a565b600060405180830381600087803b158015612aae57600080fd5b505af1158015612ac2573d6000803e3d6000fd5b50505050612ace6132a3565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401612af99190613f97565b600060405180830381600087803b158015612b1357600080fd5b505af1158015612b27573d6000803e3d6000fd5b505050505050565b6000611eb26814de5b9d1a1cd554d160ba1b613170565b6000610f2882613170565b60008281526005602052604090206007810154612b6d90613206565b60018101546001600160a01b03838116911614612b9c5760405162461bcd60e51b815260040161079390614108565b610f2881612851565b6000828152600860205260409020548190612bbf90612b46565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612bea9190613f26565b60206040518083038186803b158015612c0257600080fd5b505afa158015612c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c3a91908101906136a2565b1015612c585760405162461bcd60e51b8152600401610793906140a8565b505050565b600080612c6b858585612f0a565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612cbe93929190613fe1565b60405180910390a3935093915050565b60008111612cee5760405162461bcd60e51b815260040161079390614178565b600682015415612d5057600082600601548211612d0b5781612d11565b82600601545b6006840154909150612d29908263ffffffff611e6e16565b6006840155612d3e828263ffffffff611e6e16565b9150612d4e818460030154612943565b505b8015610a48576004820154612d6b908263ffffffff611e6e16565b6004830155600582015460ff1615612e88576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612db2918590600401613fb3565b600060405180830381600087803b158015612dcc57600080fd5b505af1158015612de0573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612e8357600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612e50929116908590600401613f34565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b610a48565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b391612af9918590600401613fb3565b612eca8160e00151613206565b42612ee9612ed7306132b8565b6101008401519063ffffffff611d2716565b1115612f075760405162461bcd60e51b8152600401610793906140e8565b50565b6000806000612f2a84600601548560040154611d2790919063ffffffff16565b90508360040154925083600201549150612f4985856003015483612ba5565b6003840154600090815260086020526040902054612f6690612b46565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612f93929190613f6a565b600060405180830381600087803b158015612fad57600080fd5b505af1158015612fc1573d6000803e3d6000fd5b50505050600584015460ff16156130df576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361300c9390929101613fb3565b600060405180830381600087803b15801561302657600080fd5b505af115801561303a573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156130da5760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926130a7928b929101613f6a565b600060405180830381600087803b1580156130c157600080fd5b505af11580156130d5573d6000803e3d6000fd5b505050505b61314c565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b3936131199390929101613fb3565b600060405180830381600087803b15801561313357600080fd5b505af1158015613147573d6000803e3d6000fd5b505050505b61315e84600601548560030154612943565b6131678461338b565b50935093915050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916131a091869101613ef0565b604051602081830303815290604052906121335760405162461bcd60e51b81526004016107939190614017565b60048101546131db57612f07565b600a5481546131e9906111b4565b11612f075760405162461bcd60e51b815260040161079390614028565b80612f075760405162461bcd60e51b815260040161079390614088565b6000611eb26b53797374656d53746174757360a01b613170565b600080600a8304613254868663ffffffff6133b016565b8161325b57fe5b0490506005600a82061061326d57600a015b600a9004949350505050565b6000670de0b6b3a7640000613294848463ffffffff6133b016565b8161329b57fe5b049392505050565b6000611eb266119959541bdbdb60ca1b613170565b60006132c26133ea565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b85604051602001613308929190613eca565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161333b929190613fb3565b60206040518083038186803b15801561335357600080fd5b505afa158015613367573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f2891908101906136a2565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000826133bf57506000610f28565b828202828482816133cc57fe5b04146106785760405162461bcd60e51b8152600401610793906140c8565b6000611eb26e466c657869626c6553746f7261676560881b613170565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f288161440e565b8051610f288161440e565b60008083601f84011261348957600080fd5b50813567ffffffffffffffff8111156134a157600080fd5b602083019150836020820283011115611f5557600080fd5b8035610f2881614422565b8051610f2881614422565b8035610f288161442b565b8051610f288161442b565b6000602082840312156134f757600080fd5b6000610cf38484613461565b60006020828403121561351557600080fd5b6000610cf3848461346c565b6000806040838503121561353457600080fd5b60006135408585613461565b9250506020613551858286016134cf565b9150509250929050565b60008060006060848603121561357057600080fd5b600061357c8686613461565b935050602061358d868287016134cf565b925050604061359e868287016134cf565b9150509250925092565b600080600080604085870312156135be57600080fd5b843567ffffffffffffffff8111156135d557600080fd5b6135e187828801613477565b9450945050602085013567ffffffffffffffff81111561360057600080fd5b61360c87828801613477565b95989497509550505050565b60006020828403121561362a57600080fd5b6000610cf384846134b9565b60006020828403121561364857600080fd5b6000610cf384846134c4565b6000806040838503121561366757600080fd5b600061367385856134c4565b9250506020613551858286016134c4565b60006020828403121561369657600080fd5b6000610cf384846134cf565b6000602082840312156136b457600080fd5b6000610cf384846134da565b600080604083850312156136d357600080fd5b600061354085856134cf565b600080604083850312156136f257600080fd5b60006136fe85856134da565b9250506020613551858286016134da565b600061371b83836137ae565b505060200190565b61372c8161437b565b82525050565b61372c8161436b565b61372c6137478261436b565b6143ed565b600061375782614347565b613761818561434b565b935061376c83614341565b8060005b8381101561379a578151613784888261370f565b975061378f83614341565b925050600101613770565b509495945050505050565b61372c81614376565b61372c81610950565b61372c6137c382610950565b610950565b61372c81614382565b60006137dc82614347565b6137e6818561434b565b93506137f681856020860161438d565b6137ff816143fe565b9093019392505050565b6000613816600e8361434b565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061384060358361434b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061389760158361434b565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b60006138c8600f8361434b565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b60006138f360148361434b565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613923601b8361434b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061395c600e8361434b565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613986601e8361434b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006139bf601183614354565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006139ec60128361434b565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613a1a602f8361434b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613a6b60218361434b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613aae601a8361434b565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000613ae760138361434b565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000613b16601983614354565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4f600c8361434b565b6b496e76616c6964207261746560a01b815260200192915050565b6000613b7760108361434b565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000610f28600083614354565b6000613bb0600d8361434b565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000613bd960178361434b565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000613c1260178361434b565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b6000613c4b60158361434b565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b6000613c7c60168361434b565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000613cae601f8361434b565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000613ce760178361434b565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b8051610120830190613d2584826137ae565b506020820151613d386020850182613732565b506040820151613d4b60408501826137ae565b506060820151613d5e60608501826137ae565b506080820151613d7160808501826137ae565b5060a0820151613d8460a08501826137a5565b5060c0820151613d9760c08501826137ae565b5060e0820151613daa60e08501826137ae565b506101008201516108356101008501826137ae565b8054610120830190613dd0816143df565b613dda85826137ae565b50506001820154613dea816143b9565b613df76020860182613732565b50506002820154613e07816143df565b613e1460408601826137ae565b50506003820154613e24816143df565b613e3160608601826137ae565b50506004820154613e41816143df565b613e4e60808601826137ae565b50506005820154613e5e816143cc565b613e6b60a08601826137a5565b50506006820154613e7b816143df565b613e8860c08601826137ae565b50506007820154613e98816143df565b613ea560e08601826137ae565b50506008820154613eb5816143df565b613ec36101008601826137ae565b5050505050565b6000613ed682856137b7565b602082019150613ee6828461373b565b5060140192915050565b6000613efb826139b2565b9150613f0782846137b7565b50602001919050565b6000613efb82613b09565b6000610f2882613b96565b60208101610f288284613732565b60408101613f428285613723565b61067860208301846137ae565b60408101613f5d8285613732565b6106786020830184613732565b60408101613f428285613732565b60208082528101610678818461374c565b60208101610f2882846137a5565b60208101610f2882846137ae565b60408101613f5d82856137ae565b60408101613f4282856137ae565b60408101613fcf82856137ae565b8181036020830152610cf381846137d1565b60608101613fef82866137ae565b613ffc60208301856137ae565b610cf360408301846137ae565b60208101610f2882846137c8565b6020808252810161067881846137d1565b60208082528101610f2881613809565b60208082528101610f2881613833565b60208082528101610f288161388a565b60208082528101610f28816138bb565b60208082528101610f28816138e6565b60208082528101610f2881613916565b60208082528101610f288161394f565b60208082528101610f2881613979565b60208082528101610f28816139df565b60208082528101610f2881613a0d565b60208082528101610f2881613a5e565b60208082528101610f2881613aa1565b60208082528101610f2881613ada565b60208082528101610f2881613b42565b60208082528101610f2881613b6a565b60208082528101610f2881613ba3565b60208082528101610f2881613bcc565b60208082528101610f2881613c05565b60208082528101610f2881613c3e565b60208082528101610f2881613c6f565b60208082528101610f2881613ca1565b60208082528101610f2881613cda565b61014081016141978285613d13565b6106786101208301846137ae565b61016081016141b48286613d13565b6141c26101208301856137ae565b610cf36101408301846137ae565b61014081016141978285613dbf565b61016081016141b48286613dbf565b61012081016141fd828c6137ae565b61420a602083018b613732565b614217604083018a6137ae565b61422460608301896137ae565b61423160808301886137ae565b61423e60a08301876137a5565b61424b60c08301866137ae565b61425860e08301856137ae565b6142666101008301846137ae565b9a9950505050505050505050565b6080810161428282876137ae565b61428f6020830186613723565b61429c60408301856137ae565b6142a960608301846137ae565b95945050505050565b606081016142c082866137ae565b6142cd60208301856137ae565b610cf360408301846137a5565b608081016142e882876137ae565b61428f60208301866137ae565b60a0810161430382886137ae565b61431060208301876137ae565b61431d60408301866137ae565b61432a60608301856137ae565b61433760808301846137ae565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f2882614359565b151590565b6000610f28825b6000610f288261436b565b60005b838110156143a8578181015183820152602001614390565b838111156108355750506000910152565b6000610f286143c783610950565b614359565b6000610f286143da83610950565b614365565b6000610f286137c383610950565b6000610f28826000610f2882614408565b601f01601f191690565b60601b90565b6144178161436b565b8114612f0757600080fd5b61441781614376565b6144178161095056fea365627a7a723158204e3f97b3f5802dab33a13b27f84889972a099dcf1e4dd1f2e1f4db2ce2ef17d36c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract ICollateralManager", - "name": "_manager", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_collateralKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_minCratio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "canOpenLoans", - "type": "bool" - } - ], - "name": "CanOpenLoansUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountDeposited", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountWithdrawn", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "issueFeeRate", - "type": "uint256" - } - ], - "name": "IssueFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "LoanClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanClosedByLiquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "LoanClosedByRepayment", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "issuanceFee", - "type": "uint256" - } - ], - "name": "LoanCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "LoanDrawnDown", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanPartiallyLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "repayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountAfter", - "type": "uint256" - } - ], - "name": "LoanRepaymentMade", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "minCollateral", - "type": "uint256" - } - ], - "name": "MinCollateralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "rewardsContract", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "addRewardsContracts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "addSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "areSynthsAndCurrenciesSet", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "canOpenLoans", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "close", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "collateralKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "collateralRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "draw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issueFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "liquidate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "liquidationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "liqAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "loans", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "short", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "accruedInterest", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInteraction", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "contract ICollateralManager", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "maxLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCratio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "open", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "pendingWithdrawals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "repay", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_canOpenLoans", - "type": "bool" - } - ], - "name": "setCanOpenLoans", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_issueFeeRate", - "type": "uint256" - } - ], - "name": "setIssueFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - } - ], - "name": "setMinCollateral", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "shortingRewards", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "synths", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthsByKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4", - "urls": [ - "bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06", - "dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralEth.sol": "CollateralEth" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralEth.sol": { - "keccak256": "0x2aeee4c138000094e43bfeeeaa6ffe79d00892726fe39ce3920309254bbf93e4", - "urls": [ - "bzz-raw://ea7d644303f31b37d3921f512100ba5400e90844c284e9419d2c9e8b2a839e06", - "dweb:/ipfs/Qmbm4TbgrSd5q8akay5dnMzCpiK2k5GpZrJRKT4nUtt7A1" - ] - } - }, - "version": 1 - } - }, - "MockToken": { - "bytecode": "60806040523480156200001157600080fd5b5060405162000cc738038062000cc7833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052602090810151855190935085925084918491620001c091600391908601906200036c565b508151620001d69060049060208501906200036c565b506005805460ff191660ff9283161790556200020092503391508316600a0a620f42400262000209565b50505062000411565b6001600160a01b03821662000265576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000281816002546200030a60201b620007821790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002b4918390620007826200030a821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000365576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003af57805160ff1916838001178555620003df565b82800160010185558215620003df579182015b82811115620003df578251825591602001919060010190620003c2565b50620003ed929150620003f1565b5090565b6200040e91905b80821115620003ed5760008155600101620003f8565b90565b6108a680620004216000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b610173610365565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b0381358116916020810135909116906040013561036b565b6101c36103c2565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b0381351690602001356103cb565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610407565b6100b6610422565b6101576004803603604081101561024957600080fd5b506001600160a01b038135169060200135610483565b6101576004803603604081101561027557600080fd5b506001600160a01b0381351690602001356104bf565b610173600480360360408110156102a157600080fd5b506001600160a01b03813581169160200135166104cc565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061035c3384846104f7565b50600192915050565b60025490565b60006103788484846105e3565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546103b89186916103b3908663ffffffff61072516565b6104f7565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161035c9185906103b3908663ffffffff61078216565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161035c9185906103b3908663ffffffff61072516565b600061035c3384846105e3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661053c5760405162461bcd60e51b815260040180806020018281038252602481526020018061084e6024913960400191505060405180910390fd5b6001600160a01b0382166105815760405162461bcd60e51b81526004018080602001828103825260228152602001806108076022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106285760405162461bcd60e51b81526004018080602001828103825260258152602001806108296025913960400191505060405180910390fd5b6001600160a01b03821661066d5760405162461bcd60e51b81526004018080602001828103825260238152602001806107e46023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610696908263ffffffff61072516565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106cb908263ffffffff61078216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561077c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107dc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820206b2eaf55d2533343aa0dbb186f41bca8fc3d9a1262a51258e3359410ad4a3b64736f6c63430005100032", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x6de9974eadfbbb6ab75fc482e48820cf25dedc348295adb385b626b62ccdcc1a", - "urls": [ - "bzz-raw://dec9c9e6c89ff9b515c8b154173f517ed7f411d1b5ca07c74422f4293c460edb", - "dweb:/ipfs/QmRmVr5VawH3pSt6nBeXkMmSRQ4TgxPHRva6SF4TWYoh8Z" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "test-helpers/MockToken.sol": "MockToken" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "test-helpers/MockToken.sol": { - "keccak256": "0x6de9974eadfbbb6ab75fc482e48820cf25dedc348295adb385b626b62ccdcc1a", - "urls": [ - "bzz-raw://dec9c9e6c89ff9b515c8b154173f517ed7f411d1b5ca07c74422f4293c460edb", - "dweb:/ipfs/QmRmVr5VawH3pSt6nBeXkMmSRQ4TgxPHRva6SF4TWYoh8Z" - ] - } - }, - "version": 1 - } - }, - "CollateralErc20": { - "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b5060405162004aa538038062004aa583398101604081905262000041916200016c565b8787878787878380876001600160a01b0381166200007c5760405162461bcd60e51b81526004016200007390620002aa565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c991849062000284565b60405180910390a150600280546001600160a01b03199081166001600160a01b0393841617909155600680549091169782169790971790965550600492909255600a55600b5550600d8054610100600160a81b031916610100959092169490940217909255600e55506200032b95505050505050565b80516200014c81620002fb565b92915050565b80516200014c8162000315565b80516200014c8162000320565b600080600080600080600080610100898b0312156200018a57600080fd5b6000620001988b8b6200013f565b9850506020620001ab8b828c016200015f565b9750506040620001be8b828c016200013f565b9650506060620001d18b828c0162000152565b9550506080620001e48b828c0162000152565b94505060a0620001f78b828c0162000152565b93505060c06200020a8b828c016200013f565b92505060e06200021d8b828c0162000152565b9150509295985092959890939650565b6200023881620002ee565b82525050565b6200023881620002c5565b600062000258601983620002bc565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200029482856200022d565b620002a360208301846200023e565b9392505050565b602080825281016200014c8162000249565b90815260200190565b60006200014c82620002e2565b90565b60006200014c82620002c5565b6001600160a01b031690565b60006200014c82620002d5565b6200030681620002c5565b81146200031257600080fd5b50565b6200030681620002d2565b6200030681620002d5565b61476a806200033b6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637418536011610130578063925ead11116100b8578063ba2de9bc1161007c578063ba2de9bc1461046a578063d2b8035a14610472578063de81eda914610485578063e1ec3c6814610498578063f93451ed146104c057610232565b8063925ead1114610421578063a76cdfa514610429578063aa2d8ce31461043c578063b094f2c41461044f578063b562a1ab1461046257610232565b8063883a2209116100ff578063883a2209146103cb578063899ffef4146103de5780638cd2e0c7146103f35780638da5cb5b1461040657806390abb4d91461040e57610232565b8063741853601461039557806379ba50971461039d5780637e132355146103a5578063846321a4146103b857610232565b8063361e2086116101be578063441a3e7011610182578063441a3e701461034c578063481c6a751461035f57806353a47bb7146103675780635eb2ad011461036f57806372e18b6a1461038257610232565b8063361e20861461030e57806338245377146103165780633cc3ffc7146103295780634065b81b1461033157806341c738011461033957610232565b806310cfe9061161020557806310cfe9061461029e5780631627540c146102b357806323d60e2e146102c65780632af64bd3146102d957806330edd961146102ee57610232565b806304f3bcec146102375780630710285c146102555780630aebeb4e1461026a5780630efe6a8b1461028b575b600080fd5b61023f6104d3565b60405161024c91906142d5565b60405180910390f35b6102686102633660046136f5565b6104e2565b005b61027d61027836600461381e565b610522565b60405161024c92919061428c565b61027d6102993660046136f5565b610564565b6102a6610659565b60405161024c91906141c9565b6102686102c136600461367f565b61066d565b6102686102d4366004613742565b6106cb565b6102e1610791565b60405161024c9190614262565b6103016102fc36600461381e565b6108a9565b60405161024c9190614270565b6103016108c7565b61030161032436600461381e565b6108cd565b6103016108df565b6102e16108e5565b61030161034736600461381e565b6108ee565b61027d61035a36600461385a565b610a0d565b61023f610a5f565b6102a6610a6e565b61026861037d3660046136bb565b610a7d565b6102e1610390366004613742565b610ab3565b610268610b77565b610268610ccd565b6103016103b336600461385a565b610d69565b6102686103c636600461381e565b610e01565b6103016103d936600461381e565b610e3e565b6103e6610e63565b60405161024c9190614251565b61027d6104013660046136f5565b610ff3565b6102a661100e565b61026861041c3660046137b2565b61101d565b610301611069565b61026861043736600461381e565b61106f565b61030161044a36600461381e565b6110ac565b61030161045d36600461381e565b611170565b610301611195565b61030161119b565b61027d61048036600461385a565b6111a1565b6102a661049336600461381e565b6111b9565b6104ab6104a636600461381e565b6111d4565b60405161024c999897969594939291906144ea565b6103016104ce3660046138a9565b61122e565b6002546001600160a01b031681565b60006104ef848484611315565b905060006104fc82611170565b600d5490915061051b9061010090046001600160a01b0316338361167c565b5050505050565b60008061052f33846116da565b9092509050600061053f82611170565b600d5490915061055e9061010090046001600160a01b0316338361167c565b50915091565b600d54604051636eb1769f60e11b815260009182916101009091046001600160a01b03169063dd62ed3e9061059f90339030906004016141d7565b60206040518083038186803b1580156105b757600080fd5b505afa1580156105cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105ef919081019061383c565b8311156106175760405162461bcd60e51b815260040161060e90614324565b60405180910390fd5b600d546106349061010090046001600160a01b03163330866117d0565b600061063f84610e3e565b905061064c8686836117f4565b9097909650945050505050565b600d5461010090046001600160a01b031681565b6106756118c5565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906106c09083906141c9565b60405180910390a150565b6106d36118c5565b8281146106f25760405162461bcd60e51b815260040161060e90614314565b60005b8381101561078257600085858381811061070b57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061075f57fe5b6020908102929092013583525081019190915260400160002055506001016106f5565b5061078b610b77565b50505050565b6000606061079d610e63565b905060005b815181101561089f5760008282815181106107b957fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061080a908590600401614270565b60206040518083038186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061085a919081019061369d565b6001600160a01b031614158061088557506000818152600360205260409020546001600160a01b0316155b1561089657600093505050506108a6565b506001016107a2565b5060019150505b90565b600781815481106108b657fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600e5481565b600d5460ff1681565b60006108f86135a1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526109836118f1565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b81526004016109b6939291906144a1565b60206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a06919081019061383c565b9392505050565b6000806000610a1b84610e3e565b9050610a278582611912565b90935091506000610a3783611170565b600d54909150610a569061010090046001600160a01b0316338361167c565b50509250929050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610a856118c5565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ac757506000610b6f565b60005b84811015610b69576000868683818110610ae057fe5b9050602002013590508060078381548110610af757fe5b906000526020600020015414610b1257600092505050610b6f565b60078281548110610b1f57fe5b906000526020600020015460086000878786818110610b3a57fe5b9050602002013581526020019081526020016000205414610b6057600092505050610b6f565b50600101610aca565b50600190505b949350505050565b6060610b81610e63565b905060005b8151811015610cc9576000828281518110610b9d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bdf91906141be565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0b92919061429a565b60206040518083038186803b158015610c2357600080fd5b505afa158015610c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5b919081019061369d565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cb7908490849061427e565b60405180910390a15050600101610b86565b5050565b6001546001600160a01b03163314610cf75760405162461bcd60e51b815260040161060e90614304565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d3a926001600160a01b039182169291169061420d565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610d736118f1565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610da894939291906145cd565b60206040518083038186803b158015610dc057600080fd5b505afa158015610dd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610df8919081019061383c565b90505b92915050565b610e096118c5565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d906106c0908390614270565b600080610e4e6012600e546119b7565b600a0a9050610a06838263ffffffff6119df16565b606080610e6e611a19565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610ead57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610ed757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110610efd57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610f2657fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600481518110610f4c57fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b81600581518110610f7757fe5b6020026020010181815250506060610f8f8383611a6a565b9050610feb816007805480602002602001604051908101604052809291908181526020018280548015610fe157602002820191906000526020600020905b815481526020019060010190808311610fcd575b5050505050611a6a565b935050505090565b60008061100285338686611b26565b90969095509350505050565b6000546001600160a01b031681565b6110256118c5565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916106c09160ff90911690614262565b600a5481565b6110776118c5565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906106c0908390614270565b60006110b66135a1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526111416118f1565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b81526004016109b6929190614484565b6000806111806012600e546119b7565b600a0a9050610a06838263ffffffff611cd516565b60045481565b600b5481565b6000806111ae8484611d0a565b909590945092505050565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b600d54604051636eb1769f60e11b815260009161010090046001600160a01b03169063dd62ed3e9061126690339030906004016141d7565b60206040518083038186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112b6919081019061383c565b8411156112d55760405162461bcd60e51b815260040161060e90614324565b600d546112f29061010090046001600160a01b03163330876117d0565b60006112fd85610e3e565b905061130c818585600061214c565b95945050505050565b600061131f6127f4565b611327612896565b600082116113475760405162461bcd60e51b815260040161060e90614474565b600061135384866128ea565b90506113643382600301548561293e565b600a5461136f6118f1565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b815260040161139e9291906144cc565b60206040518083038186803b1580156113b657600080fd5b505afa1580156113ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ee919081019061383c565b1061140b5760405162461bcd60e51b815260040161060e90614454565b60006114156118f1565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b8152600401611448939291906144db565b60206040518083038186803b15801561146057600080fd5b505afa158015611474573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611498919081019061383c565b905060008482106114a957846114ab565b815b905060006114ca846006015485600401546129f190919063ffffffff16565b90508082106114eb576114de883386612a16565b9550610a06945050505050565b6114fa3385600301548461293e565b6115048483612a87565b61150c6118f1565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b8152600401611541939291906142ba565b60206040518083038186803b15801561155957600080fd5b505afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611591919081019061383c565b60028501549095506115a9908663ffffffff6119b716565b600285015560038401546000908152600860205260409020546115cb90612cac565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016115f89291906141f2565b600060405180830381600087803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516116699493929190614570565b60405180910390a2505050509392505050565b6040516116d590849063a9059cbb60e01b9061169e9086908690602401614243565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cb7565b505050565b6000806116e56127f4565b6116ed612896565b60006116f984866128ea565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061177590612d9c565b611780858683612de9565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f906117c0908790614270565b60405180910390a2509250929050565b60405161078b9085906323b872dd60e01b9061169e9087908790879060240161421b565b6000806117ff6127f4565b611807612896565b600083116118275760405162461bcd60e51b815260040161060e90614414565b600084815260056020526040902060078101546118439061304f565b61184c8161306c565b6002810154611861908563ffffffff6129f116565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c916118a69189918991906142ba565b60405180910390a2806004015481600201549250925050935093915050565b6000546001600160a01b031633146118ef5760405162461bcd60e51b815260040161060e906143a4565b565b600061190d6d10dbdb1b185d195c985b155d1a5b60921b61315e565b905090565b60008061191d6127f4565b611925612896565b600061193185336128ea565b6002810154909150611949908563ffffffff6119b716565b6002820155611957816131bb565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611998939291906142ba565b60405180910390a28060040154816002015492509250505b9250929050565b6000828211156119d95760405162461bcd60e51b815260040161060e90614374565b50900390565b6000826119ee57506000610dfb565b828202828482816119fb57fe5b0414610df85760405162461bcd60e51b815260040161060e906143b4565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611a5b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611a9a578160200160208202803883390190505b50905060005b8351811015611adc57838181518110611ab557fe5b6020026020010151828281518110611ac957fe5b6020908102919091010152600101611aa0565b5060005b8251811015611b1f57828181518110611af557fe5b6020026020010151828286510181518110611b0c57fe5b6020908102919091010152600101611ae0565b5092915050565b600080611b316127f4565b611b39612896565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152611bc390612d9c565b611bd28682600301548661293e565b611bdb8161306c565b611be58185612a87565b6003810154600090815260086020526040902054611c0290612cac565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401611c2f929190614243565b600060405180830381600087803b158015611c4957600080fd5b505af1158015611c5d573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f87878560040154604051611cb5939291906142ba565b60405180910390a380600401548160020154925092505094509492505050565b6000808211611cf65760405162461bcd60e51b815260040161060e90614384565b6000828481611d0157fe5b04949350505050565b600080611d156127f4565b611d1d612896565b6000611d2985336128ea565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611da590612d9c565b6004810154611dba908563ffffffff6129f116565b6004820155611dc8816131bb565b6000611ddf600c54866131f490919063ffffffff16565b90506000611df3868363ffffffff6119b716565b600584015490915060ff161561200057600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c191611e38918a9060040161428c565b600060405180830381600087803b158015611e5257600080fd5b505af1158015611e66573d6000803e3d6000fd5b50505050611e72613209565b6001600160a01b031663867904b433611e89613220565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b8152600401611ec3939291906142ba565b60206040518083038186803b158015611edb57600080fd5b505afa158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f13919081019061383c565b6040518363ffffffff1660e01b8152600401611f309291906141f2565b600060405180830381600087803b158015611f4a57600080fd5b505af1158015611f5e573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b031615611ffb5760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fc89033908a906004016141f2565b600060405180830381600087803b158015611fe257600080fd5b505af1158015611ff6573d6000803e3d6000fd5b505050505b6120e4565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde91612035918a9060040161428c565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b50505060038401546000908152600860205260409020546120849150612cac565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016120b19291906141f2565b600060405180830381600087803b1580156120cb57600080fd5b505af11580156120df573d6000803e3d6000fd5b505050505b6120f282846003015461323b565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106549061212c908a908a9061428c565b60405180910390a282600401548360020154945094505050509250929050565b60006121566127f4565b61215e612896565b600d5460ff166121805760405162461bcd60e51b815260040161060e90614404565b6000838152600860205260409020546121ab5760405162461bcd60e51b815260040161060e90614334565b6121b3613220565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016121de9190614270565b60206040518083038186803b1580156121f657600080fd5b505afa15801561220a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061222e91908101906137d0565b1561224b5760405162461bcd60e51b815260040161060e906143e4565b600b5485101561226d5760405162461bcd60e51b815260040161060e90614444565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb40906122a4908990899060040161428c565b604080518083038186803b1580156122bb57600080fd5b505afa1580156122cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f391908101906137ee565b91509150818015612302575080155b61231e5760405162461bcd60e51b815260040161060e906143c4565b6123288786610d69565b8611156123475760405162461bcd60e51b815260040161060e90614434565b600061235e600c54886131f490919063ffffffff16565b90506000612372888363ffffffff6119b716565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156123c457600080fd5b505af11580156123d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123fc919081019061383c565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff19169215159290921790915590516006830155516007820155905160088201559095506124c69061306c565b6124d0828861323b565b85156126c3576124de613209565b6001600160a01b031663867904b4336124f5613220565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b815260040161252b939291906142ba565b60206040518083038186803b15801561254357600080fd5b505afa158015612557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061257b919081019061383c565b6040518363ffffffff1660e01b81526004016125989291906141f2565b600060405180830381600087803b1580156125b257600080fd5b505af11580156125c6573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c191506125fc908a908c9060040161428c565b600060405180830381600087803b15801561261657600080fd5b505af115801561262a573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b03161590506126be576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061268b9033908c906004016141f2565b600060405180830381600087803b1580156126a557600080fd5b505af11580156126b9573d6000803e3d6000fd5b505050505b61279f565b6000878152600860205260409020546126db90612cac565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016127089291906141f2565b600060405180830381600087803b15801561272257600080fd5b505af1158015612736573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde915061276c908a908c9060040161428c565b600060405180830381600087803b15801561278657600080fd5b505af115801561279a573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b876040516127e09594939291906145e8565b60405180910390a250505050949350505050565b6127fc613220565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016128299190614270565b60206040518083038186803b15801561284157600080fd5b505afa158015612855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287991908101906137d0565b156118ef5760405162461bcd60e51b815260040161060e906143e4565b61289e6133f1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156128d657600080fd5b505afa15801561078b573d6000803e3d6000fd5b600082815260056020526040902060078101546129069061304f565b60018101546001600160a01b038381169116146129355760405162461bcd60e51b815260040161060e906143f4565b610dfb8161306c565b600082815260086020526040902054819061295890612cac565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161298391906141c9565b60206040518083038186803b15801561299b57600080fd5b505afa1580156129af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129d3919081019061383c565b10156116d55760405162461bcd60e51b815260040161060e90614394565b600082820183811015610df85760405162461bcd60e51b815260040161060e90614344565b600080612a24858585612de9565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612a77939291906142ba565b60405180910390a3935093915050565b60008111612aa75760405162461bcd60e51b815260040161060e90614474565b600682015415612b0957600082600601548211612ac45781612aca565b82600601545b6006840154909150612ae2908263ffffffff6119b716565b6006840155612af7828263ffffffff6119b716565b9150612b0781846003015461323b565b505b8015610cc9576004820154612b24908263ffffffff6119b716565b6004830155600582015460ff1615612c41576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612b6b91859060040161428c565b600060405180830381600087803b158015612b8557600080fd5b505af1158015612b99573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612c3c57600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612c099291169085906004016141f2565b600060405180830381600087803b158015612c2357600080fd5b505af1158015612c37573d6000803e3d6000fd5b505050505b610cc9565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b391612c7691859060040161428c565b600060405180830381600087803b158015612c9057600080fd5b505af1158015612ca4573d6000803e3d6000fd5b505050505050565b6000610dfb8261315e565b612cc9826001600160a01b031661340b565b612ce55760405162461bcd60e51b815260040161060e90614464565b60006060836001600160a01b031683604051612d019190614192565b6000604051808303816000865af19150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509150915081612d655760405162461bcd60e51b815260040161060e90614364565b80511561078b5780806020019051612d8091908101906137d0565b61078b5760405162461bcd60e51b815260040161060e90614424565b612da98160e0015161304f565b42612dc8612db630613411565b6101008401519063ffffffff6129f116565b1115612de65760405162461bcd60e51b815260040161060e906143d4565b50565b6000806000612e09846006015485600401546129f190919063ffffffff16565b90508360040154925083600201549150612e288585600301548361293e565b6003840154600090815260086020526040902054612e4590612cac565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612e72929190614243565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b50505050600584015460ff1615612fbe576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b993612eeb939092910161428c565b600060405180830381600087803b158015612f0557600080fd5b505af1158015612f19573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b031615612fb95760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a392612f86928b929101614243565b600060405180830381600087803b158015612fa057600080fd5b505af1158015612fb4573d6000803e3d6000fd5b505050505b61302b565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b393612ff8939092910161428c565b600060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050505b61303d8460060154856003015461323b565b613046846134e4565b50935093915050565b80612de65760405162461bcd60e51b815260040161060e90614354565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936130b49360ff909116906004016145a5565b6040805180830381600087803b1580156130cd57600080fd5b505af11580156130e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131059190810190613879565b915091506000836007015460001461313157600484015461312c908463ffffffff61350916565b613134565b60005b600685015490915061314c908263ffffffff6129f116565b60068501555060079092019190915550565b60008181526003602090815260408083205490516001600160a01b03909116918215159161318e9186910161419e565b60405160208183030381529060405290611b1f5760405162461bcd60e51b815260040161060e91906142e3565b60048101546131c957612de6565b600a5481546131d7906110ac565b11612de65760405162461bcd60e51b815260040161060e906142f4565b6000610df88383670de0b6b3a7640000613533565b600061190d6814de5b9d1a1cd554d160ba1b61315e565b600061190d6c45786368616e6765526174657360981b61315e565b8115610cc957631cd554d160e21b81146132e057613257613220565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161328d939291906142ba565b60206040518083038186803b1580156132a557600080fd5b505afa1580156132b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132dd919081019061383c565b91505b6132e8613209565b6001600160a01b031663867904b46132fe61356f565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561333657600080fd5b505afa15801561334a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061336e919081019061369d565b846040518363ffffffff1660e01b815260040161338c929190614243565b600060405180830381600087803b1580156133a657600080fd5b505af11580156133ba573d6000803e3d6000fd5b505050506133c661356f565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401612c769190614270565b600061190d6b53797374656d53746174757360a01b61315e565b3b151590565b600061341b613584565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161346192919061416c565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161349492919061428c565b60206040518083038186803b1580156134ac57600080fd5b505afa1580156134c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dfb919081019061383c565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000670de0b6b3a7640000613524848463ffffffff6119df16565b8161352b57fe5b049392505050565b600080600a830461354a868663ffffffff6119df16565b8161355157fe5b0490506005600a82061061356357600a015b600a9004949350505050565b600061190d66119959541bdbdb60ca1b61315e565b600061190d6e466c657869626c6553746f7261676560881b61315e565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610dfb81614701565b8051610dfb81614701565b60008083601f84011261362357600080fd5b50813567ffffffffffffffff81111561363b57600080fd5b6020830191508360208202830111156119b057600080fd5b8035610dfb81614715565b8051610dfb81614715565b8035610dfb8161471e565b8051610dfb8161471e565b60006020828403121561369157600080fd5b6000610b6f84846135fb565b6000602082840312156136af57600080fd5b6000610b6f8484613606565b600080604083850312156136ce57600080fd5b60006136da85856135fb565b92505060206136eb85828601613669565b9150509250929050565b60008060006060848603121561370a57600080fd5b600061371686866135fb565b935050602061372786828701613669565b925050604061373886828701613669565b9150509250925092565b6000806000806040858703121561375857600080fd5b843567ffffffffffffffff81111561376f57600080fd5b61377b87828801613611565b9450945050602085013567ffffffffffffffff81111561379a57600080fd5b6137a687828801613611565b95989497509550505050565b6000602082840312156137c457600080fd5b6000610b6f8484613653565b6000602082840312156137e257600080fd5b6000610b6f848461365e565b6000806040838503121561380157600080fd5b600061380d858561365e565b92505060206136eb8582860161365e565b60006020828403121561383057600080fd5b6000610b6f8484613669565b60006020828403121561384e57600080fd5b6000610b6f8484613674565b6000806040838503121561386d57600080fd5b60006136da8585613669565b6000806040838503121561388c57600080fd5b60006138988585613674565b92505060206136eb85828601613674565b6000806000606084860312156138be57600080fd5b60006137168686613669565b60006138d68383613969565b505060200190565b6138e78161466e565b82525050565b6138e78161465e565b6138e76139028261465e565b6146e0565b60006139128261463a565b61391c818561463e565b935061392783614634565b8060005b8381101561395557815161393f88826138ca565b975061394a83614634565b92505060010161392b565b509495945050505050565b6138e781614669565b6138e7816108a6565b6138e761397e826108a6565b6108a6565b600061398e8261463a565b6139988185614647565b93506139a8818560208601614680565b9290920192915050565b6138e781614675565b60006139c68261463a565b6139d0818561463e565b93506139e0818560208601614680565b6139e9816146f1565b9093019392505050565b6000613a00600e8361463e565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000613a2a60358361463e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613a8160158361463e565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b6000613ab260198361463e565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000613aeb60148361463e565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613b1b601b8361463e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613b54600e8361463e565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613b7e60208361463e565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000613bb7601e8361463e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613bf0601a8361463e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613c29601183614647565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613c5660128361463e565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613c84602f8361463e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613cd560218361463e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613d18601a8361463e565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000613d5160138361463e565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000613d80601983614647565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613db9600c8361463e565b6b496e76616c6964207261746560a01b815260200192915050565b6000613de160108361463e565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b6000613e0d600d8361463e565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000613e3660178361463e565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000613e6f602a8361463e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613ebb60178361463e565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b6000613ef460158361463e565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b6000613f2560168361463e565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b6000613f57601f8361463e565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000613f9060178361463e565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b8051610120830190613fce8482613969565b506020820151613fe160208501826138ed565b506040820151613ff46040850182613969565b5060608201516140076060850182613969565b50608082015161401a6080850182613969565b5060a082015161402d60a0850182613960565b5060c082015161404060c0850182613969565b5060e082015161405360e0850182613969565b5061010082015161078b610100850182613969565b8054610120830190614079816146d2565b6140838582613969565b50506001820154614093816146ac565b6140a060208601826138ed565b505060028201546140b0816146d2565b6140bd6040860182613969565b505060038201546140cd816146d2565b6140da6060860182613969565b505060048201546140ea816146d2565b6140f76080860182613969565b50506005820154614107816146bf565b61411460a0860182613960565b50506006820154614124816146d2565b61413160c0860182613969565b50506007820154614141816146d2565b61414e60e0860182613969565b5050600882015461415e816146d2565b61051b610100860182613969565b60006141788285613972565b60208201915061418882846138f6565b5060140192915050565b6000610a068284613983565b60006141a982613c1c565b91506141b58284613972565b50602001919050565b60006141a982613d73565b60208101610dfb82846138ed565b604081016141e582856138de565b610a0660208301846138ed565b6040810161420082856138de565b610a066020830184613969565b604081016141e582856138ed565b6060810161422982866138ed565b61423660208301856138ed565b610b6f6040830184613969565b6040810161420082856138ed565b60208082528101610df88184613907565b60208101610dfb8284613960565b60208101610dfb8284613969565b604081016141e58285613969565b604081016142008285613969565b604081016142a88285613969565b8181036020830152610b6f81846139bb565b606081016142c88286613969565b6142366020830185613969565b60208101610dfb82846139b2565b60208082528101610df881846139bb565b60208082528101610dfb816139f3565b60208082528101610dfb81613a1d565b60208082528101610dfb81613a74565b60208082528101610dfb81613aa5565b60208082528101610dfb81613ade565b60208082528101610dfb81613b0e565b60208082528101610dfb81613b47565b60208082528101610dfb81613b71565b60208082528101610dfb81613baa565b60208082528101610dfb81613be3565b60208082528101610dfb81613c49565b60208082528101610dfb81613c77565b60208082528101610dfb81613cc8565b60208082528101610dfb81613d0b565b60208082528101610dfb81613d44565b60208082528101610dfb81613dac565b60208082528101610dfb81613dd4565b60208082528101610dfb81613e00565b60208082528101610dfb81613e29565b60208082528101610dfb81613e62565b60208082528101610dfb81613eae565b60208082528101610dfb81613ee7565b60208082528101610dfb81613f18565b60208082528101610dfb81613f4a565b60208082528101610dfb81613f83565b61014081016144938285613fbc565b610a06610120830184613969565b61016081016144b08286613fbc565b6144be610120830185613969565b610b6f610140830184613969565b61014081016144938285614068565b61016081016144b08286614068565b61012081016144f9828c613969565b614506602083018b6138ed565b614513604083018a613969565b6145206060830189613969565b61452d6080830188613969565b61453a60a0830187613960565b61454760c0830186613969565b61455460e0830185613969565b614562610100830184613969565b9a9950505050505050505050565b6080810161457e8287613969565b61458b60208301866138de565b6145986040830185613969565b61130c6060830184613969565b606081016145b38286613969565b6145c06020830185613969565b610b6f6040830184613960565b608081016145db8287613969565b61458b6020830186613969565b60a081016145f68288613969565b6146036020830187613969565b6146106040830186613969565b61461d6060830185613969565b61462a6080830184613969565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610dfb8261464c565b151590565b6000610dfb825b6000610dfb8261465e565b60005b8381101561469b578181015183820152602001614683565b8381111561078b5750506000910152565b6000610dfb6146ba836108a6565b61464c565b6000610dfb6146cd836108a6565b614658565b6000610dfb61397e836108a6565b6000610dfb826000610dfb826146fb565b601f01601f191690565b60601b90565b61470a8161465e565b8114612de657600080fd5b61470a81614669565b61470a816108a656fea365627a7a723158205ba499aac798c0526b761ef00ffad78cf0e39e162ed9fb7d08b170e74d45f5016c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract ICollateralManager", - "name": "_manager", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_collateralKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_minCratio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_underlyingContract", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_underlyingDecimals", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "canOpenLoans", - "type": "bool" - } - ], - "name": "CanOpenLoansUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountDeposited", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountWithdrawn", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "issueFeeRate", - "type": "uint256" - } - ], - "name": "IssueFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "LoanClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanClosedByLiquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "LoanClosedByRepayment", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "issuanceFee", - "type": "uint256" - } - ], - "name": "LoanCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "LoanDrawnDown", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanPartiallyLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "repayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountAfter", - "type": "uint256" - } - ], - "name": "LoanRepaymentMade", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "minCollateral", - "type": "uint256" - } - ], - "name": "MinCollateralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "rewardsContract", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "addRewardsContracts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "addSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "areSynthsAndCurrenciesSet", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "canOpenLoans", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "close", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "collateralKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "collateralRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "draw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issueFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "liquidate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "liquidationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "liqAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "loans", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "short", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "accruedInterest", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInteraction", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "contract ICollateralManager", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "maxLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCratio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "open", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "repay", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "name": "scaleDownCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "scaledDown", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "name": "scaleUpCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "scaledUp", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_canOpenLoans", - "type": "bool" - } - ], - "name": "setCanOpenLoans", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_issueFeeRate", - "type": "uint256" - } - ], - "name": "setIssueFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - } - ], - "name": "setMinCollateral", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "shortingRewards", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "synths", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthsByKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "underlyingContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "underlyingContractDecimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x0549f3a699e35374a6e82bb091e0669ecadc6734c69471357ffa3793ce043a62", - "urls": [ - "bzz-raw://82eccaa0e6bcd3a03155b197ba0b42a33810532be362b3c9d88f9a33c71bd827", - "dweb:/ipfs/QmZRRMuW31brYaNpn6XNjyagyGaXesbfjRvjJDjEssxPQt" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralErc20.sol": "CollateralErc20" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralErc20.sol": { - "keccak256": "0x0549f3a699e35374a6e82bb091e0669ecadc6734c69471357ffa3793ce043a62", - "urls": [ - "bzz-raw://82eccaa0e6bcd3a03155b197ba0b42a33810532be362b3c9d88f9a33c71bd827", - "dweb:/ipfs/QmZRRMuW31brYaNpn6XNjyagyGaXesbfjRvjJDjEssxPQt" - ] - } - }, - "version": 1 - } - }, - "CollateralShort": { - "bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b5060405162004c7138038062004c7183398101604081905262000041916200014b565b8585858585858380876001600160a01b0381166200007c5760405162461bcd60e51b815260040162000073906200025c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c991849062000236565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498909216971696909617909555600492909255600a55600b5550620002dd975050505050505050565b80516200012b81620002ad565b92915050565b80516200012b81620002c7565b80516200012b81620002d2565b60008060008060008060c087890312156200016557600080fd5b60006200017389896200011e565b96505060206200018689828a016200013e565b95505060406200019989828a016200011e565b9450506060620001ac89828a0162000131565b9350506080620001bf89828a0162000131565b92505060a0620001d289828a0162000131565b9150509295509295509295565b620001ea81620002a0565b82525050565b620001ea8162000277565b60006200020a6019836200026e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002468285620001df565b620002556020830184620001f0565b9392505050565b602080825281016200012b81620001fb565b90815260200190565b60006200012b8262000294565b90565b60006200012b8262000277565b6001600160a01b031690565b60006200012b8262000287565b620002b88162000277565b8114620002c457600080fd5b50565b620002b88162000284565b620002b88162000287565b61498480620002ed6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806379ba509711610130578063981bddf2116100b8578063c799bd5c1161007c578063c799bd5c14610457578063d2b8035a1461046a578063de81eda91461047d578063e1ec3c6814610490578063f93451ed146104b857610227565b8063981bddf21461040e578063a76cdfa514610421578063aa2d8ce314610434578063b562a1ab14610447578063ba2de9bc1461044f57610227565b8063899ffef4116100ff578063899ffef4146103c35780638cd2e0c7146103d85780638da5cb5b146103eb57806390abb4d9146103f3578063925ead111461040657610227565b806379ba5097146103825780637e1323551461038a5780637e9c9b741461039d578063846321a4146103b057610227565b806338245377116101b3578063481c6a7511610182578063481c6a751461033757806353a47bb71461033f5780635eb2ad011461035457806372e18b6a14610367578063741853601461037a57610227565b806338245377146102f65780634065b81b1461030957806341c7380114610311578063441a3e701461032457610227565b80631627540c116101fa5780631627540c1461029357806323d60e2e146102a65780632af64bd3146102b957806330edd961146102ce578063361e2086146102ee57610227565b806304f3bcec1461022c5780630710285c1461024a5780630aebeb4e1461025f5780630efe6a8b14610280575b600080fd5b6102346104cb565b6040516102419190614516565b60405180910390f35b61025d610258366004613a05565b6104da565b005b61027261026d366004613b2e565b610577565b6040516102419291906144cd565b61027261028e366004613a05565b610616565b61025d6102a136600461398f565b610767565b61025d6102b4366004613a52565b6107c5565b6102c161088b565b60405161024191906144a3565b6102e16102dc366004613b2e565b6109a3565b60405161024191906144b1565b6102e16109c1565b6102e1610304366004613b2e565b6109c7565b6102c16109d9565b6102e161031f366004613b2e565b6109e2565b610272610332366004613b6a565b610b01565b610234610ba2565b610347610bb1565b604051610241919061440a565b61025d6103623660046139cb565b610bc0565b6102c1610375366004613a52565b610bf6565b61025d610cba565b61025d610e10565b6102e1610398366004613b6a565b610eac565b6102726103ab366004613b6a565b610f44565b61025d6103be366004613b2e565b610f5d565b6103cb610f9a565b6040516102419190614492565b6102726103e6366004613a05565b61112a565b610347611139565b61025d610401366004613ac2565b611148565b6102e1611194565b61027261041c3660046139cb565b61119a565b61025d61042f366004613b2e565b611233565b6102e1610442366004613b2e565b611270565b6102e1611334565b6102e161133a565b610272610465366004613b2e565b611340565b610272610478366004613b6a565b611365565b61034761048b366004613b2e565b611372565b6104a361049e366004613b2e565b61138d565b604051610241999897969594939291906146fb565b6102e16104c6366004613bb9565b6113e7565b6002546001600160a01b031681565b60006104e7848484611480565b90506104f16117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161051e92919061445b565b602060405180830381600087803b15801561053857600080fd5b505af115801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105709190810190613ae0565b5050505050565b6000806105843384611803565b90925090506105916117e7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105be92919061445b565b602060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106109190810190613ae0565b50915091565b6000806106216117e7565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b815260040161064e929190614418565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190613b4c565b8311156106c65760405162461bcd60e51b81526004016106bd906145e5565b60405180910390fd5b6106ce6117e7565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b81526004016106fd93929190614433565b602060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074f9190810190613ae0565b5061075b8585856118f9565b90969095509350505050565b61076f6119ca565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107ba90839061440a565b60405180910390a150565b6107cd6119ca565b8281146107ec5760405162461bcd60e51b81526004016106bd90614555565b60005b8381101561087c57600085858381811061080557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101819055925082916008915086868681811061085957fe5b6020908102929092013583525081019190915260400160002055506001016107ef565b50610885610cba565b50505050565b60006060610897610f9a565b905060005b81518110156109995760008282815181106108b357fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906109049085906004016144b1565b60206040518083038186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095491908101906139ad565b6001600160a01b031614158061097f57506000818152600360205260409020546001600160a01b0316155b1561099057600093505050506109a0565b5060010161089c565b5060019150505b90565b600781815481106109b057fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600d5460ff1681565b60006109ec6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e0820152600890910154610100820152610a776119f6565b6001600160a01b031663fbfeca4082600a546004546040518463ffffffff1660e01b8152600401610aaa939291906146b2565b60206040518083038186803b158015610ac257600080fd5b505afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afa9190810190613b4c565b9392505050565b600080610b0e8484611a12565b9092509050610b1b6117e7565b6001600160a01b031663a9059cbb33856040518363ffffffff1660e01b8152600401610b4892919061445b565b602060405180830381600087803b158015610b6257600080fd5b505af1158015610b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9a9190810190613ae0565b509250929050565b6006546001600160a01b031681565b6001546001600160a01b031681565b610bc86119ca565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610c0a57506000610cb2565b60005b84811015610cac576000868683818110610c2357fe5b9050602002013590508060078381548110610c3a57fe5b906000526020600020015414610c5557600092505050610cb2565b60078281548110610c6257fe5b906000526020600020015460086000878786818110610c7d57fe5b9050602002013581526020019081526020016000205414610ca357600092505050610cb2565b50600101610c0d565b50600190505b949350505050565b6060610cc4610f9a565b905060005b8151811015610e0c576000828281518110610ce057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d2291906143ff565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d4e9291906144db565b60206040518083038186803b158015610d6657600080fd5b505afa158015610d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d9e91908101906139ad565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610dfa90849084906144bf565b60405180910390a15050600101610cc9565b5050565b6001546001600160a01b03163314610e3a5760405162461bcd60e51b81526004016106bd90614545565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610e7d926001600160a01b0391821692911690614476565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610eb66119f6565b6001600160a01b0316638a7399758484600a546004546040518563ffffffff1660e01b8152600401610eeb94939291906147e7565b60206040518083038186803b158015610f0357600080fd5b505afa158015610f17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3b9190810190613b4c565b90505b92915050565b600080610f52338585611ab6565b909590945092505050565b610f656119ca565b600b8190556040517fd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d906107ba9083906144b1565b606080610fa5611d4f565b60408051600680825260e08201909252919250606091906020820160c08038833901905050905066119959541bdbdb60ca1b81600081518110610fe457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061100e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061103457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061105d57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061108357fe5b6020026020010181815250506d10dbdb1b185d195c985b155d1a5b60921b816005815181106110ae57fe5b60200260200101818152505060606110c68383611da0565b905061112281600780548060200260200160405190810160405280929190818152602001828054801561111857602002820191906000526020600020905b815481526020019060010190808311611104575b5050505050611da0565b935050505090565b60008061075b85338686611e5c565b6000546001600160a01b031681565b6111506119ca565b600d805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916107ba9160ff909116906144a3565b600a5481565b6000806111a56138b1565b5050506000818152600560208181526040928390208351610120810185528154815260018201546001600160a01b0316928101929092526002810154938201849052600381015460608301526004810154608083018190529281015460ff16151560a0830152600681015460c0830152600781015460e08301526008015461010090910152905b9250929050565b61123b6119ca565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906107ba9083906144b1565b600061127a6138b1565b506000828152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008909101546101008201526113056119f6565b6001600160a01b031663e99f9647826004546040518363ffffffff1660e01b8152600401610aaa929190614695565b60045481565b600b5481565b60008061134d338461200b565b90925090508015611360576105916117e7565b915091565b600080610f5284846120a2565b6009602052600090815260409020546001600160a01b031681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460089097015495976001600160a01b0390951696939592949360ff9092169290919089565b60006113f16117e7565b6001600160a01b03166323b872dd3330876040518463ffffffff1660e01b815260040161142093929190614433565b602060405180830381600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114729190810190613ae0565b50610cb284848460016124e4565b600061148a612b8c565b611492612c2e565b600082116114b25760405162461bcd60e51b81526004016106bd90614685565b60006114be8486612c82565b90506114cf33826003015485612cd6565b600a546114da6119f6565b6001600160a01b031663e99f9647836004546040518363ffffffff1660e01b81526004016115099291906146dd565b60206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115599190810190613b4c565b106115765760405162461bcd60e51b81526004016106bd90614675565b60006115806119f6565b6001600160a01b031663fbfeca4083600a546004546040518463ffffffff1660e01b81526004016115b3939291906146ec565b60206040518083038186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116039190810190613b4c565b905060008482106116145784611616565b815b9050600061163584600601548560040154612d8e90919063ffffffff16565b905080821061165657611649883386612db3565b9550610afa945050505050565b61166533856003015484612cd6565b61166f8483612e24565b6116776119f6565b6001600160a01b0316633c4aa0f38560030154846004546040518463ffffffff1660e01b81526004016116ac939291906144fb565b60206040518083038186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116fc9190810190613b4c565b6002850154909550611714908663ffffffff61304916565b6002850155600384015460009081526008602052604090205461173690613071565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161176392919061445b565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516117d49493929190614781565b60405180910390a2505050509392505050565b60006117fe6814de5b9d1a1cd554d160ba1b613078565b905090565b60008061180e612b8c565b611816612c2e565b60006118228486612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061189e906130d5565b6118a9858683613122565b60405191945092506001600160a01b038616907fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f906118e99087906144b1565b60405180910390a2509250929050565b600080611904612b8c565b61190c612c2e565b6000831161192c5760405162461bcd60e51b81526004016106bd90614645565b6000848152600560205260409020600781015461194890613388565b611951816133a5565b6002810154611966908563ffffffff612d8e16565b600282018190556040516001600160a01b038816917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c916119ab9189918991906144fb565b60405180910390a2806004015481600201549250925050935093915050565b6000546001600160a01b031633146119f45760405162461bcd60e51b81526004016106bd906145c5565b565b60006117fe6d10dbdb1b185d195c985b155d1a5b60921b613078565b600080611a1d612b8c565b611a25612c2e565b6000611a318533612c82565b6002810154909150611a49908563ffffffff61304916565b6002820155611a5781613497565b336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330386868460020154604051611a98939291906144fb565b60405180910390a28060040154816002015492509250509250929050565b600080611ac1612b8c565b611ac9612c2e565b6000611ad58587612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152909150611b51906130d5565b60068101546004820154611b6a9163ffffffff612d8e16565b841115611b895760405162461bcd60e51b81526004016106bd906145b5565b611b938185612e24565b600080611b9e6134d0565b6001600160a01b031663f450aa34878560030154631cd554d160e21b6040518463ffffffff1660e01b8152600401611bd8939291906144fb565b60606040518083038186803b158015611bf057600080fd5b505afa158015611c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c289190810190613bda565b5090925090506000611c40838363ffffffff612d8e16565b90506000611c54828463ffffffff612d8e16565b6002860154909150611c6c908263ffffffff61304916565b6002860155611c8283631cd554d160e21b6134e7565b611c8a6117e7565b6001600160a01b0316639dc29fac30836040518363ffffffff1660e01b8152600401611cb7929190614484565b600060405180830381600087803b158015611cd157600080fd5b505af1158015611ce5573d6000803e3d6000fd5b5050426008880155505060048501546040516001600160a01b038c169182917fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f91611d33918e918e916144fb565b60405180910390a3505050506002015492959294509192505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611d9157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611dd0578160200160208202803883390190505b50905060005b8351811015611e1257838181518110611deb57fe5b6020026020010151828281518110611dff57fe5b6020908102919091010152600101611dd6565b5060005b8251811015611e5557828181518110611e2b57fe5b6020026020010151828286510181518110611e4257fe5b6020908102919091010152600101611e16565b5092915050565b600080611e67612b8c565b611e6f612c2e565b6000848152600560208181526040928390208351610120810185528154815260018201546001600160a01b03169281019290925260028101549382019390935260038301546060820152600483015460808201529082015460ff16151560a0820152600682015460c0820152600782015460e08201526008820154610100820152611ef9906130d5565b611f0886826003015486612cd6565b611f11816133a5565b611f1b8185612e24565b6003810154600090815260086020526040902054611f3890613071565b6001600160a01b0316639dc29fac87866040518363ffffffff1660e01b8152600401611f65929190614484565b600060405180830381600087803b158015611f7f57600080fd5b505af1158015611f93573d6000803e3d6000fd5b50505050428160080181905550856001600160a01b0316876001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f87878560040154604051611feb939291906144fb565b60405180910390a380600401548160020154925092505094509492505050565b600080600061201a8486612c82565b9050600061203982600601548360040154612d8e90919063ffffffff16565b9050612046868683611ab6565b90945092506120548261369d565b856001600160a01b03167f70346f402be1b9ee8737498472823400f3a14730d534d309f1d2d365ca7511e6868686604051612091939291906144fb565b60405180910390a250509250929050565b6000806120ad612b8c565b6120b5612c2e565b60006120c18533612c82565b60408051610120810182528254815260018301546001600160a01b031660208201526002830154918101919091526003820154606082015260048201546080820152600582015460ff16151560a0820152600682015460c0820152600782015460e0820152600882015461010082015290915061213d906130d5565b6004810154612152908563ffffffff612d8e16565b600482015561216081613497565b6000612177600c54866136c290919063ffffffff16565b9050600061218b868363ffffffff61304916565b600584015490915060ff161561239857600654600384015460405163e31f27c160e01b81526001600160a01b039092169163e31f27c1916121d0918a906004016144cd565b600060405180830381600087803b1580156121ea57600080fd5b505af11580156121fe573d6000803e3d6000fd5b5050505061220a6117e7565b6001600160a01b031663867904b4336122216136d7565b6001600160a01b031663654a60ac876003015486631cd554d160e21b6040518463ffffffff1660e01b815260040161225b939291906144fb565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122ab9190810190613b4c565b6040518363ffffffff1660e01b81526004016122c892919061445b565b600060405180830381600087803b1580156122e257600080fd5b505af11580156122f6573d6000803e3d6000fd5b5050505060038301546000908152600960205260409020546001600160a01b0316156123935760038301546000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906123609033908a9060040161445b565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505b61247c565b60065460038401546040516375ca5def60e11b81526001600160a01b039092169163eb94bbde916123cd918a906004016144cd565b600060405180830381600087803b1580156123e757600080fd5b505af11580156123fb573d6000803e3d6000fd5b505050600384015460009081526008602052604090205461241c9150613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161244992919061445b565b600060405180830381600087803b15801561246357600080fd5b505af1158015612477573d6000803e3d6000fd5b505050505b61248a8284600301546134e7565b42600884015560405133907f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654906124c4908a908a906144cd565b60405180910390a282600401548360020154945094505050509250929050565b60006124ee612b8c565b6124f6612c2e565b600d5460ff166125185760405162461bcd60e51b81526004016106bd90614635565b6000838152600860205260409020546125435760405162461bcd60e51b81526004016106bd90614565565b61254b6136d7565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161257691906144b1565b60206040518083038186803b15801561258e57600080fd5b505afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c69190810190613ae0565b156125e35760405162461bcd60e51b81526004016106bd90614615565b600b548510156126055760405162461bcd60e51b81526004016106bd90614665565b6006546040516302d35b2d60e61b815260009182916001600160a01b039091169063b4d6cb409061263c90899089906004016144cd565b604080518083038186803b15801561265357600080fd5b505afa158015612667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061268b9190810190613afe565b9150915081801561269a575080155b6126b65760405162461bcd60e51b81526004016106bd906145f5565b6126c08786610eac565b8611156126df5760405162461bcd60e51b81526004016106bd90614655565b60006126f6600c54886136c290919063ffffffff16565b9050600061270a888363ffffffff61304916565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561275c57600080fd5b505af1158015612770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127949190810190613b4c565b60408051610120810182528281523360208083019182528284018e8152606084018d8152608085018f81528d151560a08701908152600060c0880181815260e08901828152426101008b019081528c84526005988990529a9092209851895596516001890180546001600160a01b0319166001600160a01b03909216919091179055935160028801559151600387015551600486015551918401805460ff191692151592909217909155905160068301555160078201559051600882015590955061285e906133a5565b61286882886134e7565b8515612a5b576128766117e7565b6001600160a01b031663867904b43361288d6136d7565b6001600160a01b031663654a60ac8b86631cd554d160e21b6040518463ffffffff1660e01b81526004016128c3939291906144fb565b60206040518083038186803b1580156128db57600080fd5b505afa1580156128ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129139190810190613b4c565b6040518363ffffffff1660e01b815260040161293092919061445b565b600060405180830381600087803b15801561294a57600080fd5b505af115801561295e573d6000803e3d6000fd5b505060065460405163e31f27c160e01b81526001600160a01b03909116925063e31f27c19150612994908a908c906004016144cd565b600060405180830381600087803b1580156129ae57600080fd5b505af11580156129c2573d6000803e3d6000fd5b5050506000888152600960205260409020546001600160a01b0316159050612a56576000878152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612a239033908c9060040161445b565b600060405180830381600087803b158015612a3d57600080fd5b505af1158015612a51573d6000803e3d6000fd5b505050505b612b37565b600087815260086020526040902054612a7390613071565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401612aa092919061445b565b600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50506006546040516375ca5def60e11b81526001600160a01b03909116925063eb94bbde9150612b04908a908c906004016144cd565b600060405180830381600087803b158015612b1e57600080fd5b505af1158015612b32573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a868a8c8b87604051612b78959493929190614802565b60405180910390a250505050949350505050565b612b946136d7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612bc191906144b1565b60206040518083038186803b158015612bd957600080fd5b505afa158015612bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c119190810190613ae0565b156119f45760405162461bcd60e51b81526004016106bd90614615565b612c366136f2565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c6e57600080fd5b505afa158015610885573d6000803e3d6000fd5b60008281526005602052604090206007810154612c9e90613388565b60018101546001600160a01b03838116911614612ccd5760405162461bcd60e51b81526004016106bd90614625565b610f3e816133a5565b6000828152600860205260409020548190612cf090613071565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401612d1b919061440a565b60206040518083038186803b158015612d3357600080fd5b505afa158015612d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d6b9190810190613b4c565b1015612d895760405162461bcd60e51b81526004016106bd906145a5565b505050565b600082820183811015610f3b5760405162461bcd60e51b81526004016106bd90614575565b600080612dc1858585613122565b8092508193505050836001600160a01b0316856001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb85600001548585604051612e14939291906144fb565b60405180910390a3935093915050565b60008111612e445760405162461bcd60e51b81526004016106bd90614685565b600682015415612ea657600082600601548211612e615781612e67565b82600601545b6006840154909150612e7f908263ffffffff61304916565b6006840155612e94828263ffffffff61304916565b9150612ea48184600301546134e7565b505b8015610e0c576004820154612ec1908263ffffffff61304916565b6004830155600582015460ff1615612fde576006546003830154604051635246f2b960e01b81526001600160a01b0390921691635246f2b991612f089185906004016144cd565b600060405180830381600087803b158015612f2257600080fd5b505af1158015612f36573d6000803e3d6000fd5b5050505060038201546000908152600960205260409020546001600160a01b031615612fd957600382015460009081526009602052604090819020546001840154915163f3fef3a360e01b81526001600160a01b039182169263f3fef3a392612fa692911690859060040161445b565b600060405180830381600087803b158015612fc057600080fd5b505af1158015612fd4573d6000803e3d6000fd5b505050505b610e0c565b600654600383015460405163e50a31b360e01b81526001600160a01b039092169163e50a31b3916130139185906004016144cd565b600060405180830381600087803b15801561302d57600080fd5b505af1158015613041573d6000803e3d6000fd5b505050505050565b60008282111561306b5760405162461bcd60e51b81526004016106bd90614595565b50900390565b6000610f3e825b60008181526003602090815260408083205490516001600160a01b0390911691821515916130a8918691016143df565b60405160208183030381529060405290611e555760405162461bcd60e51b81526004016106bd9190614524565b6130e28160e00151613388565b426131016130ef3061370c565b6101008401519063ffffffff612d8e16565b111561311f5760405162461bcd60e51b81526004016106bd90614605565b50565b600080600061314284600601548560040154612d8e90919063ffffffff16565b9050836004015492508360020154915061316185856003015483612cd6565b600384015460009081526008602052604090205461317e90613071565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016131ab929190614484565b600060405180830381600087803b1580156131c557600080fd5b505af11580156131d9573d6000803e3d6000fd5b50505050600584015460ff16156132f7576006546003850154600480870154604051635246f2b960e01b81526001600160a01b0390941693635246f2b99361322493909291016144cd565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b5050505060038401546000908152600960205260409020546001600160a01b0316156132f25760038401546000908152600960205260409081902054600480870154925163f3fef3a360e01b81526001600160a01b039092169263f3fef3a3926132bf928b929101614484565b600060405180830381600087803b1580156132d957600080fd5b505af11580156132ed573d6000803e3d6000fd5b505050505b613364565b600654600385015460048087015460405163e50a31b360e01b81526001600160a01b039094169363e50a31b39361333193909291016144cd565b600060405180830381600087803b15801561334b57600080fd5b505af115801561335f573d6000803e3d6000fd5b505050505b613376846006015485600301546134e7565b61337f8461369d565b50935093915050565b8061311f5760405162461bcd60e51b81526004016106bd90614585565b600654600782015460038301546005840154604051634002a33360e11b815260009485946001600160a01b03909116936380054666936133ed9360ff909116906004016147bf565b6040805180830381600087803b15801561340657600080fd5b505af115801561341a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061343e9190810190613b89565b915091506000836007015460001461346a576004840154613465908463ffffffff6137df16565b61346d565b60005b6006850154909150613485908263ffffffff612d8e16565b60068501555060079092019190915550565b60048101546134a55761311f565b600a5481546134b390611270565b1161311f5760405162461bcd60e51b81526004016106bd90614535565b60006117fe6822bc31b430b733b2b960b91b613078565b8115610e0c57631cd554d160e21b811461358c576135036136d7565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401613539939291906144fb565b60206040518083038186803b15801561355157600080fd5b505afa158015613565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135899190810190613b4c565b91505b6135946117e7565b6001600160a01b031663867904b46135aa613809565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e257600080fd5b505afa1580156135f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061361a91908101906139ad565b846040518363ffffffff1660e01b8152600401613638929190614484565b600060405180830381600087803b15801561365257600080fd5b505af1158015613666573d6000803e3d6000fd5b50505050613672613809565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161301391906144b1565b6000600482018190556002820181905560068201819055600782015542600890910155565b6000610f3b8383670de0b6b3a764000061381e565b60006117fe6c45786368616e6765526174657360981b613078565b60006117fe6b53797374656d53746174757360a01b613078565b600061371661385a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f696e746572616374696f6e44656c617960801b8560405160200161375c9291906143b9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b815260040161378f9291906144cd565b60206040518083038186803b1580156137a757600080fd5b505afa1580156137bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3e9190810190613b4c565b6000670de0b6b3a76400006137fa848463ffffffff61387716565b8161380157fe5b049392505050565b60006117fe66119959541bdbdb60ca1b613078565b600080600a8304613835868663ffffffff61387716565b8161383c57fe5b0490506005600a82061061384e57600a015b600a9004949350505050565b60006117fe6e466c657869626c6553746f7261676560881b613078565b60008261388657506000610f3e565b8282028284828161389357fe5b0414610f3b5760405162461bcd60e51b81526004016106bd906145d5565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610f3e8161491b565b8051610f3e8161491b565b60008083601f84011261393357600080fd5b50813567ffffffffffffffff81111561394b57600080fd5b60208301915083602082028301111561122c57600080fd5b8035610f3e8161492f565b8051610f3e8161492f565b8035610f3e81614938565b8051610f3e81614938565b6000602082840312156139a157600080fd5b6000610cb2848461390b565b6000602082840312156139bf57600080fd5b6000610cb28484613916565b600080604083850312156139de57600080fd5b60006139ea858561390b565b92505060206139fb85828601613979565b9150509250929050565b600080600060608486031215613a1a57600080fd5b6000613a26868661390b565b9350506020613a3786828701613979565b9250506040613a4886828701613979565b9150509250925092565b60008060008060408587031215613a6857600080fd5b843567ffffffffffffffff811115613a7f57600080fd5b613a8b87828801613921565b9450945050602085013567ffffffffffffffff811115613aaa57600080fd5b613ab687828801613921565b95989497509550505050565b600060208284031215613ad457600080fd5b6000610cb28484613963565b600060208284031215613af257600080fd5b6000610cb2848461396e565b60008060408385031215613b1157600080fd5b6000613b1d858561396e565b92505060206139fb8582860161396e565b600060208284031215613b4057600080fd5b6000610cb28484613979565b600060208284031215613b5e57600080fd5b6000610cb28484613984565b60008060408385031215613b7d57600080fd5b60006139ea8585613979565b60008060408385031215613b9c57600080fd5b6000613ba88585613984565b92505060206139fb85828601613984565b600080600060608486031215613bce57600080fd5b6000613a268686613979565b600080600060608486031215613bef57600080fd5b6000613bfb8686613984565b9350506020613c0c86828701613984565b9250506040613a4886828701613984565b6000613c298383613cbc565b505060200190565b613c3a81614888565b82525050565b613c3a81614878565b613c3a613c5582614878565b6148fa565b6000613c6582614854565b613c6f8185614858565b9350613c7a8361484e565b8060005b83811015613ca8578151613c928882613c1d565b9750613c9d8361484e565b925050600101613c7e565b509495945050505050565b613c3a81614883565b613c3a816109a0565b613c3a613cd1826109a0565b6109a0565b613c3a8161488f565b6000613cea82614854565b613cf48185614858565b9350613d0481856020860161489a565b613d0d8161490b565b9093019392505050565b6000613d24600e83614858565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000613d4e603583614858565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613da5601583614858565b74082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b815260200192915050565b6000613dd6601483614858565b734e6f7420616c6c6f77656420746f20697373756560601b815260200192915050565b6000613e06601b83614858565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613e3f600e83614858565b6d131bd85b881a5cc818db1bdcd95960921b815260200192915050565b6000613e69601e83614858565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613ea2601183614861565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613ecf601283614858565b714e6f7420656e6f7567682062616c616e636560701b815260200192915050565b6000613efd601083614858565b6f0a0c2f2dacadce840e8dede40d0d2ced60831b815260200192915050565b6000613f29602f83614858565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613f7a602183614858565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613fbd601183614858565b70416c6c6f77616e636520746f6f206c6f7760781b815260200192915050565b6000613fea601a83614858565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000614023601383614858565b72149958d95b9d1b1e481a5b9d195c9858dd1959606a1b815260200192915050565b6000614052601983614861565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061408b600c83614858565b6b496e76616c6964207261746560a01b815260200192915050565b60006140b3601083614858565b6f26bab9ba103132903137b93937bbb2b960811b815260200192915050565b60006140df600d83614858565b6c13dc195b88191a5cd8589b1959609a1b815260200192915050565b6000614108601783614858565b7f4465706f736974206d7573742062652061626f76652030000000000000000000815260200192915050565b6000614141601783614858565b7f457863656564206d617820626f72726f7720706f776572000000000000000000815260200192915050565b600061417a601583614858565b74139bdd08195b9bdd59da0818dbdb1b185d195c985b605a1b815260200192915050565b60006141ab601683614858565b7543726174696f2061626f7665206c697120726174696f60501b815260200192915050565b60006141dd601783614858565b7f5061796d656e74206d7573742062652061626f76652030000000000000000000815260200192915050565b805161012083019061421b8482613cbc565b50602082015161422e6020850182613c40565b5060408201516142416040850182613cbc565b5060608201516142546060850182613cbc565b5060808201516142676080850182613cbc565b5060a082015161427a60a0850182613cb3565b5060c082015161428d60c0850182613cbc565b5060e08201516142a060e0850182613cbc565b50610100820151610885610100850182613cbc565b80546101208301906142c6816148ec565b6142d08582613cbc565b505060018201546142e0816148c6565b6142ed6020860182613c40565b505060028201546142fd816148ec565b61430a6040860182613cbc565b5050600382015461431a816148ec565b6143276060860182613cbc565b50506004820154614337816148ec565b6143446080860182613cbc565b50506005820154614354816148d9565b61436160a0860182613cb3565b50506006820154614371816148ec565b61437e60c0860182613cbc565b5050600782015461438e816148ec565b61439b60e0860182613cbc565b505060088201546143ab816148ec565b610570610100860182613cbc565b60006143c58285613cc5565b6020820191506143d58284613c49565b5060140192915050565b60006143ea82613e95565b91506143f68284613cc5565b50602001919050565b60006143ea82614045565b60208101610f3e8284613c40565b604081016144268285613c31565b610afa6020830184613c40565b606081016144418286613c31565b61444e6020830185613c40565b610cb26040830184613cbc565b604081016144698285613c31565b610afa6020830184613cbc565b604081016144268285613c40565b604081016144698285613c40565b60208082528101610f3b8184613c5a565b60208101610f3e8284613cb3565b60208101610f3e8284613cbc565b604081016144268285613cbc565b604081016144698285613cbc565b604081016144e98285613cbc565b8181036020830152610cb28184613cdf565b606081016145098286613cbc565b61444e6020830185613cbc565b60208101610f3e8284613cd6565b60208082528101610f3b8184613cdf565b60208082528101610f3e81613d17565b60208082528101610f3e81613d41565b60208082528101610f3e81613d98565b60208082528101610f3e81613dc9565b60208082528101610f3e81613df9565b60208082528101610f3e81613e32565b60208082528101610f3e81613e5c565b60208082528101610f3e81613ec2565b60208082528101610f3e81613ef0565b60208082528101610f3e81613f1c565b60208082528101610f3e81613f6d565b60208082528101610f3e81613fb0565b60208082528101610f3e81613fdd565b60208082528101610f3e81614016565b60208082528101610f3e8161407e565b60208082528101610f3e816140a6565b60208082528101610f3e816140d2565b60208082528101610f3e816140fb565b60208082528101610f3e81614134565b60208082528101610f3e8161416d565b60208082528101610f3e8161419e565b60208082528101610f3e816141d0565b61014081016146a48285614209565b610afa610120830184613cbc565b61016081016146c18286614209565b6146cf610120830185613cbc565b610cb2610140830184613cbc565b61014081016146a482856142b5565b61016081016146c182866142b5565b610120810161470a828c613cbc565b614717602083018b613c40565b614724604083018a613cbc565b6147316060830189613cbc565b61473e6080830188613cbc565b61474b60a0830187613cb3565b61475860c0830186613cbc565b61476560e0830185613cbc565b614773610100830184613cbc565b9a9950505050505050505050565b6080810161478f8287613cbc565b61479c6020830186613c31565b6147a96040830185613cbc565b6147b66060830184613cbc565b95945050505050565b606081016147cd8286613cbc565b6147da6020830185613cbc565b610cb26040830184613cb3565b608081016147f58287613cbc565b61479c6020830186613cbc565b60a081016148108288613cbc565b61481d6020830187613cbc565b61482a6040830186613cbc565b6148376060830185613cbc565b6148446080830184613cbc565b9695505050505050565b60200190565b5190565b90815260200190565b919050565b6001600160a01b031690565b60ff1690565b6000610f3e82614866565b151590565b6000610f3e825b6000610f3e82614878565b60005b838110156148b557818101518382015260200161489d565b838111156108855750506000910152565b6000610f3e6148d4836109a0565b614866565b6000610f3e6148e7836109a0565b614872565b6000610f3e613cd1836109a0565b6000610f3e826000610f3e82614915565b601f01601f191690565b60601b90565b61492481614878565b811461311f57600080fd5b61492481614883565b614924816109a056fea365627a7a723158203b9554cf14ae2d1fb9cfd26d257949d3aa3ab882db0be81afdf1a0dc1393ed0c6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "contract ICollateralManager", - "name": "_manager", - "type": "address" - }, - { - "internalType": "address", - "name": "_resolver", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_collateralKey", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_minCratio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "name", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "destination", - "type": "address" - } - ], - "name": "CacheUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "canOpenLoans", - "type": "bool" - } - ], - "name": "CanOpenLoansUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountDeposited", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountWithdrawn", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "CollateralWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "issueFeeRate", - "type": "uint256" - } - ], - "name": "IssueFeeRateUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "LoanClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanClosedByLiquidation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAfter", - "type": "uint256" - } - ], - "name": "LoanClosedByRepayment", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "issuanceFee", - "type": "uint256" - } - ], - "name": "LoanCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "LoanDrawnDown", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountLiquidated", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralLiquidated", - "type": "uint256" - } - ], - "name": "LoanPartiallyLiquidated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "repayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountRepaid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountAfter", - "type": "uint256" - } - ], - "name": "LoanRepaymentMade", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "minCollateral", - "type": "uint256" - } - ], - "name": "MinCollateralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "rewardsContract", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "synth", - "type": "bytes32" - } - ], - "name": "addRewardsContracts", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "addSynths", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_synthNamesInResolver", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "_synthKeys", - "type": "bytes32[]" - } - ], - "name": "areSynthsAndCurrenciesSet", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "canOpenLoans", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "close", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "closeWithCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "collateralKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "collateralRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "cratio", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "draw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getShortAndCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isResolverCached", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "issueFeeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "liquidate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "liquidationAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "liqAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "loans", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "short", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "accruedInterest", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "interestIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInteraction", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "contract ICollateralManager", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "maxLoan", - "outputs": [ - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minCratio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "currency", - "type": "bytes32" - } - ], - "name": "open", - "outputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "rebuildCache", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "repay", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "repayWithCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolver", - "outputs": [ - { - "internalType": "contract AddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "resolverAddressesRequired", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "addresses", - "type": "bytes32[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "_canOpenLoans", - "type": "bool" - } - ], - "name": "setCanOpenLoans", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_issueFeeRate", - "type": "uint256" - } - ], - "name": "setIssueFeeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minCollateral", - "type": "uint256" - } - ], - "name": "setMinCollateral", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "shortingRewards", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "synths", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "synthsByKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "principal", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateral", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73", - "urls": [ - "bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0", - "dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "CollateralShort.sol": "CollateralShort" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "CollateralShort.sol": { - "keccak256": "0x4c798ea9de6031eec8ab51e9aaa054d6f967fee13897eaf855878efd727a3d73", - "urls": [ - "bzz-raw://b06a1a20f51b988ec4831e6213621226310293472607af2d4ac91c54f26fddd0", - "dweb:/ipfs/QmUBY5iNaVXmBgiRuVKaErR1BuRH8gzDcX7zy4rRHiq6ZP" - ] - } - }, - "version": 1 - } - }, - "EmptyFuturesMarketManager": { - "bytecode": "608060405234801561001057600080fd5b506103f1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063c03852fb1161008c578063f607d90011610066578063f607d90014610307578063fb77549c1461025c578063fc7b9c1814610326578063fe11edc914610347576100e9565b8063c03852fb1461023d578063ca0798851461025c578063e63bfadb146102ce576100e9565b80634dc25348116100c85780634dc25348146101c8578063614d08f8146101d057806395fafa4a146101d8578063a237e94d14610203576100e9565b80628d3aca146100ee57806326e04f9d146101ae578063375a7cba146101c8575b600080fd5b61015e6004803603602081101561010457600080fd5b81019060208101813564010000000081111561011f57600080fd5b82018360208201111561013157600080fd5b8035906020019184602083028401116401000000008311171561015357600080fd5b509092509050610366565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019a578181015183820152602001610182565b505050509050019250505060405180910390f35b6101b661036e565b60408051918252519081900360200190f35b61015e610373565b6101b6610378565b61015e600480360360608110156101ee57600080fd5b5080359060208101359060400135151561039c565b6102296004803603602081101561021957600080fd5b50356001600160a01b03166103a5565b604080519115158252519081900360200190f35b6101b66004803603602081101561025357600080fd5b503515156103a5565b6102cc6004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b5090925090506103ab565b005b6102eb600480360360208110156102e457600080fd5b50356103a5565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561031d57600080fd5b503515156103af565b61032e6103b5565b6040805192835290151560208301528051918290030190f35b61015e6004803603604081101561035d57600080fd5b50803590602001355b606092915050565b600090565b606090565b7f456d707479467574757265734d61726b65744d616e616765720000000000000081565b60609392505050565b50600090565b5050565b50606090565b600080909156fea265627a7a723158205d30171eaccaddd378650539b227355ad13e075093b3396254c4a78cb46e745a64736f6c63430005100032", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "CONTRACT_NAME", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "addEndorsedAddresses", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "allEndorsedAddresses", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "allMarkets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bool", - "name": "proxiedMarkets", - "type": "bool" - } - ], - "name": "allMarkets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isEndorsed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "marketKey", - "type": "bytes32" - } - ], - "name": "marketForKey", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "proxiedMarkets", - "type": "bool" - } - ], - "name": "markets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pageSize", - "type": "uint256" - } - ], - "name": "markets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "marketKeys", - "type": "bytes32[]" - } - ], - "name": "marketsForKeys", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numMarkets", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bool", - "name": "proxiedMarkets", - "type": "bool" - } - ], - "name": "numMarkets", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "removeEndorsedAddresses", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "debt", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isInvalid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f", - "urls": [ - "bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc", - "dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "EmptyFuturesMarketManager.sol": "EmptyFuturesMarketManager" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "EmptyFuturesMarketManager.sol": { - "keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f", - "urls": [ - "bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc", - "dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh" - ] - } - }, - "version": 1 - } - }, - "SynthUtil": { - "bytecode": "608060405234801561001057600080fd5b50604051620012fa380380620012fa83398101604081905261003191610067565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b5565b80516100618161009e565b92915050565b60006020828403121561007957600080fd5b60006100858484610056565b949350505050565b60006001600160a01b038216610061565b6100a78161008d565b81146100b257600080fd5b50565b61123580620000c56000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630120be331461005c57806327fe55a614610085578063492dbcdd1461009b578063a827bf48146100b2578063d18ab376146100c5575b600080fd5b61006f61006a366004610e0c565b6100da565b60405161007c919061113b565b60405180910390f35b61008d610377565b60405161007c929190611060565b6100a361048b565b60405161007c93929190611085565b6100a36100c0366004610dc8565b610825565b6100cd610bca565b60405161007c919061112d565b6000806100e5610bd9565b905060006100f1610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561012e57600080fd5b505afa158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101669190810190610eb0565b905060005b8181101561036c576040516320d7846760e21b81526000906001600160a01b0386169063835e119c906101a290859060040161113b565b60206040518083038186803b1580156101ba57600080fd5b505afa1580156101ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101f29190810190610ece565b9050836001600160a01b031663654a60ac826001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561023c57600080fd5b505afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102749190810190610eb0565b6040516370a0823160e01b81526001600160a01b038516906370a08231906102a0908e9060040161103a565b60206040518083038186803b1580156102b857600080fd5b505afa1580156102cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102f09190810190610eb0565b8a6040518463ffffffff1660e01b815260040161030f93929190611105565b60206040518083038186803b15801561032757600080fd5b505afa15801561033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035f9190810190610eb0565b909501945060010161016b565b505050505b92915050565b6060806060610384610bd9565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103f89190810190610e46565b905080610403610c6b565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b815260040161042e9190611048565b60006040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104829190810190610e7b565b92509250509091565b6060806060600061049a610bd9565b905060006104a6610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061051b9190810190610eb0565b9050606081604051908082528060200260200182016040528015610549578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610578578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156105a7578160200160208202803883390190505b50905060005b84811015610815576040516320d7846760e21b81526000906001600160a01b0389169063835e119c906105e490859060040161113b565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106349190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561066f57600080fd5b505afa158015610683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a79190810190610eb0565b8583815181106106b357fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f857600080fd5b505afa15801561070c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107309190810190610eb0565b84838151811061073c57fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061076357fe5b602002602001015186858151811061077757fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b81526004016107a593929190611105565b60206040518083038186803b1580156107bd57600080fd5b505afa1580156107d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107f59190810190610eb0565b83838151811061080157fe5b6020908102919091010152506001016105ad565b5091975095509350505050909192565b60608060606000610834610bd9565b90506000610840610c6b565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b59190810190610eb0565b90506060816040519080825280602002602001820160405280156108e3578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610912578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610941578160200160208202803883390190505b50905060005b84811015610bb9576040516320d7846760e21b81526000906001600160a01b0389169063835e119c9061097e90859060040161113b565b60206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ce9190810190610ece565b9050806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a419190810190610eb0565b858381518110610a4d57fe5b60209081029190910101526040516370a0823160e01b81526001600160a01b038216906370a0823190610a84908f9060040161103a565b60206040518083038186803b158015610a9c57600080fd5b505afa158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad49190810190610eb0565b848381518110610ae057fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610b0757fe5b6020026020010151868581518110610b1b57fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b8152600401610b4993929190611105565b60206040518083038186803b158015610b6157600080fd5b505afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b999190810190610eb0565b838381518110610ba557fe5b602090810291909101015250600101610947565b509199909850909650945050505050565b6000546001600160a01b031681565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c1690680a6f2dce8d0cae8d2f60bb1b906004016110c7565b60206040518083038186803b158015610c2e57600080fd5b505afa158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c669190810190610dee565b905090565b6000805460405163dacb2d0160e01b81526001600160a01b039091169063dacb2d0190610c16906c45786368616e6765526174657360981b906004016110e6565b8035610371816111c9565b8051610371816111c9565b600082601f830112610cd357600080fd5b8151610ce6610ce182611170565b611149565b91508181835260208401935060208101905083856020840282011115610d0b57600080fd5b60005b8381101561036c5781610d218882610db2565b8452506020928301929190910190600101610d0e565b600082601f830112610d4857600080fd5b8151610d56610ce182611170565b91508181835260208401935060208101905083856020840282011115610d7b57600080fd5b60005b8381101561036c5781610d918882610db2565b8452506020928301929190910190600101610d7e565b8035610371816111e0565b8051610371816111e0565b8051610371816111e9565b600060208284031215610dda57600080fd5b6000610de68484610cac565b949350505050565b600060208284031215610e0057600080fd5b6000610de68484610cb7565b60008060408385031215610e1f57600080fd5b6000610e2b8585610cac565b9250506020610e3c85828601610da7565b9150509250929050565b600060208284031215610e5857600080fd5b815167ffffffffffffffff811115610e6f57600080fd5b610de684828501610cc2565b600060208284031215610e8d57600080fd5b815167ffffffffffffffff811115610ea457600080fd5b610de684828501610d37565b600060208284031215610ec257600080fd5b6000610de68484610db2565b600060208284031215610ee057600080fd5b6000610de68484610dbd565b6000610ef88383610fb6565b505060200190565b610f09816111a4565b82525050565b6000610f1a82611197565b610f24818561119b565b9350610f2f83611191565b8060005b83811015610f5d578151610f478882610eec565b9750610f5283611191565b925050600101610f33565b509495945050505050565b6000610f7382611197565b610f7d818561119b565b9350610f8883611191565b8060005b83811015610f5d578151610fa08882610eec565b9750610fab83611191565b925050600101610f8c565b610f09816111af565b610f09816111b2565b6000610fd560198361119b565b7f4d697373696e672053796e746865746978206164647265737300000000000000815260200192915050565b600061100e601d8361119b565b7f4d697373696e672045786368616e676552617465732061646472657373000000815260200192915050565b602081016103718284610f00565b602080825281016110598184610f0f565b9392505050565b604080825281016110718185610f0f565b90508181036020830152610de68184610f68565b606080825281016110968186610f0f565b905081810360208301526110aa8185610f68565b905081810360408301526110be8184610f68565b95945050505050565b604081016110d58284610fb6565b818103602083015261105981610fc8565b604081016110f48284610fb6565b818103602083015261105981611001565b606081016111138286610fb6565b6111206020830185610fb6565b610de66040830184610fb6565b602081016103718284610fbf565b602081016103718284610fb6565b60405181810167ffffffffffffffff8111828210171561116857600080fd5b604052919050565b600067ffffffffffffffff82111561118757600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610371826111bd565b90565b6000610371826111a4565b6001600160a01b031690565b6111d2816111a4565b81146111dd57600080fd5b50565b6111d2816111af565b6111d2816111b256fea365627a7a72315820776bc92f7533711da19384db2e9d6863204dd36d02eee35a26d86663983b241e6c6578706572696d656e74616cf564736f6c63430005100040", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "resolver", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [], - "name": "addressResolverProxy", - "outputs": [ - { - "internalType": "contract IAddressResolver", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "synthsBalances", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthsRates", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "synthsTotalSupplies", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "currencyKey", - "type": "bytes32" - } - ], - "name": "totalSynthsInKey", - "outputs": [ - { - "internalType": "uint256", - "name": "total", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "source": { - "keccak256": "0x4cb926577388013534f10b2e2da794e0566b2dfa1ac6da6595a4701bd98c2cd2", - "urls": [ - "bzz-raw://b614c6bfc444b283a378725ef8b8a7303d576ea13b0f2a5ba86f0df32c2bdc56", - "dweb:/ipfs/QmbvxpDmhTp2qFSRfPYWfZH2Z3hnPNGXMPcxoXoKVqoroh" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "SynthUtil.sol": "SynthUtil" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "SynthUtil.sol": { - "keccak256": "0x4cb926577388013534f10b2e2da794e0566b2dfa1ac6da6595a4701bd98c2cd2", - "urls": [ - "bzz-raw://b614c6bfc444b283a378725ef8b8a7303d576ea13b0f2a5ba86f0df32c2bdc56", - "dweb:/ipfs/QmbvxpDmhTp2qFSRfPYWfZH2Z3hnPNGXMPcxoXoKVqoroh" - ] - } - }, - "version": 1 - } - }, - "DappMaintenance": { - "bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582098904cebe8ef8aefb47c931ce1314c75c778876cff249d62011f743b58b418af64736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerNominated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "SXMaintenance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "StakingMaintenance", - "type": "event" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPausedSX", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isPausedStaking", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "nominateNewOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "setMaintenanceModeAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "setMaintenanceModeSX", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "setMaintenanceModeStaking", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "source": { - "keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3", - "urls": [ - "bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66", - "dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv" - ] - }, - "metadata": { - "compiler": { - "version": "0.5.16+commit.9c3226ce" - }, - "language": "Solidity", - "settings": { - "compilationTarget": { - "DappMaintenance.sol": "DappMaintenance" - }, - "evmVersion": "istanbul", - "libraries": {}, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "DappMaintenance.sol": { - "keccak256": "0xcc984cc3538295ebe544cff98643344bd1c0cef08a5a7a05cb1e18f8708fb6f3", - "urls": [ - "bzz-raw://b7600e3b40f9d3e1379181015fb5e88006f9db2d5ee21d12dd75f5b9d107bf66", - "dweb:/ipfs/QmZ4FQoQqH8aQebvn5qT5GbkdoSRixBP2wACW8m4SHNTcv" - ] - } - }, - "version": 1 - } - } - } + "targets": {} } diff --git a/publish/src/commands/deploy/configure-reward-escrow.js b/publish/src/commands/deploy/configure-reward-escrow.js index f6cba1f282..9be4fdec43 100644 --- a/publish/src/commands/deploy/configure-reward-escrow.js +++ b/publish/src/commands/deploy/configure-reward-escrow.js @@ -105,7 +105,7 @@ module.exports = async ({ addressOf, deployer, runStep }) => { comment: 'Ensure the RewardsDistribution can read the RewardEscrowV2 address', }); - if (DebtMigrator) { + if (DebtMigratorOnOptimism) { await runStep({ contract: 'RewardEscrowV2', target: RewardEscrowV2, From 3f1d2a2a89ea28c47232d6766172fba148aa0584 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 8 Feb 2024 16:39:14 -0500 Subject: [PATCH 04/43] fix lint --- publish/src/commands/deploy/configure-reward-escrow.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/publish/src/commands/deploy/configure-reward-escrow.js b/publish/src/commands/deploy/configure-reward-escrow.js index 9be4fdec43..bd4e0e6fce 100644 --- a/publish/src/commands/deploy/configure-reward-escrow.js +++ b/publish/src/commands/deploy/configure-reward-escrow.js @@ -16,7 +16,7 @@ module.exports = async ({ addressOf, deployer, runStep }) => { RewardEscrowV2Storage, RewardEscrowV2Frozen, LiquidatorRewards, - DebtMigrator, + DebtMigratorOnOptimism, } = deployer.deployedContracts; // SIP-252 rewards escrow migration @@ -110,11 +110,11 @@ module.exports = async ({ addressOf, deployer, runStep }) => { contract: 'RewardEscrowV2', target: RewardEscrowV2, read: 'permittedEscrowCreators', - readArg: addressOf(DebtMigrator), + readArg: addressOf(DebtMigratorOnOptimism), expected: input => input, write: 'setPermittedEscrowCreator', - writeArg: [addressOf(DebtMigrator), true], - comment: 'Allow escrow entry creation by DebtMigrator', + writeArg: [addressOf(DebtMigratorOnOptimism), true], + comment: 'Allow escrow entry creation by DebtMigratorOnOptimism', }); } From 877bf105e141229ac12af26f8ab344fa2272205e Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 8 Feb 2024 20:15:13 -0500 Subject: [PATCH 05/43] fix tests --- test/contracts/DebtMigratorOnOptimism.js | 6 ++++++ test/integration/behaviors/liquidations.behavior.js | 5 +++++ test/integration/behaviors/rewardEscrow.behavior.js | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/test/contracts/DebtMigratorOnOptimism.js b/test/contracts/DebtMigratorOnOptimism.js index c325e5bac5..8e4d134d80 100644 --- a/test/contracts/DebtMigratorOnOptimism.js +++ b/test/contracts/DebtMigratorOnOptimism.js @@ -153,6 +153,12 @@ contract('DebtMigratorOnOptimism', accounts => { debtShareBalanceBefore = await synthetixDebtShare.balanceOf(user); }); + before('set permitted escrow creator', async () => { + await rewardEscrowV2.setPermittedEscrowCreator(debtMigratorOnOptimism.address, true, { + from: owner, + }); + }); + it('succeeds', async () => { migrationFinalizedTx = await debtMigratorOnOptimism.finalizeDebtMigration( user, diff --git a/test/integration/behaviors/liquidations.behavior.js b/test/integration/behaviors/liquidations.behavior.js index b7e2984128..44a807a107 100644 --- a/test/integration/behaviors/liquidations.behavior.js +++ b/test/integration/behaviors/liquidations.behavior.js @@ -46,6 +46,10 @@ function itCanLiquidate({ ctx }) { await SystemSettings.setLiquidateReward(ethers.utils.parseEther('2')); // 2 SNX }); + before('set permitted escrow creator', async () => { + await RewardEscrowV2.setPermittedEscrowCreator(LiquidatorRewards.address, true); + }); + before('ensure liquidatedUser has SNX', async () => { await ensureBalance({ ctx, @@ -413,6 +417,7 @@ function itCanLiquidate({ ctx }) { liquidateReward = await Liquidator.liquidateReward(); await Synthetix.connect(owner).approve(RewardEscrowV2.address, ethers.constants.MaxUint256); + await RewardEscrowV2.setPermittedEscrowCreator(await owner.getAddress(), true); // 100 entries is a somewhat realistic estimate for an account which as been escrowing for a while and // hasnt claimed diff --git a/test/integration/behaviors/rewardEscrow.behavior.js b/test/integration/behaviors/rewardEscrow.behavior.js index 34023eddfd..aced02351a 100644 --- a/test/integration/behaviors/rewardEscrow.behavior.js +++ b/test/integration/behaviors/rewardEscrow.behavior.js @@ -131,6 +131,10 @@ function itDoesRewardEscrow({ ctx, contract }) { describe('new RewardEscrowV2 calls succeed', () => { let newEntryId; + before('set owner as permitted escrow creator', async () => { + await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(owner.address, true); + }); + it('can createEscrowEntry', async () => { const escrowBefore = await RewardEscrowV2.balanceOf(someUser.address); newEntryId = await RewardEscrowV2.nextEntryId(); From 40b99252c1730ebff70427fc3df5a5f238ba854c Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:58:53 -0500 Subject: [PATCH 06/43] Fix Liquidator unit tests --- test/contracts/Liquidator.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/contracts/Liquidator.js b/test/contracts/Liquidator.js index 9edd2590d8..61d831e624 100644 --- a/test/contracts/Liquidator.js +++ b/test/contracts/Liquidator.js @@ -106,6 +106,11 @@ contract('Liquidator', accounts => { // remove burn lock to allow burning await systemSettings.setMinimumStakeTime(0, { from: owner }); + // set permitted escrow creators + await rewardEscrowV2.setPermittedEscrowCreator(owner, true, { + from: owner, + }); + // approve creating escrow entries from owner await synthetix.approve(rewardEscrowV2.address, ethers.constants.MaxUint256, { from: owner }); From 96da286e6f1c7e352e492c639d2dfddcfacc1151 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Fri, 16 Feb 2024 13:11:50 -0500 Subject: [PATCH 07/43] fix unit tests --- test/contracts/LiquidatorRewards.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/contracts/LiquidatorRewards.js b/test/contracts/LiquidatorRewards.js index 2adf194cab..180576174e 100644 --- a/test/contracts/LiquidatorRewards.js +++ b/test/contracts/LiquidatorRewards.js @@ -22,6 +22,7 @@ contract('LiquidatorRewards', accounts => { circuitBreaker, exchangeRates, liquidatorRewards, + rewardEscrowV2, synths, synthetix, synthetixProxy, @@ -68,6 +69,7 @@ contract('LiquidatorRewards', accounts => { DebtCache: debtCache, ExchangeRates: exchangeRates, LiquidatorRewards: liquidatorRewards, + RewardEscrowV2: rewardEscrowV2, Synthetix: synthetix, ProxyERC20Synthetix: synthetixProxy, SynthetixDebtShare: synthetixDebtShare, @@ -96,6 +98,11 @@ contract('LiquidatorRewards', accounts => { synthetix = await artifacts.require('Synthetix').at(synthetixProxy.address); await setupPriceAggregators(exchangeRates, owner, [sAUD, sEUR, sETH, ETH]); + + // set permitted escrow creators + await rewardEscrowV2.setPermittedEscrowCreator(liquidatorRewards.address, true, { + from: owner, + }); }); addSnapshotBeforeRestoreAfterEach(); From 299e31fdb59b03a86354ae544d768204219f7ca0 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Fri, 16 Feb 2024 14:04:41 -0500 Subject: [PATCH 08/43] fix fork tests --- test/integration/behaviors/liquidations.behavior.js | 3 ++- test/integration/behaviors/rewardEscrow.behavior.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/integration/behaviors/liquidations.behavior.js b/test/integration/behaviors/liquidations.behavior.js index 44a807a107..94b97ad6b8 100644 --- a/test/integration/behaviors/liquidations.behavior.js +++ b/test/integration/behaviors/liquidations.behavior.js @@ -47,7 +47,8 @@ function itCanLiquidate({ ctx }) { }); before('set permitted escrow creator', async () => { - await RewardEscrowV2.setPermittedEscrowCreator(LiquidatorRewards.address, true); + if (RewardEscrowV2.setPermittedEscrowCreator) + await RewardEscrowV2.setPermittedEscrowCreator(LiquidatorRewards.address, true); }); before('ensure liquidatedUser has SNX', async () => { diff --git a/test/integration/behaviors/rewardEscrow.behavior.js b/test/integration/behaviors/rewardEscrow.behavior.js index aced02351a..0fd8633470 100644 --- a/test/integration/behaviors/rewardEscrow.behavior.js +++ b/test/integration/behaviors/rewardEscrow.behavior.js @@ -132,7 +132,8 @@ function itDoesRewardEscrow({ ctx, contract }) { let newEntryId; before('set owner as permitted escrow creator', async () => { - await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(owner.address, true); + if (RewardEscrowV2.setPermittedEscrowCreator) + await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(owner.address, true); }); it('can createEscrowEntry', async () => { From 5775edc66dae211c0348b0cc76862ad2a5687379 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Fri, 16 Feb 2024 14:35:26 -0500 Subject: [PATCH 09/43] fix int dual tests --- test/integration/dual/debtMigration.integration.js | 2 ++ test/integration/dual/depositAndMigrateEscrow.integration.js | 1 + test/integration/dual/migrateEscrow.integration.js | 1 + 3 files changed, 4 insertions(+) diff --git a/test/integration/dual/debtMigration.integration.js b/test/integration/dual/debtMigration.integration.js index ec7b04aa1e..3a0363a73d 100644 --- a/test/integration/dual/debtMigration.integration.js +++ b/test/integration/dual/debtMigration.integration.js @@ -64,6 +64,8 @@ describe('migrateDebt() integration tests (L1, L2)', () => { }); before('create and append escrow entries', async () => { + await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(user.address, true); + escrowEntriesData = await appendEscrows({ ctx: ctx.l1, user, diff --git a/test/integration/dual/depositAndMigrateEscrow.integration.js b/test/integration/dual/depositAndMigrateEscrow.integration.js index 0c7c8e2f3d..ef37c0c71d 100644 --- a/test/integration/dual/depositAndMigrateEscrow.integration.js +++ b/test/integration/dual/depositAndMigrateEscrow.integration.js @@ -46,6 +46,7 @@ describe('depositAndMigrateEscrow() integration tests (L1, L2)', () => { before('create and append escrow entries', async () => { user = ctx.l1.users.owner; + await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); escrowEntriesData = await appendEscrows({ ctx: ctx.l1, diff --git a/test/integration/dual/migrateEscrow.integration.js b/test/integration/dual/migrateEscrow.integration.js index 8ee8818845..01556a7d5e 100644 --- a/test/integration/dual/migrateEscrow.integration.js +++ b/test/integration/dual/migrateEscrow.integration.js @@ -42,6 +42,7 @@ describe('migrateEscrow() integration tests (L1, L2)', () => { before('create and append escrow entries', async () => { user = ctx.l1.users.owner; + await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); escrowEntriesData = await appendEscrows({ ctx: ctx.l1, From 51dcca5e55c75cfa6a86c7642437b40a605bc9ec Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Tue, 20 Feb 2024 17:23:09 -0500 Subject: [PATCH 10/43] fix fork --- test/integration/behaviors/liquidations.behavior.js | 5 +++-- test/integration/behaviors/rewardEscrow.behavior.js | 2 +- test/integration/dual/debtMigration.integration.js | 3 ++- test/integration/dual/depositAndMigrateEscrow.integration.js | 4 +++- test/integration/dual/migrateEscrow.integration.js | 4 +++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/test/integration/behaviors/liquidations.behavior.js b/test/integration/behaviors/liquidations.behavior.js index 94b97ad6b8..30be17476c 100644 --- a/test/integration/behaviors/liquidations.behavior.js +++ b/test/integration/behaviors/liquidations.behavior.js @@ -47,7 +47,7 @@ function itCanLiquidate({ ctx }) { }); before('set permitted escrow creator', async () => { - if (RewardEscrowV2.setPermittedEscrowCreator) + if (!ctx.fork) await RewardEscrowV2.setPermittedEscrowCreator(LiquidatorRewards.address, true); }); @@ -418,7 +418,8 @@ function itCanLiquidate({ ctx }) { liquidateReward = await Liquidator.liquidateReward(); await Synthetix.connect(owner).approve(RewardEscrowV2.address, ethers.constants.MaxUint256); - await RewardEscrowV2.setPermittedEscrowCreator(await owner.getAddress(), true); + if (!ctx.fork) + await RewardEscrowV2.setPermittedEscrowCreator(await owner.getAddress(), true); // 100 entries is a somewhat realistic estimate for an account which as been escrowing for a while and // hasnt claimed diff --git a/test/integration/behaviors/rewardEscrow.behavior.js b/test/integration/behaviors/rewardEscrow.behavior.js index 0fd8633470..d58edaef00 100644 --- a/test/integration/behaviors/rewardEscrow.behavior.js +++ b/test/integration/behaviors/rewardEscrow.behavior.js @@ -132,7 +132,7 @@ function itDoesRewardEscrow({ ctx, contract }) { let newEntryId; before('set owner as permitted escrow creator', async () => { - if (RewardEscrowV2.setPermittedEscrowCreator) + if (!ctx.fork) await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(owner.address, true); }); diff --git a/test/integration/dual/debtMigration.integration.js b/test/integration/dual/debtMigration.integration.js index 3a0363a73d..5dd3c121a4 100644 --- a/test/integration/dual/debtMigration.integration.js +++ b/test/integration/dual/debtMigration.integration.js @@ -64,7 +64,8 @@ describe('migrateDebt() integration tests (L1, L2)', () => { }); before('create and append escrow entries', async () => { - await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(user.address, true); + if (!ctx.fork) + await RewardEscrowV2.connect(owner).setPermittedEscrowCreator(user.address, true); escrowEntriesData = await appendEscrows({ ctx: ctx.l1, diff --git a/test/integration/dual/depositAndMigrateEscrow.integration.js b/test/integration/dual/depositAndMigrateEscrow.integration.js index ef37c0c71d..a433e3fd77 100644 --- a/test/integration/dual/depositAndMigrateEscrow.integration.js +++ b/test/integration/dual/depositAndMigrateEscrow.integration.js @@ -46,7 +46,9 @@ describe('depositAndMigrateEscrow() integration tests (L1, L2)', () => { before('create and append escrow entries', async () => { user = ctx.l1.users.owner; - await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); + + if (!ctx.fork) + await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); escrowEntriesData = await appendEscrows({ ctx: ctx.l1, diff --git a/test/integration/dual/migrateEscrow.integration.js b/test/integration/dual/migrateEscrow.integration.js index 01556a7d5e..b8360c78a3 100644 --- a/test/integration/dual/migrateEscrow.integration.js +++ b/test/integration/dual/migrateEscrow.integration.js @@ -42,7 +42,9 @@ describe('migrateEscrow() integration tests (L1, L2)', () => { before('create and append escrow entries', async () => { user = ctx.l1.users.owner; - await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); + + if (!ctx.fork) + await RewardEscrowV2.connect(user).setPermittedEscrowCreator(user.address, true); escrowEntriesData = await appendEscrows({ ctx: ctx.l1, From 943b9adb7276e7c4bd6e7e97cb2ce3c58555e44a Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:13:35 -0500 Subject: [PATCH 11/43] update optimism commit hash for ops tool --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 6d6b10e06a..364551c7d4 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' + '1fe7e1ecb59d3698251cd1e18b9a2e9afc47dbd0' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 7021b1d6f8bc12add793713073a7589dff7ec3d1 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:35:58 -0500 Subject: [PATCH 12/43] update op commit hash --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 364551c7d4..67446fd6d0 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - '1fe7e1ecb59d3698251cd1e18b9a2e9afc47dbd0' + 'da66907465ce558cf0feed4d7b9a0cfffc91a3c5' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 308cb43deb2aded36064b88441249720e5e0e8d0 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:51:08 -0500 Subject: [PATCH 13/43] add node 18.17.1 op commit hash --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 67446fd6d0..9fa394ac7f 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'da66907465ce558cf0feed4d7b9a0cfffc91a3c5' + 'd625e22282aadd4bb7f62970a4f4eab0c05c2507' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 2c6f3196cdecd92682134b1758f33034eb2b4280 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 21 Feb 2024 10:14:43 -0500 Subject: [PATCH 14/43] update commit hash --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 9fa394ac7f..d28487fee0 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'd625e22282aadd4bb7f62970a4f4eab0c05c2507' + 'e02310c03927c5fbd2fcf5b30b516105b5497fb0' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From f1faa31b1da4287493ca149aa7ff7f7e7bbef86e Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:48:23 -0500 Subject: [PATCH 15/43] update configure reward escrow script and op commit hash --- hardhat/tasks/task-ops.js | 2 +- .../deploy/configure-reward-escrow.js | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index d28487fee0..b70e242dea 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'e02310c03927c5fbd2fcf5b30b516105b5497fb0' + '08921d5c1df39c329f9ab82447ea939bc61a8784' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; diff --git a/publish/src/commands/deploy/configure-reward-escrow.js b/publish/src/commands/deploy/configure-reward-escrow.js index bd4e0e6fce..2e28687859 100644 --- a/publish/src/commands/deploy/configure-reward-escrow.js +++ b/publish/src/commands/deploy/configure-reward-escrow.js @@ -118,14 +118,16 @@ module.exports = async ({ addressOf, deployer, runStep }) => { }); } - await runStep({ - contract: 'RewardEscrowV2', - target: RewardEscrowV2, - read: 'permittedEscrowCreators', - readArg: addressOf(LiquidatorRewards), - expected: input => input, - write: 'setPermittedEscrowCreator', - writeArg: [addressOf(LiquidatorRewards), true], - comment: 'Allow escrow entry creation by LiquidatorRewards', - }); + if (RewardEscrowV2.permittedEscrowCreators) { + await runStep({ + contract: 'RewardEscrowV2', + target: RewardEscrowV2, + read: 'permittedEscrowCreators', + readArg: addressOf(LiquidatorRewards), + expected: input => input, + write: 'setPermittedEscrowCreator', + writeArg: [addressOf(LiquidatorRewards), true], + comment: 'Allow escrow entry creation by LiquidatorRewards', + }); + } }; From b9766e16ee748d629f8148214a8124c74a742011 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 20:30:29 -0500 Subject: [PATCH 16/43] Update docker-node image --- .circleci/config.yml | 24 +- .circleci/src/snippets/job-header-node.yml | 2 +- package-lock.json | 15830 +------------------ 3 files changed, 14 insertions(+), 15842 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f8c379512d..b3506a8722 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -95,7 +95,7 @@ jobs: job-fork-tests-ovm: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu resource_class: large steps: - checkout @@ -122,7 +122,7 @@ jobs: job-fork-tests: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu resource_class: large steps: - checkout @@ -247,7 +247,7 @@ jobs: job-lint: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -256,7 +256,7 @@ jobs: job-pack-browser: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -267,7 +267,7 @@ jobs: job-prepare: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - run: name: Set node & npm versions @@ -298,7 +298,7 @@ jobs: job-simulate-release: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -322,7 +322,7 @@ jobs: job-static-analysis: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -405,7 +405,7 @@ jobs: job-unit-tests-coverage: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu resource_class: large parallelism: 8 steps: @@ -432,7 +432,7 @@ jobs: job-unit-tests-gas-report: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -450,7 +450,7 @@ jobs: job-unit-tests: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu resource_class: large parallelism: 8 steps: @@ -483,7 +483,7 @@ jobs: job-validate-deployments: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu steps: - checkout - attach_workspace: @@ -499,7 +499,7 @@ jobs: job-validate-etherscan: working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu parameters: network: type: string diff --git a/.circleci/src/snippets/job-header-node.yml b/.circleci/src/snippets/job-header-node.yml index fa98a85a6b..d0f2dc4c38 100644 --- a/.circleci/src/snippets/job-header-node.yml +++ b/.circleci/src/snippets/job-header-node.yml @@ -1,3 +1,3 @@ working_directory: ~/repo docker: - - image: synthetixio/docker-node:16.17-ubuntu + - image: synthetixio/docker-node:18.19-ubuntu diff --git a/package-lock.json b/package-lock.json index f44d9d1482..432bbc1f56 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "synthetix", "version": "2.98.2", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -1935,141 +1935,6 @@ "node": ">= 10" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz", - "integrity": "sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz", - "integrity": "sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz", - "integrity": "sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz", - "integrity": "sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz", - "integrity": "sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz", - "integrity": "sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz", - "integrity": "sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz", - "integrity": "sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz", - "integrity": "sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@nomiclabs/ethereumjs-vm": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", @@ -2803,39 +2668,6 @@ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, - "node_modules/@truffle/codec/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@truffle/codec/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@truffle/codec/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@truffle/compile-common": { "version": "0.9.7", "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz", @@ -19836,15665 +19668,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/runtime": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz", - "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@chainlink/contracts-0.0.10": { - "version": "npm:@chainlink/contracts@0.0.10", - "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.0.10.tgz", - "integrity": "sha512-ok+ucSQ+3mrR+zjbi6zIrdd5M9XymcqVcnXGVyqBVRYZp97jS2/rt/glP320JmHxmi4pacgDOg0Ux11xIr1S8Q==", - "dev": true, - "requires": { - "@truffle/contract": "^4.2.6", - "ethers": "^4.0.45" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "optional": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "optional": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true, - "optional": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true, - "optional": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true, - "optional": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "dev": true, - "optional": true - } - } - }, - "@codechecks/client": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@codechecks/client/-/client-0.1.12.tgz", - "integrity": "sha512-2GHHvhO3kaOyxFXxOaiznlY8ARmz33/p+WQdhc2y6wzWw5eOl2wSwg1eZxx3LsWlAnB963Y4bd1YjZcGIhKRzA==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chalk": "^2.4.2", - "commander": "^2.19.0", - "debug": "^4.1.1", - "execa": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "js-yaml": "^3.13.1", - "json5": "^2.1.0", - "lodash": "^4.17.11", - "marked": "^0.7.0", - "marked-terminal": "^3.3.0", - "mkdirp": "^0.5.1", - "ms": "^2.1.1", - "promise": "^8.0.2", - "request": "^2.88.0", - "request-promise": "^4.2.2", - "ts-essentials": "^1.0.2", - "ts-node": "^8.0.2", - "url-join": "^4.0.0" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@defi-wonderland/smock": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@defi-wonderland/smock/-/smock-2.3.4.tgz", - "integrity": "sha512-VYJbsoCOdFRyGkAwvaQhQRrU6V8AjK3five8xdbo41DEE9n3qXzUNBUxyD9HhXB/dWWPFWT21IGw5Ztl6Qw3Ew==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-evm": "^1.0.0-rc.3", - "@nomicfoundation/ethereumjs-util": "^8.0.0-rc.3", - "@nomicfoundation/ethereumjs-vm": "^6.0.0-rc.3", - "diff": "^5.0.0", - "lodash.isequal": "^4.5.0", - "lodash.isequalwith": "^4.4.0", - "rxjs": "^7.2.0", - "semver": "^7.3.5" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - }, - "rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@ensdomains/address-encoder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", - "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", - "dev": true, - "requires": { - "bech32": "^1.1.3", - "blakejs": "^1.1.0", - "bn.js": "^4.11.8", - "bs58": "^4.0.1", - "crypto-addr-codec": "^0.1.7", - "nano-base32": "^1.0.1", - "ripemd160": "^2.0.2" - } - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "dev": true, - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dev": true, - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, - "@ensdomains/ensjs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", - "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", - "dev": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@ensdomains/address-encoder": "^0.1.7", - "@ensdomains/ens": "0.4.5", - "@ensdomains/resolver": "0.2.4", - "content-hash": "^2.5.2", - "eth-ens-namehash": "^2.0.8", - "ethers": "^5.0.13", - "js-sha3": "^0.8.0" - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "dev": true - }, - "@eth-optimism/contracts": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.3.4.tgz", - "integrity": "sha512-GTmyf+MR/LWadlm4ff5spA6pyZOGnmpNBRMZ8ecvOzjszhFVT1J1DTxuqcvrEt/UIk53j5OQT5tNZHmyovNvQQ==", - "dev": true, - "requires": { - "@eth-optimism/core-utils": "^0.4.4", - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/abstract-signer": "^5.1.0", - "@ethersproject/contracts": "^5.0.5", - "glob": "^7.1.6" - }, - "dependencies": { - "@eth-optimism/core-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.4.7.tgz", - "integrity": "sha512-H+NdGAyx6w4Wmjy3PaTF7xnBEeKh8BZK1jfU6yy52sd2E0oH7ABd0H5FtRY2SLPTH8AZ8gAgOhrTNoqE0Mlktw==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.0.9", - "ethers": "^5.0.31", - "lodash": "^4.17.21" - } - } - } - }, - "@eth-optimism/core-utils": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", - "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/address": "^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/keccak256": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/providers": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bufio": "^1.0.7", - "chai": "^4.3.4" - } - }, - "@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@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/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@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-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@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/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@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/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@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/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@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" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@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/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "dev": true, - "requires": { - "@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": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@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/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "dev": true, - "requires": { - "@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" - } - }, - "@gnosis.pm/safe-core-sdk": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-core-sdk/-/safe-core-sdk-1.3.0.tgz", - "integrity": "sha512-laKkyJUv0llPPG5ep2+18v/anIEGi+KjarNoeVAutYzIeAAkSvvVbY8qyfczh5bWQkqvQ3K1l/QLUJ8Kx4hm3g==", - "dev": true, - "requires": { - "@gnosis.pm/safe-core-sdk-types": "^0.1.1", - "@gnosis.pm/safe-deployments": "^1.7.0", - "ethereumjs-util": "^7.1.3", - "semver": "^7.3.5" - } - }, - "@gnosis.pm/safe-core-sdk-types": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-core-sdk-types/-/safe-core-sdk-types-0.1.1.tgz", - "integrity": "sha512-PghXGDaI5Foq37nZGmI90U2OKMeGtxh5KqkDqou9aFHwGVa/nf9HRQPxG9/XUzcyfe9OlKttDlJnR3XnC3dSDw==", - "dev": true - }, - "@gnosis.pm/safe-deployments": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-deployments/-/safe-deployments-1.10.0.tgz", - "integrity": "sha512-ka8G630+7cGP4zFP0XEIBV9bjN1PuV1fvtAB8uGoYvyeRreLVPEIY8hTfFq4hm+Pvs7Kd2K7hDyXQ2Nuj0pfIg==", - "dev": true - }, - "@gnosis.pm/safe-service-client": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-service-client/-/safe-service-client-1.1.0.tgz", - "integrity": "sha512-0YhdvA8tLLGwXCcL9CP4123ebt/eBxUnvaSyi07c5wIMp1aWCE40zlgWCLaAOE52btPCrLJbBoHAaeJwJWUnkg==", - "dev": true, - "requires": { - "@gnosis.pm/safe-core-sdk-types": "^0.1.1", - "node-fetch": "^2.6.6" - } - }, - "@iarna/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==", - "dev": true - }, - "@ipld/dag-cbor": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", - "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", - "dev": true, - "requires": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" - } - }, - "@ipld/dag-json": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", - "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "dev": true, - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - }, - "@ipld/dag-pb": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", - "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", - "dev": true, - "requires": { - "multiformats": "^9.5.4" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@noble/hashes": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz", - "integrity": "sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==", - "dev": true - }, - "@noble/secp256k1": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz", - "integrity": "sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomicfoundation/ethereumjs-block": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz", - "integrity": "sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==", - "requires": { - "@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": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz", - "integrity": "sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==", - "requires": { - "@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": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz", - "integrity": "sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==", - "requires": { - "@nomicfoundation/ethereumjs-util": "^8.0.0", - "crc-32": "^1.2.0" - } - }, - "@nomicfoundation/ethereumjs-ethash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz", - "integrity": "sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==", - "requires": { - "@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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz", - "integrity": "sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==", - "requires": { - "@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": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz", - "integrity": "sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==" - }, - "@nomicfoundation/ethereumjs-statemanager": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz", - "integrity": "sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==", - "requires": { - "@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" - } - }, - "@nomicfoundation/ethereumjs-trie": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz", - "integrity": "sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==", - "requires": { - "@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": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz", - "integrity": "sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==", - "requires": { - "@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": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz", - "integrity": "sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==", - "requires": { - "@nomicfoundation/ethereumjs-rlp": "^4.0.0-beta.2", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-vm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz", - "integrity": "sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==", - "requires": { - "@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" - } - }, - "@nomicfoundation/solidity-analyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.0.tgz", - "integrity": "sha512-xGWAiVCGOycvGiP/qrlf9f9eOn7fpNbyJygcB0P21a1MDuVPlKt0Srp7rvtBEutYQ48ouYnRXm33zlRnlTOPHg==", - "requires": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.0", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.0", - "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.0", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.0", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.0", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.0", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.0", - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.0", - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.0", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.0" - } - }, - "@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.0.tgz", - "integrity": "sha512-vEF3yKuuzfMHsZecHQcnkUrqm8mnTWfJeEVFHpg+cO+le96xQA4lAJYdUan8pXZohQxv1fSReQsn4QGNuBNuCw==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz", - "integrity": "sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz", - "integrity": "sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz", - "integrity": "sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz", - "integrity": "sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz", - "integrity": "sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz", - "integrity": "sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz", - "integrity": "sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz", - "integrity": "sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==", - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz", - "integrity": "sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==", - "optional": true - }, - "@nomiclabs/ethereumjs-vm": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", - "integrity": "sha512-8WmX94mMcJaZ7/m7yBbyuS6B+wuOul+eF+RY9fBpGhNaUpyMR/vFIcDojqcWQ4Yafe1tMKY5LDu2yfT4NZgV4Q==", - "dev": true, - "requires": { - "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", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "3.0.0", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", - "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", - "dev": true, - "requires": {} - }, - "@nomiclabs/hardhat-etherscan": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.0.tgz", - "integrity": "sha512-JroYgfN1AlYFkQTQ3nRwFi4o8NtZF7K/qFR2dxDUgHbCtIagkUseca9L4E/D2ScUm4XT40+8PbCdqZi+XmHyQA==", - "requires": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^5.0.2", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "lodash": "^4.17.11", - "semver": "^6.3.0", - "table": "^6.8.0", - "undici": "^5.4.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "@nomiclabs/hardhat-truffle5": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-truffle5/-/hardhat-truffle5-2.0.7.tgz", - "integrity": "sha512-Pw8451IUZp1bTp0QqCHCYfCHs66sCnyxPcaorapu9mfOV9xnZsVaFdtutnhNEiXdiZwbed7LFKpRsde4BjFwig==", - "dev": true, - "requires": { - "@nomiclabs/truffle-contract": "^4.2.23", - "@types/chai": "^4.2.0", - "chai": "^4.2.0", - "ethereumjs-util": "^7.1.4", - "fs-extra": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@nomiclabs/hardhat-web3": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", - "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", - "dev": true, - "requires": { - "@types/bignumber.js": "^5.0.0" - } - }, - "@nomiclabs/truffle-contract": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.5.10.tgz", - "integrity": "sha512-nF/6InFV+0hUvutyFgsdOMCoYlr//2fJbRER4itxYtQtc4/O1biTwZIKRu+5l2J5Sq6LU2WX7vZHtDgQdhWxIQ==", - "dev": true, - "requires": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.3", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.22", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.16", - "bignumber.js": "^7.2.1", - "ethereum-ens": "^0.8.0", - "ethers": "^4.0.0-beta.1", - "source-map-support": "^0.5.19" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "dev": true - } - } - }, - "@pinata/sdk": { - "version": "1.1.26", - "resolved": "https://registry.npmjs.org/@pinata/sdk/-/sdk-1.1.26.tgz", - "integrity": "sha512-surJDg6aBRMnx3TAzBeBH/rNnlsTsykkBe1Fr7VMZgw3Ub4Q0RO2y5mAXtO4AmBqFtqLTbMW/2ItAQ6rVfKGPw==", - "dev": true, - "requires": { - "axios": "^0.21.1", - "base-path-converter": "^1.0.2", - "form-data": "^2.3.3", - "is-ipfs": "^0.6.0", - "recursive-fs": "^1.1.2" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "dev": true - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "dev": true - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "dev": true - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "dev": true - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "dev": true - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "dev": true - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "dev": true - }, - "@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" - }, - "@scure/bip32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz", - "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==", - "dev": true, - "requires": { - "@noble/hashes": "~1.1.1", - "@noble/secp256k1": "~1.6.0", - "@scure/base": "~1.1.0" - } - }, - "@scure/bip39": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz", - "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==", - "dev": true, - "requires": { - "@noble/hashes": "~1.1.1", - "@scure/base": "~1.1.0" - } - }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" - }, - "@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true - }, - "@solidity-parser/parser": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", - "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "@synthetixio/wei": { - "version": "2.74.1", - "resolved": "https://registry.npmjs.org/@synthetixio/wei/-/wei-2.74.1.tgz", - "integrity": "sha512-YhiEtumbO0o9cwQmoTaqfyDURUTp4s7ujcpESlHJ3fN0W4SLFkZPM3omv2A3vzTXDiIDJnOK7t6PXYuLfFS1sg==", - "dev": true, - "requires": { - "big.js": "^6.1.1", - "ethers": "^5.5.3" - } - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.1" - } - }, - "@truffle/abi-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.2.tgz", - "integrity": "sha512-MefEcxsBlprKIpfW7eh2I5zJqlWM18xk3duL7SW4VhIs6kNEec//hCpEDoE6P0m7GjqY3vk8X4vnf4aLlZkRcA==", - "dev": true, - "requires": { - "change-case": "3.0.2", - "fast-check": "3.1.1", - "web3-utils": "1.10.0" - } - }, - "@truffle/blockchain-utils": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.8.tgz", - "integrity": "sha512-ZskpYDNHkXD3ota4iU3pZz6kLth87RC+wDn66Rp2Or+DqqJCKdnmS9GDctBi1EcMPDEi0BqpkdrfBuzA9uIkGg==", - "dev": true - }, - "@truffle/codec": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.2.tgz", - "integrity": "sha512-n9HX8R5a5+/j6Y0+lqSzIyU1cUxTRYn/xEWp0Qc1b0Vtltad7wvVh+KLGvbm/KQEX3o1RK1xRIUN2E0QlDeQnA==", - "dev": true, - "requires": { - "@truffle/abi-utils": "^1.0.2", - "@truffle/compile-common": "^0.9.7", - "big.js": "^6.0.3", - "bn.js": "^5.1.3", - "cbor": "^5.2.0", - "debug": "^4.3.1", - "lodash": "^4.17.21", - "semver": "7.5.2", - "utf8": "^3.0.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@truffle/compile-common": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz", - "integrity": "sha512-TXuVLc5yJ/A0bSWw5OWIdXmcyaPpj3TJQ60ki7w9cIuW65Bazw7P4FRPaVNjR9YGe1FLYJ36GSdd9V3egPbzCg==", - "dev": true, - "requires": { - "@truffle/error": "^0.2.1", - "colors": "1.4.0" - }, - "dependencies": { - "@truffle/error": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz", - "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==", - "dev": true - } - } - }, - "@truffle/contract": { - "version": "4.6.28", - "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.6.28.tgz", - "integrity": "sha512-R7gQZpod5sO1hu06qZGJTTR6CZ7Hzk+z1yOvjKGa6zVLgXJXHgegKiLdj0xAfw/gAR+BWdGk6sllmNwfxSfK4Q==", - "dev": true, - "optional": true, - "requires": { - "@ensdomains/ensjs": "^2.1.0", - "@truffle/blockchain-utils": "^0.1.8", - "@truffle/contract-schema": "^3.4.15", - "@truffle/debug-utils": "^6.0.56", - "@truffle/error": "^0.2.1", - "@truffle/interface-adapter": "^0.5.35", - "bignumber.js": "^7.2.1", - "debug": "^4.3.1", - "ethers": "^4.0.32", - "web3": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "@truffle/error": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz", - "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==", - "dev": true, - "optional": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "optional": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "optional": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "optional": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true, - "optional": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true, - "optional": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true, - "optional": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true, - "optional": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "optional": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-promievent": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", - "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", - "dev": true, - "optional": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-abi": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", - "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", - "dev": true, - "optional": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "optional": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true, - "optional": true - } - } - } - } - }, - "@truffle/contract-schema": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.15.tgz", - "integrity": "sha512-m13e1VlXEdxiXiqv/SmPlqbdtcuhjwIGTICm+JCEO8nt0NYBbdMC2paNkpUvGz9lK139JxIupMHctEV4vgkldw==", - "dev": true, - "requires": { - "ajv": "^6.10.0", - "debug": "^4.3.1" - } - }, - "@truffle/debug-utils": { - "version": "6.0.56", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.56.tgz", - "integrity": "sha512-tCB0nKZirWlQp+0JqqaBxZk7CIwDBIHl8Q9CyGJZA4pdAwKHHMI3FoPAXzubP7X0YuICeQsAmpOAXzOHGYGkjg==", - "dev": true, - "requires": { - "@truffle/codec": "^0.17.2", - "@trufflesuite/chromafi": "^3.0.0", - "bn.js": "^5.1.3", - "chalk": "^2.4.2", - "debug": "^4.3.1", - "highlightjs-solidity": "^2.0.6" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - } - } - }, - "@truffle/error": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.1.tgz", - "integrity": "sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA==", - "dev": true - }, - "@truffle/interface-adapter": { - "version": "0.5.35", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.35.tgz", - "integrity": "sha512-B5gtJnvsum5j2do393n0UfCT8MklrlAZxuqvEFBeMM9UKnreYct0/D368FVMlZwWo1N50HgGeZ0hlpSJqR/nvg==", - "dev": true, - "requires": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true - } - } - }, - "@truffle/provider": { - "version": "0.2.64", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.64.tgz", - "integrity": "sha512-ZwPsofw4EsCq/2h0t73SPnnFezu4YQWBmK4FxFaOUX0F+o8NsZuHKyfJzuZwyZbiktYmefM3yD9rM0Dj4BhNbw==", - "dev": true, - "requires": { - "@truffle/error": "^0.1.1", - "@truffle/interface-adapter": "^0.5.25", - "debug": "^4.3.1", - "web3": "1.7.4" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", - "dev": true - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "web3": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz", - "integrity": "sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A==", - "dev": true, - "requires": { - "web3-bzz": "1.7.4", - "web3-core": "1.7.4", - "web3-eth": "1.7.4", - "web3-eth-personal": "1.7.4", - "web3-net": "1.7.4", - "web3-shh": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-bzz": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.4.tgz", - "integrity": "sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40" - } - }, - "web3-core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.4.tgz", - "integrity": "sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.0", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.7.4", - "web3-core-method": "1.7.4", - "web3-core-requestmanager": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-core-method": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.4.tgz", - "integrity": "sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.7.4", - "web3-core-promievent": "1.7.4", - "web3-core-subscriptions": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-core-requestmanager": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.4.tgz", - "integrity": "sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA==", - "dev": true, - "requires": { - "util": "^0.12.0", - "web3-core-helpers": "1.7.4", - "web3-providers-http": "1.7.4", - "web3-providers-ipc": "1.7.4", - "web3-providers-ws": "1.7.4" - } - }, - "web3-core-subscriptions": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.4.tgz", - "integrity": "sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.7.4" - } - }, - "web3-eth": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.4.tgz", - "integrity": "sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug==", - "dev": true, - "requires": { - "web3-core": "1.7.4", - "web3-core-helpers": "1.7.4", - "web3-core-method": "1.7.4", - "web3-core-subscriptions": "1.7.4", - "web3-eth-abi": "1.7.4", - "web3-eth-accounts": "1.7.4", - "web3-eth-contract": "1.7.4", - "web3-eth-ens": "1.7.4", - "web3-eth-iban": "1.7.4", - "web3-eth-personal": "1.7.4", - "web3-net": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-eth-accounts": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.4.tgz", - "integrity": "sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.5.0", - "@ethereumjs/tx": "^3.3.2", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "uuid": "3.3.2", - "web3-core": "1.7.4", - "web3-core-helpers": "1.7.4", - "web3-core-method": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-eth-contract": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.4.tgz", - "integrity": "sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.0", - "web3-core": "1.7.4", - "web3-core-helpers": "1.7.4", - "web3-core-method": "1.7.4", - "web3-core-promievent": "1.7.4", - "web3-core-subscriptions": "1.7.4", - "web3-eth-abi": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-eth-ens": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.4.tgz", - "integrity": "sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.7.4", - "web3-core-helpers": "1.7.4", - "web3-core-promievent": "1.7.4", - "web3-eth-abi": "1.7.4", - "web3-eth-contract": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-eth-personal": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.4.tgz", - "integrity": "sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.7.4", - "web3-core-helpers": "1.7.4", - "web3-core-method": "1.7.4", - "web3-net": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-net": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.4.tgz", - "integrity": "sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg==", - "dev": true, - "requires": { - "web3-core": "1.7.4", - "web3-core-method": "1.7.4", - "web3-utils": "1.7.4" - } - }, - "web3-providers-http": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.4.tgz", - "integrity": "sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA==", - "dev": true, - "requires": { - "web3-core-helpers": "1.7.4", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.4.tgz", - "integrity": "sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.7.4" - } - }, - "web3-providers-ws": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.4.tgz", - "integrity": "sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.7.4", - "websocket": "^1.0.32" - } - }, - "web3-shh": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.4.tgz", - "integrity": "sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A==", - "dev": true, - "requires": { - "web3-core": "1.7.4", - "web3-core-method": "1.7.4", - "web3-core-subscriptions": "1.7.4", - "web3-net": "1.7.4" - } - }, - "web3-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", - "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - } - } - } - } - }, - "@trufflesuite/chromafi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz", - "integrity": "sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "chalk": "^2.3.2", - "cheerio": "^1.0.0-rc.2", - "detect-indent": "^5.0.0", - "highlight.js": "^10.4.1", - "lodash.merge": "^4.6.2", - "strip-ansi": "^4.0.0", - "strip-indent": "^2.0.0" - } - }, - "@types/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", - "dev": true - }, - "@types/async-eventemitter": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", - "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" - }, - "@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "dev": true, - "requires": { - "bignumber.js": "*" - } - }, - "@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "requires": { - "@types/node": "*" - } - }, - "@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", - "dev": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" - } - }, - "@types/chai": { - "version": "4.2.18", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.18.tgz", - "integrity": "sha512-rS27+EkB/RE1Iz3u0XtVL5q36MGDWbgYe7zWiodyKNUnthxY0rukK5V36eiUCtCisB7NN8zKYH6DO2M37qxFEQ==", - "dev": true - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", - "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true - }, - "@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dev": true, - "requires": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@types/node": "*" - } - }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "dev": true - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/node": { - "version": "17.0.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", - "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@uniswap/token-lists": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@uniswap/token-lists/-/token-lists-1.0.0-beta.27.tgz", - "integrity": "sha512-x5hmIniQ9TGqOBCRqfWcmZi/U5kB0qrHMDQ9igs3nMbK0wwmYLraL4owbIwXFGR/co6/lJYJC4K/Gjn4wZY5mQ==", - "dev": true - }, - "@usecannon/builder": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-2.1.2.tgz", - "integrity": "sha512-FIozAFGxR7pGNjPYO8O+xhOD4z3Pto0Rip5ygVMFBhB0OcU2qMbu1WnbLUhZ0zyq9vb+ZMdqeOSAYy6s+04joA==", - "dev": true, - "requires": { - "ajv": "^8.11.0", - "axios": "^1.2.2", - "debug": "^4.3.4", - "form-data": "^4.0.0", - "lodash": "^4.17.21", - "pako": "^2.1.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "axios": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.3.tgz", - "integrity": "sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "dev": true - } - } - }, - "@usecannon/cli": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@usecannon/cli/-/cli-2.1.2.tgz", - "integrity": "sha512-EcFJK4ir3LmF/WSOCJNGTgk/4SLrGtJdmO82STV6zlQIoicolGY1dab+O95tYAmopcH6/rd+k8CmRvW8ZZYwQg==", - "dev": true, - "requires": { - "@iarna/toml": "^3.0.0", - "@synthetixio/wei": "^2.74.1", - "@usecannon/builder": "^2.1.2", - "chalk": "^4.1.2", - "commander": "^9.3.0", - "debug": "^4.3.4", - "ethers": "^5.7.1", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "prompts": "^2.4.2", - "semver": "^7.3.7", - "table": "^6.8.0", - "tildify": "2.0.0", - "untildify": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "abi-decoder": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/abi-decoder/-/abi-decoder-2.3.0.tgz", - "integrity": "sha512-RZXG5mo1JhJjTBg/4NXlS8hyTr2fxiuFaz3UveRpoX9IIc3LPHmWz89dFqTHNQVbWi3VZqxSJqfUwWpb/mCHxA==", - "requires": { - "web3-eth-abi": "^1.2.1", - "web3-utils": "^1.2.1" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, - "abstract-level": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", - "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", - "requires": { - "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" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "level-supports": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", - "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==" - } - } - }, - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "dev": true, - "requires": { - "xtend": "~4.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", - "dev": true - }, - "antlr4": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", - "dev": true - }, - "antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true - }, - "any-signal": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array.prototype.flat": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", - "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "ast-parents": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", - "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "requires": { - "async": "^2.4.0" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "axios": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz", - "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-path-converter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/base-path-converter/-/base-path-converter-1.0.2.tgz", - "integrity": "sha512-51R8JiuXadknn6ouVUteOhDpmI3G5u5GqjruL7bPJpfxUHVgosaO5uPAvRP4FeR4VyyH4sSvsN78Ci6ouoRYqQ==", - "dev": true - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - } - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true - }, - "big-integer": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", - "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", - "dev": true - }, - "big.js": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", - "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", - "dev": true - }, - "bigint-crypto-utils": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", - "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", - "requires": { - "bigint-mod-arith": "^3.1.0" - } - }, - "bigint-mod-arith": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", - "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==" - }, - "bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "blakejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" - }, - "blob-to-it": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "dev": true, - "requires": { - "browser-readablestream-to-it": "^1.0.3" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-level": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", - "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", - "requires": { - "abstract-level": "^1.0.2", - "catering": "^2.1.1", - "module-error": "^1.0.2", - "run-parallel-limit": "^1.1.0" - } - }, - "browser-readablestream-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", - "dev": true - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - } - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - } - } - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", - "dev": true - }, - "buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "bufio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", - "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==", - "dev": true - }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "requires": { - "streamsearch": "^1.1.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", - "dev": true - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001454", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001454.tgz", - "integrity": "sha512-4E63M5TBbgDoA9dQoFRdjL6iAmzTrz3rwYWoKDlvnvyvBxjCZ0rrUoX3THhEMie0/RYuTCeMbeTYLGAWgnLwEg==", - "dev": true - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "dev": true, - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "catering": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", - "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" - }, - "cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", - "requires": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" - }, - "dependencies": { - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" - } - } - }, - "cborg": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", - "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==", - "dev": true - }, - "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "change-case": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", - "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", - "dev": true, - "requires": { - "camel-case": "^3.0.0", - "constant-case": "^2.0.0", - "dot-case": "^2.1.0", - "header-case": "^1.0.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "no-case": "^2.3.2", - "param-case": "^2.1.0", - "pascal-case": "^2.0.0", - "path-case": "^2.1.0", - "sentence-case": "^2.1.0", - "snake-case": "^2.1.0", - "swap-case": "^1.1.0", - "title-case": "^2.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", - "dev": true, - "requires": { - "functional-red-black-tree": "^1.0.1" - } - }, - "cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "dev": true, - "requires": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - } - }, - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true - }, - "htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "entities": "^4.3.0" - } - } - } - }, - "cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "dependencies": { - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - } - }, - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true - } - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true - }, - "classic-level": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", - "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", - "requires": { - "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": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-table": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", - "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", - "dev": true, - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } - } - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "commander": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz", - "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==" - }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "concurrently": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.2.0.tgz", - "integrity": "sha512-XxcDbQ4/43d6CxR7+iV8IZXhur4KbmEJk1CetVMUqCy34z9l0DkszbY+/9wvmSnToTej0SYomc2WSRH+L0zVJw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "date-fns": "^2.0.1", - "lodash": "^4.17.15", - "read-pkg": "^4.0.1", - "rxjs": "^6.5.2", - "spawn-command": "^0.0.2-1", - "supports-color": "^6.1.0", - "tree-kill": "^1.2.2", - "yargs": "^13.3.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "constant-case": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", - "dev": true, - "requires": { - "snake-case": "^2.1.0", - "upper-case": "^1.1.1" - } - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dev": true, - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true - }, - "core-js-pure": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", - "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "crc-32": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz", - "integrity": "sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.3.1" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dev": true, - "requires": { - "node-fetch": "^2.6.12" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "crypto-addr-codec": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz", - "integrity": "sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "big-integer": "1.6.36", - "blakejs": "^1.1.0", - "bs58": "^4.0.1", - "ripemd160-min": "0.0.6", - "safe-buffer": "^5.2.0", - "sha3": "^2.1.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dag-jose": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", - "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", - "dev": true, - "requires": { - "@ipld/dag-cbor": "^6.0.3", - "multiformats": "^9.0.2" - }, - "dependencies": { - "@ipld/dag-cbor": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", - "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", - "dev": true, - "requires": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - } - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "dev": true - }, - "death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true - } - } - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true - }, - "deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "dev": true, - "requires": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - } - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", - "dev": true - }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dev": true, - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dir-to-object": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-to-object/-/dir-to-object-2.0.0.tgz", - "integrity": "sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA==", - "dev": true - }, - "dns-over-http-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", - "dev": true, - "requires": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", - "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", - "dev": true - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", - "dev": true, - "requires": { - "encoding": "^0.1.13" - } - }, - "electron-to-chromium": { - "version": "1.4.301", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.301.tgz", - "integrity": "sha512-bz00ASIIDjcgszZKuEA1JEFhbDjqUNbQ/PEhNEl1wbixzYpeTp2H2QWjsQvAL2T1wJBdOwCF5hE896BoMwYKrA==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "dev": true, - "requires": { - "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": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "dev": true, - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.6.0.tgz", - "integrity": "sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.0", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^1.3.0", - "espree": "^7.2.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz", - "integrity": "sha512-ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ==", - "dev": true, - "requires": { - "get-stdin": "^6.0.0" - } - }, - "eslint-config-standard": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", - "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "find-up": "^2.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - } - }, - "eslint-plugin-havven": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-havven/-/eslint-plugin-havven-1.1.0.tgz", - "integrity": "sha512-9H0PW5NUbFgOAyzwjb+K5GIRpaPdiBLtOHNd8H2Evvh6tHWcCR95qPYdHYlD8QIJHkUmcgUHQkubKbzGbIiyWA==", - "dev": true - }, - "eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-no-only-tests": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", - "dev": true - }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz", - "integrity": "sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA==", - "dev": true, - "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" - } - }, - "eslint-plugin-promise": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", - "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", - "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dev": true, - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - } - } - }, - "eth-gas-reporter": { - "version": "0.2.25", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", - "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.0.0-beta.146", - "@solidity-parser/parser": "^0.14.0", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^4.0.40", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^7.1.1", - "req-cwd": "^2.0.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "ethereum-cryptography": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz", - "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==", - "dev": true, - "requires": { - "@noble/hashes": "1.1.2", - "@noble/secp256k1": "1.6.3", - "@scure/bip32": "1.1.0", - "@scure/bip39": "1.1.0" - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "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" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "requires": { - "flat": "5.0.2", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, - "ethashjs": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", - "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", - "dev": true, - "requires": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereum-ens": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ethereum-ens/-/ethereum-ens-0.8.0.tgz", - "integrity": "sha512-a8cBTF4AWw1Q1Y37V1LSCS9pRY4Mh3f8vCg5cbXCCEJ3eno1hbI/+Ccv9SZLISYpqQhaglP3Bxb/34lS4Qf7Bg==", - "dev": true, - "requires": { - "bluebird": "^3.4.7", - "eth-ens-namehash": "^2.0.0", - "js-sha3": "^0.5.7", - "pako": "^1.0.4", - "underscore": "^1.8.3", - "web3": "^1.0.0-beta.34" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - } - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-account": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", - "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", - "dev": true, - "requires": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-block": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", - "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "dev": true, - "requires": { - "xtend": "~4.0.0" - } - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "dev": true, - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dev": true, - "requires": { - "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" - } - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==", - "dev": true - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "dev": true, - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", - "dev": true, - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "dev": true, - "requires": { - "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" - } - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", - "dev": true, - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "dev": true, - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", - "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ethereumjs-blockchain": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", - "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", - "dev": true - }, - "ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "dev": true, - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@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": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", - "dev": true, - "requires": { - "checkpoint-store": "^1.1.0" - } - }, - "fast-check": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.1.1.tgz", - "integrity": "sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA==", - "dev": true, - "requires": { - "pure-rand": "^5.0.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-fifo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", - "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", - "dev": true, - "requires": { - "semver-regex": "^3.1.2" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flow-stoplight": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", - "integrity": "sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s=", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", - "dev": true - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", - "dev": true - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "dev": true - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - } - } - }, - "got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.12.7", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.12.7.tgz", - "integrity": "sha512-voWoN6zn5d8BOEaczSyK/1PyfdeOeI3SbGCFb36yCHTJUt6OIqLb+ZDX30VhA1UsYKzLqG7UnWl3fKJUuANc6A==", - "requires": { - "@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", - "@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", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "7.2.0", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "mnemonist": "^0.38.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", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" - }, - "@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" - }, - "@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "requires": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" - } - }, - "@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "requires": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" - } - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "requires": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "hardhat-cannon": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-2.1.2.tgz", - "integrity": "sha512-EvNQLs0sg/SK1DVzuHlLXxsPumP3uiSNhPsdsouUrvNGJQXd6Ef9FGKbpngqUi7bh3PEGWZdAACiWbAiLSDjNA==", - "dev": true, - "requires": { - "@iarna/toml": "^3.0.0", - "@usecannon/builder": "^2.1.2", - "@usecannon/cli": "^2.1.2", - "adm-zip": "^0.5.9", - "ajv": "^8.10.0", - "chalk": "^4.1.2", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "ethers": "^5.7.1", - "fs-extra": "^10.0.1", - "ipfs-http-client": "56.0.3", - "lodash": "^4.17.21", - "merkle-patricia-tree": "^4.2.3", - "prompts": "^2.4.2", - "table": "^6.8.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "adm-zip": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", - "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", - "dev": true - }, - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dev": true, - "requires": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "dev": true, - "requires": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" - } - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - } - }, - "level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dev": true, - "requires": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" - } - }, - "level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dev": true, - "requires": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - } - }, - "level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" - } - }, - "levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dev": true, - "requires": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dev": true, - "requires": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dev": true, - "requires": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" - } - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "hardhat-gas-reporter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz", - "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" - } - }, - "hardhat-interact": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hardhat-interact/-/hardhat-interact-0.2.3.tgz", - "integrity": "sha512-4JqZZO/SgRZsBH8cT/8KgIa78IRn/omGQnxkfThFt33kVkyrRABg9iSI6Pahq1M65XNKfmN2Kg1mMxvTf0Jzkw==", - "dev": true, - "requires": { - "@synthetixio/wei": "^2.53.0-alpha2", - "axios": "^0.24.0", - "chalk": "^4.0.0", - "ethers": "^5.5.1", - "lodash": "^4.17.21", - "prompts": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "header-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", - "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.3" - } - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - }, - "highlightjs-solidity": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.6.tgz", - "integrity": "sha512-DySXWfQghjm2l6a/flF+cteroJqD4gI8GSdL4PtvxZSsAHie8m3yVe2JFoRg03ROKT6hp2Lc/BxXkqerNmtQYg==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", - "dev": true - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, - "requires": { - "punycode": "2.1.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", - "dev": true - }, - "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "inquirer-list-search-prompt": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inquirer-list-search-prompt/-/inquirer-list-search-prompt-1.0.2.tgz", - "integrity": "sha512-p2pxuhxCurxZbWkYydLaI+9f2qkSDQUB2MeIJ07jxNBqH/bkHcz7Kk78+Im/XnL1MdyHbh0KKMzjAHmeSLn7oA==", - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "figures": "^2.0.0", - "run-async": "^2.3.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - } - } - }, - "interface-datastore": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", - "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "dev": true, - "requires": { - "interface-store": "^2.0.2", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", - "dev": true - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "requires": { - "fp-ts": "^1.0.0" - } - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "ipfs-core-types": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", - "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", - "dev": true, - "requires": { - "@ipld/dag-pb": "^2.1.3", - "interface-datastore": "^6.0.2", - "ipfs-unixfs": "^6.0.3", - "multiaddr": "^10.0.0", - "multiformats": "^9.5.1" - }, - "dependencies": { - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "dev": true, - "requires": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true - } - } - }, - "ipfs-core-utils": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", - "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", - "dev": true, - "requires": { - "any-signal": "^3.0.0", - "blob-to-it": "^1.0.1", - "browser-readablestream-to-it": "^1.0.1", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.3", - "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^9.0.6", - "it-all": "^1.0.4", - "it-map": "^1.0.4", - "it-peekable": "^1.0.2", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiaddr-to-uri": "^8.0.0", - "multiformats": "^9.5.1", - "nanoid": "^3.1.23", - "parse-duration": "^1.0.0", - "timeout-abort-controller": "^3.0.0", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "dev": true, - "requires": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true - } - } - }, - "ipfs-http-client": { - "version": "56.0.3", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", - "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", - "dev": true, - "requires": { - "@ipld/dag-cbor": "^7.0.0", - "@ipld/dag-json": "^8.0.1", - "@ipld/dag-pb": "^2.1.3", - "any-signal": "^3.0.0", - "dag-jose": "^1.0.0", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.10.3", - "ipfs-core-utils": "^0.14.3", - "ipfs-utils": "^9.0.6", - "it-first": "^1.0.6", - "it-last": "^1.0.4", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiformats": "^9.5.1", - "parse-duration": "^1.0.0", - "stream-to-it": "^0.2.2", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "dev": true, - "requires": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true - } - } - }, - "ipfs-unixfs": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", - "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "dev": true, - "requires": { - "err-code": "^3.0.1", - "protobufjs": "^6.10.2" - } - }, - "ipfs-utils": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", - "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "dev": true, - "requires": { - "any-signal": "^3.0.0", - "browser-readablestream-to-it": "^1.0.0", - "buffer": "^6.0.1", - "electron-fetch": "^1.7.2", - "err-code": "^3.0.1", - "is-electron": "^2.2.0", - "iso-url": "^1.1.5", - "it-all": "^1.0.4", - "it-glob": "^1.0.1", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "nanoid": "^3.1.20", - "native-fetch": "^3.0.0", - "node-fetch": "^2.6.8", - "react-native-fetch-api": "^3.0.0", - "stream-to-it": "^0.2.2" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-electron": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", - "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-ipfs": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", - "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", - "dev": true, - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - } - }, - "is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", - "dev": true, - "requires": { - "lower-case": "^1.1.0" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", - "dev": true, - "requires": { - "upper-case": "^1.1.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "it-all": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", - "dev": true - }, - "it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", - "dev": true - }, - "it-glob": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.4", - "minimatch": "^3.0.4" - } - }, - "it-last": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", - "dev": true - }, - "it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", - "dev": true - }, - "it-peekable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", - "dev": true - }, - "it-to-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", - "dev": true, - "requires": { - "buffer": "^6.0.3", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "jsonschema": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "keyv": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz", - "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "level": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", - "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", - "requires": { - "browser-level": "^1.0.1", - "classic-level": "^1.2.0" - } - }, - "level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dev": true, - "requires": { - "buffer": "^5.6.0" - } - }, - "level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "dev": true - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dev": true, - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "level-mem": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", - "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", - "dev": true, - "requires": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - } - }, - "level-packager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", - "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", - "dev": true, - "requires": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - } - }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, - "requires": { - "xtend": "^4.0.2" - } - }, - "level-transcoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", - "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", - "requires": { - "buffer": "^6.0.3", - "module-error": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "level-ws": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", - "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "dev": true, - "requires": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "lodash.isequalwith": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz", - "integrity": "sha512-dcZON0IalGBpRmJBmMkaoV7d3I80R2O+FrzsZyHdNSFrANq/cgDqKQNmAHE8UEj4+QYWwwhkQOVdLHiAopzlsQ==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true - }, - "lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", - "dev": true, - "requires": { - "lower-case": "^1.1.2" - } - }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", - "dev": true - }, - "mafmt": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", - "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", - "dev": true, - "requires": { - "multiaddr": "^7.3.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true - }, - "marked": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", - "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", - "dev": true - }, - "marked-terminal": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.3.0.tgz", - "integrity": "sha512-+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A==", - "dev": true, - "requires": { - "ansi-escapes": "^3.1.0", - "cardinal": "^2.1.1", - "chalk": "^2.4.1", - "cli-table": "^0.3.1", - "node-emoji": "^1.4.1", - "supports-hyperlinks": "^1.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - } - } - }, - "mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" - }, - "md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "dev": true, - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "memdown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", - "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "memory-level": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", - "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", - "requires": { - "abstract-level": "^1.0.0", - "functional-red-black-tree": "^1.0.1", - "module-error": "^1.0.1" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "dev": true, - "requires": { - "is-plain-obj": "^2.1.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "merkle-patricia-tree": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", - "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "requires": { - "mime-db": "1.51.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "dev": true, - "requires": { - "mkdirp": "*" - } - }, - "mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "requires": { - "obliterator": "^2.0.0" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "requires": { - "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" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - } - } - }, - "mocha-junit-reporter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.0.tgz", - "integrity": "sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "md5": "^2.3.0", - "mkdirp": "~1.0.4", - "strip-ansi": "^6.0.1", - "xml": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true - }, - "module-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", - "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "multiaddr": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", - "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "cids": "~0.8.0", - "class-is": "^1.1.0", - "is-ip": "^3.1.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "cids": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", - "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "class-is": "^1.1.0", - "multibase": "^1.0.0", - "multicodec": "^1.0.1", - "multihashes": "^1.0.1" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", - "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "multibase": "^1.0.1", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", - "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - } - } - }, - "multiaddr-to-uri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", - "dev": true, - "requires": { - "multiaddr": "^10.0.0" - }, - "dependencies": { - "multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "dev": true, - "requires": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true - } - } - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "dev": true, - "requires": { - "varint": "^5.0.0" - } - }, - "multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", - "dev": true - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - } - }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nano-base32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", - "integrity": "sha1-ulSMh578+5DaHE2eCX20pGySVe8=", - "dev": true - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", - "dev": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, - "napi-macros": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" - }, - "native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "dev": true, - "requires": {} - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" - }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true - }, - "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==" - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "obliterator": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", - "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" - }, - "oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dev": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "dev": true - }, - "openzeppelin-solidity": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-4.8.1.tgz", - "integrity": "sha512-KM0pVpfrCBdifqN2ZeJZFvFuoGz3GmI4Ty/ceKNkcaf7VVWo/rLOfc5EiLh+Ukb5NadNmYo8WMeGhFA8hVWDpg==" - }, - "openzeppelin-solidity-2.3.0": { - "version": "npm:openzeppelin-solidity@2.3.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz", - "integrity": "sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw==", - "dev": true - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true - }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "dev": true - }, - "p-fifo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", - "dev": true, - "requires": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", - "dev": true - }, - "parse-duration": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", - "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", - "dev": true - }, - "parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", - "dev": true - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", - "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", - "dev": true, - "requires": { - "entities": "^4.4.0" - }, - "dependencies": { - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true - } - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dev": true, - "requires": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "dependencies": { - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", - "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", - "dev": true, - "requires": { - "camel-case": "^3.0.0", - "upper-case-first": "^1.1.0" - } - }, - "path-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", - "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "prettier-plugin-solidity": { - "version": "1.0.0-beta.6", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.6.tgz", - "integrity": "sha512-WymLqd22Hl93t5+HDNLk08TAWp4i4vZMhpihuVqkwOApjCT7mH1qwhLtvf3m+NdU//qj8vrPDmMoT+xc74skcg==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.12.0", - "dir-to-object": "^2.0.0", - "emoji-regex": "^9.2.1", - "escape-string-regexp": "^4.0.0", - "prettier": "^2.2.1", - "semver": "^7.3.4", - "solidity-comments-extractor": "^0.0.4", - "string-width": "^4.2.0" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.12.2.tgz", - "integrity": "sha512-d7VS7PxgMosm5NyaiyDJRNID5pK4AWj1l64Dbz0147hJgy5k2C0/ZiKK/9u5c5K+HRUVHmp+RMvGEjGh84oA5Q==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-quick": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.2.tgz", - "integrity": "sha512-aLb6vtOTEfJDwi1w+MBTeE20GwPVUYyn6IqNg6TtGpiOB1W3y6vKcsGFjqGeaaEtQgMLSPXTWONqh33UBuwG8A==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "execa": "^2.1.0", - "find-up": "^4.1.0", - "ignore": "^5.1.4", - "mri": "^1.1.4", - "multimatch": "^4.0.0" - }, - "dependencies": { - "execa": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", - "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^3.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "npm-run-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", - "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "printj": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz", - "integrity": "sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dev": true, - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "protobufjs": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", - "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - }, - "pure-rand": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz", - "integrity": "sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==", - "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react-native-fetch-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", - "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "dev": true, - "requires": { - "p-defer": "^3.0.0" - } - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "receptacle": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-fs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/recursive-fs/-/recursive-fs-1.1.2.tgz", - "integrity": "sha512-QPFEt5EwzwlHoqYsZc+NkUSyDTQf1Hvq7c/kpQJHi77OSCAiDXI3wfB0J04ZG+ekGHmv37mdR8MDPEshD3/RlQ==", - "dev": true - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dev": true, - "requires": { - "minimatch": "^3.0.5" - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "dev": true, - "requires": { - "esprima": "~4.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", - "dev": true, - "requires": { - "req-from": "^2.0.0" - } - }, - "req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "request-promise": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", - "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "requires": { - "lowercase-keys": "^2.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - } - } - }, - "retimer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", - "dev": true - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-parallel-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", - "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", - "dev": true - }, - "semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", - "dev": true - }, - "semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "semver-regex": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", - "dev": true - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - } - } - }, - "sentence-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", - "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case-first": "^1.1.2" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dev": true, - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", - "dev": true, - "requires": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - } - }, - "sha3": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", - "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", - "dev": true, - "requires": { - "buffer": "6.0.3" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dev": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - }, - "dependencies": { - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "snake-case": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "solc": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.16.tgz", - "integrity": "sha512-weEtRtisJyf+8UjELs7S4ST1KK7UIq6SRB7tpprfJBL9b5mTrZAT7m4gJKi2h6MiBpuSWfnraK8BnkyWzuTMRA==", - "dev": true, - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "solhint": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", - "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.1", - "ajv": "^6.6.1", - "antlr4": "4.7.1", - "ast-parents": "0.0.1", - "chalk": "^2.4.2", - "commander": "2.18.0", - "cosmiconfig": "^5.0.7", - "eslint": "^5.6.0", - "fast-diff": "^1.1.2", - "glob": "^7.1.3", - "ignore": "^4.0.6", - "js-yaml": "^3.12.0", - "lodash": "^4.17.11", - "prettier": "^1.14.3", - "semver": "^6.3.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "solidifier": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/solidifier/-/solidifier-2.2.3.tgz", - "integrity": "sha512-5xpR931zT+DWu/xuLUtWjlABMuqE8jvk8hTxpBAXZBf9JQJzQo9eSZ5Sa3Rqwua4UJHOVNTdt8pzm9SuQWX07w==", - "dev": true, - "requires": { - "@solidity-parser/parser": "0.12.1" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.12.1.tgz", - "integrity": "sha512-ikxVpwskNxEp2fvYS1BdRImnevHmM97zdPFBa1cVtjtNpoqCm/EmljATTZk0s9G/zsN5ZbPf9OAIAW4gbBJiRA==", - "dev": true - } - } - }, - "solidity-comments-extractor": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.4.tgz", - "integrity": "sha512-58glBODwXIKMaQ7rfcJOrWtFQMMOK28tJ0/LcB5Xhu7WtAxk4UX2fpgKPuaL41XjMp/y0gAa1MTLqk018wuSzA==", - "dev": true - }, - "solidity-coverage": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.22.tgz", - "integrity": "sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.0", - "@truffle/provider": "^0.2.24", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "solidity-parser-antlr": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", - "integrity": "sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg==" - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - } - } - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-to-it": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", - "dev": true, - "requires": { - "get-iterator": "^1.0.2" - } - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", - "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", - "dev": true, - "requires": { - "has-flag": "^2.0.0", - "supports-color": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "swarm-js": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", - "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^11.8.5", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "got": { - "version": "11.8.5", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", - "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "requires": { - "get-port": "^3.1.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - }, - "terser": { - "version": "5.16.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", - "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - } - }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tildify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", - "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "dev": true - }, - "timeout-abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", - "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", - "dev": true, - "requires": { - "retimer": "^3.0.0" - } - }, - "title-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", - "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.0.3" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", - "dev": true - }, - "ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "devOptional": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, - "tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", - "devOptional": true, - "peer": true - }, - "uglify-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.2.tgz", - "integrity": "sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==", - "dev": true, - "optional": true - }, - "uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "requires": { - "multiformats": "^9.4.2" - } - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", - "dev": true - }, - "undici": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz", - "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==", - "requires": { - "busboy": "^1.6.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, - "upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", - "dev": true, - "requires": { - "upper-case": "^1.1.1" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", - "dev": true - }, - "utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "wait-port": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.9.tgz", - "integrity": "sha512-hQ/cVKsNqGZ/UbZB/oakOGFqic00YAMM5/PEj3Bt4vKarv2jWIWzDbqlwT94qMs/exAQAsvMOq99sZblV92zxQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "commander": "^3.0.2", - "debug": "^4.1.1" - }, - "dependencies": { - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true - } - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "web3": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz", - "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==", - "dev": true, - "requires": { - "web3-bzz": "1.10.0", - "web3-core": "1.10.0", - "web3-eth": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-shh": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-bzz": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz", - "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - } - } - }, - "web3-core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz", - "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-requestmanager": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-core-helpers": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.4.tgz", - "integrity": "sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg==", - "dev": true, - "requires": { - "web3-eth-iban": "1.7.4", - "web3-utils": "1.7.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", - "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-method": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz", - "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-promievent": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", - "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-core-promievent": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.4.tgz", - "integrity": "sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz", - "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==", - "dev": true, - "requires": { - "util": "^0.12.5", - "web3-core-helpers": "1.10.0", - "web3-providers-http": "1.10.0", - "web3-providers-ipc": "1.10.0", - "web3-providers-ws": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-core-subscriptions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz", - "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-eth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz", - "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-accounts": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-eth-ens": "1.10.0", - "web3-eth-iban": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-abi": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", - "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-eth-abi": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.4.tgz", - "integrity": "sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg==", - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.7.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "web3-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", - "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-accounts": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz", - "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==", - "dev": true, - "requires": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" - } - }, - "@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - } - } - } - } - }, - "web3-eth-contract": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz", - "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-promievent": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", - "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-abi": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", - "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-eth-ens": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz", - "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-promievent": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", - "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-abi": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", - "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-eth-iban": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.4.tgz", - "integrity": "sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.7.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-utils": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", - "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-personal": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz", - "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-net": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz", - "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-providers-http": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz", - "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-providers-ipc": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz", - "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-providers-ws": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz", - "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0", - "websocket": "^1.0.32" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - } - } - } - }, - "web3-shh": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz", - "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-net": "1.10.0" - } - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - } - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - }, - "webpack": { - "version": "5.76.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", - "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - } - } - }, - "webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", - "colorette": "^2.0.14", - "commander": "^9.4.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "dev": true - }, - "which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dev": true, - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dev": true, - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", - "dev": true, - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", - "dev": true - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - } - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } } } From 214db6e6b5c3d515e90a11abc0ab0102f747f88a Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 20:43:15 -0500 Subject: [PATCH 17/43] revert package-lock.json --- package-lock.json | 15830 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 15829 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 432bbc1f56..f44d9d1482 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "synthetix", "version": "2.98.2", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -1935,6 +1935,141 @@ "node": ">= 10" } }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz", + "integrity": "sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz", + "integrity": "sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz", + "integrity": "sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz", + "integrity": "sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz", + "integrity": "sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz", + "integrity": "sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz", + "integrity": "sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz", + "integrity": "sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz", + "integrity": "sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nomiclabs/ethereumjs-vm": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", @@ -2668,6 +2803,39 @@ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, + "node_modules/@truffle/codec/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@truffle/codec/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@truffle/codec/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@truffle/compile-common": { "version": "0.9.7", "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz", @@ -19668,5 +19836,15665 @@ "url": "https://github.com/sponsors/sindresorhus" } } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/runtime": { + "version": "7.17.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz", + "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@chainlink/contracts-0.0.10": { + "version": "npm:@chainlink/contracts@0.0.10", + "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.0.10.tgz", + "integrity": "sha512-ok+ucSQ+3mrR+zjbi6zIrdd5M9XymcqVcnXGVyqBVRYZp97jS2/rt/glP320JmHxmi4pacgDOg0Ux11xIr1S8Q==", + "dev": true, + "requires": { + "@truffle/contract": "^4.2.6", + "ethers": "^4.0.45" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "optional": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true, + "optional": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true, + "optional": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true, + "optional": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true, + "optional": true + } + } + }, + "@codechecks/client": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@codechecks/client/-/client-0.1.12.tgz", + "integrity": "sha512-2GHHvhO3kaOyxFXxOaiznlY8ARmz33/p+WQdhc2y6wzWw5eOl2wSwg1eZxx3LsWlAnB963Y4bd1YjZcGIhKRzA==", + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "chalk": "^2.4.2", + "commander": "^2.19.0", + "debug": "^4.1.1", + "execa": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "js-yaml": "^3.13.1", + "json5": "^2.1.0", + "lodash": "^4.17.11", + "marked": "^0.7.0", + "marked-terminal": "^3.3.0", + "mkdirp": "^0.5.1", + "ms": "^2.1.1", + "promise": "^8.0.2", + "request": "^2.88.0", + "request-promise": "^4.2.2", + "ts-essentials": "^1.0.2", + "ts-node": "^8.0.2", + "url-join": "^4.0.0" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@defi-wonderland/smock": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@defi-wonderland/smock/-/smock-2.3.4.tgz", + "integrity": "sha512-VYJbsoCOdFRyGkAwvaQhQRrU6V8AjK3five8xdbo41DEE9n3qXzUNBUxyD9HhXB/dWWPFWT21IGw5Ztl6Qw3Ew==", + "dev": true, + "requires": { + "@nomicfoundation/ethereumjs-evm": "^1.0.0-rc.3", + "@nomicfoundation/ethereumjs-util": "^8.0.0-rc.3", + "@nomicfoundation/ethereumjs-vm": "^6.0.0-rc.3", + "diff": "^5.0.0", + "lodash.isequal": "^4.5.0", + "lodash.isequalwith": "^4.4.0", + "rxjs": "^7.2.0", + "semver": "^7.3.5" + }, + "dependencies": { + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + } + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@ensdomains/address-encoder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", + "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", + "dev": true, + "requires": { + "bech32": "^1.1.3", + "blakejs": "^1.1.0", + "bn.js": "^4.11.8", + "bs58": "^4.0.1", + "crypto-addr-codec": "^0.1.7", + "nano-base32": "^1.0.1", + "ripemd160": "^2.0.2" + } + }, + "@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "dev": true, + "requires": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dev": true, + "requires": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", + "dev": true, + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + } + } + }, + "@ensdomains/ensjs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", + "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "@ensdomains/address-encoder": "^0.1.7", + "@ensdomains/ens": "0.4.5", + "@ensdomains/resolver": "0.2.4", + "content-hash": "^2.5.2", + "eth-ens-namehash": "^2.0.8", + "ethers": "^5.0.13", + "js-sha3": "^0.8.0" + } + }, + "@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "dev": true + }, + "@eth-optimism/contracts": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@eth-optimism/contracts/-/contracts-0.3.4.tgz", + "integrity": "sha512-GTmyf+MR/LWadlm4ff5spA6pyZOGnmpNBRMZ8ecvOzjszhFVT1J1DTxuqcvrEt/UIk53j5OQT5tNZHmyovNvQQ==", + "dev": true, + "requires": { + "@eth-optimism/core-utils": "^0.4.4", + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.1.0", + "@ethersproject/contracts": "^5.0.5", + "glob": "^7.1.6" + }, + "dependencies": { + "@eth-optimism/core-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.4.7.tgz", + "integrity": "sha512-H+NdGAyx6w4Wmjy3PaTF7xnBEeKh8BZK1jfU6yy52sd2E0oH7ABd0H5FtRY2SLPTH8AZ8gAgOhrTNoqE0Mlktw==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.0.9", + "ethers": "^5.0.31", + "lodash": "^4.17.21" + } + } + } + }, + "@eth-optimism/core-utils": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", + "integrity": "sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/address": "^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/keccak256": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/providers": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bufio": "^1.0.7", + "chai": "^4.3.4" + } + }, + "@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "dev": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" + } + }, + "@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" + } + }, + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "requires": { + "@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/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "requires": { + "@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-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "requires": { + "@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/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "requires": { + "@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/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "requires": { + "@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/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "dev": true, + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "requires": { + "@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" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@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/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "dev": true, + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "dev": true, + "requires": { + "@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": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@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/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "dev": true, + "requires": { + "@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" + } + }, + "@gnosis.pm/safe-core-sdk": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-core-sdk/-/safe-core-sdk-1.3.0.tgz", + "integrity": "sha512-laKkyJUv0llPPG5ep2+18v/anIEGi+KjarNoeVAutYzIeAAkSvvVbY8qyfczh5bWQkqvQ3K1l/QLUJ8Kx4hm3g==", + "dev": true, + "requires": { + "@gnosis.pm/safe-core-sdk-types": "^0.1.1", + "@gnosis.pm/safe-deployments": "^1.7.0", + "ethereumjs-util": "^7.1.3", + "semver": "^7.3.5" + } + }, + "@gnosis.pm/safe-core-sdk-types": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-core-sdk-types/-/safe-core-sdk-types-0.1.1.tgz", + "integrity": "sha512-PghXGDaI5Foq37nZGmI90U2OKMeGtxh5KqkDqou9aFHwGVa/nf9HRQPxG9/XUzcyfe9OlKttDlJnR3XnC3dSDw==", + "dev": true + }, + "@gnosis.pm/safe-deployments": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-deployments/-/safe-deployments-1.10.0.tgz", + "integrity": "sha512-ka8G630+7cGP4zFP0XEIBV9bjN1PuV1fvtAB8uGoYvyeRreLVPEIY8hTfFq4hm+Pvs7Kd2K7hDyXQ2Nuj0pfIg==", + "dev": true + }, + "@gnosis.pm/safe-service-client": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@gnosis.pm/safe-service-client/-/safe-service-client-1.1.0.tgz", + "integrity": "sha512-0YhdvA8tLLGwXCcL9CP4123ebt/eBxUnvaSyi07c5wIMp1aWCE40zlgWCLaAOE52btPCrLJbBoHAaeJwJWUnkg==", + "dev": true, + "requires": { + "@gnosis.pm/safe-core-sdk-types": "^0.1.1", + "node-fetch": "^2.6.6" + } + }, + "@iarna/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==", + "dev": true + }, + "@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "dev": true, + "requires": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "dev": true, + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "dev": true, + "requires": { + "multiformats": "^9.5.4" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "requires": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "@noble/hashes": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.2.tgz", + "integrity": "sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==", + "dev": true + }, + "@noble/secp256k1": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz", + "integrity": "sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@nomicfoundation/ethereumjs-block": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz", + "integrity": "sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==", + "requires": { + "@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": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz", + "integrity": "sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==", + "requires": { + "@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": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz", + "integrity": "sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==", + "requires": { + "@nomicfoundation/ethereumjs-util": "^8.0.0", + "crc-32": "^1.2.0" + } + }, + "@nomicfoundation/ethereumjs-ethash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz", + "integrity": "sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==", + "requires": { + "@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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz", + "integrity": "sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==", + "requires": { + "@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": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz", + "integrity": "sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==" + }, + "@nomicfoundation/ethereumjs-statemanager": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz", + "integrity": "sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==", + "requires": { + "@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" + } + }, + "@nomicfoundation/ethereumjs-trie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz", + "integrity": "sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==", + "requires": { + "@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": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz", + "integrity": "sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==", + "requires": { + "@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": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz", + "integrity": "sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==", + "requires": { + "@nomicfoundation/ethereumjs-rlp": "^4.0.0-beta.2", + "ethereum-cryptography": "0.1.3" + } + }, + "@nomicfoundation/ethereumjs-vm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz", + "integrity": "sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==", + "requires": { + "@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" + } + }, + "@nomicfoundation/solidity-analyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.0.tgz", + "integrity": "sha512-xGWAiVCGOycvGiP/qrlf9f9eOn7fpNbyJygcB0P21a1MDuVPlKt0Srp7rvtBEutYQ48ouYnRXm33zlRnlTOPHg==", + "requires": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.0", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.0", + "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.0", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.0", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.0", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.0", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.0", + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.0", + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.0", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.0" + } + }, + "@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.0.tgz", + "integrity": "sha512-vEF3yKuuzfMHsZecHQcnkUrqm8mnTWfJeEVFHpg+cO+le96xQA4lAJYdUan8pXZohQxv1fSReQsn4QGNuBNuCw==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz", + "integrity": "sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-freebsd-x64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz", + "integrity": "sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz", + "integrity": "sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz", + "integrity": "sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz", + "integrity": "sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz", + "integrity": "sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz", + "integrity": "sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz", + "integrity": "sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==", + "optional": true + }, + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz", + "integrity": "sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==", + "optional": true + }, + "@nomiclabs/ethereumjs-vm": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.2.tgz", + "integrity": "sha512-8WmX94mMcJaZ7/m7yBbyuS6B+wuOul+eF+RY9fBpGhNaUpyMR/vFIcDojqcWQ4Yafe1tMKY5LDu2yfT4NZgV4Q==", + "dev": true, + "requires": { + "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", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "3.0.0", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1", + "util.promisify": "^1.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "@nomiclabs/hardhat-ethers": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.2.tgz", + "integrity": "sha512-NLDlDFL2us07C0jB/9wzvR0kuLivChJWCXTKcj3yqjZqMoYp7g7wwS157F70VHx/+9gHIBGzak5pKDwG8gEefA==", + "dev": true, + "requires": {} + }, + "@nomiclabs/hardhat-etherscan": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.0.tgz", + "integrity": "sha512-JroYgfN1AlYFkQTQ3nRwFi4o8NtZF7K/qFR2dxDUgHbCtIagkUseca9L4E/D2ScUm4XT40+8PbCdqZi+XmHyQA==", + "requires": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^5.0.2", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.11", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.4.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "@nomiclabs/hardhat-truffle5": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-truffle5/-/hardhat-truffle5-2.0.7.tgz", + "integrity": "sha512-Pw8451IUZp1bTp0QqCHCYfCHs66sCnyxPcaorapu9mfOV9xnZsVaFdtutnhNEiXdiZwbed7LFKpRsde4BjFwig==", + "dev": true, + "requires": { + "@nomiclabs/truffle-contract": "^4.2.23", + "@types/chai": "^4.2.0", + "chai": "^4.2.0", + "ethereumjs-util": "^7.1.4", + "fs-extra": "^7.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "@nomiclabs/hardhat-web3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", + "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", + "dev": true, + "requires": { + "@types/bignumber.js": "^5.0.0" + } + }, + "@nomiclabs/truffle-contract": { + "version": "4.5.10", + "resolved": "https://registry.npmjs.org/@nomiclabs/truffle-contract/-/truffle-contract-4.5.10.tgz", + "integrity": "sha512-nF/6InFV+0hUvutyFgsdOMCoYlr//2fJbRER4itxYtQtc4/O1biTwZIKRu+5l2J5Sq6LU2WX7vZHtDgQdhWxIQ==", + "dev": true, + "requires": { + "@ensdomains/ensjs": "^2.0.1", + "@truffle/blockchain-utils": "^0.1.3", + "@truffle/contract-schema": "^3.4.7", + "@truffle/debug-utils": "^6.0.22", + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.16", + "bignumber.js": "^7.2.1", + "ethereum-ens": "^0.8.0", + "ethers": "^4.0.0-beta.1", + "source-map-support": "^0.5.19" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true + } + } + }, + "@pinata/sdk": { + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@pinata/sdk/-/sdk-1.1.26.tgz", + "integrity": "sha512-surJDg6aBRMnx3TAzBeBH/rNnlsTsykkBe1Fr7VMZgw3Ub4Q0RO2y5mAXtO4AmBqFtqLTbMW/2ItAQ6rVfKGPw==", + "dev": true, + "requires": { + "axios": "^0.21.1", + "base-path-converter": "^1.0.2", + "form-data": "^2.3.3", + "is-ipfs": "^0.6.0", + "recursive-fs": "^1.1.2" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "dev": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "dev": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "dev": true + }, + "@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" + }, + "@scure/bip32": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz", + "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==", + "dev": true, + "requires": { + "@noble/hashes": "~1.1.1", + "@noble/secp256k1": "~1.6.0", + "@scure/base": "~1.1.0" + } + }, + "@scure/bip39": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz", + "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==", + "dev": true, + "requires": { + "@noble/hashes": "~1.1.1", + "@scure/base": "~1.1.0" + } + }, + "@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "requires": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" + }, + "@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "requires": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true + }, + "@solidity-parser/parser": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", + "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", + "dev": true, + "requires": { + "antlr4ts": "^0.5.0-alpha.4" + } + }, + "@synthetixio/wei": { + "version": "2.74.1", + "resolved": "https://registry.npmjs.org/@synthetixio/wei/-/wei-2.74.1.tgz", + "integrity": "sha512-YhiEtumbO0o9cwQmoTaqfyDURUTp4s7ujcpESlHJ3fN0W4SLFkZPM3omv2A3vzTXDiIDJnOK7t6PXYuLfFS1sg==", + "dev": true, + "requires": { + "big.js": "^6.1.1", + "ethers": "^5.5.3" + } + }, + "@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.1" + } + }, + "@truffle/abi-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.2.tgz", + "integrity": "sha512-MefEcxsBlprKIpfW7eh2I5zJqlWM18xk3duL7SW4VhIs6kNEec//hCpEDoE6P0m7GjqY3vk8X4vnf4aLlZkRcA==", + "dev": true, + "requires": { + "change-case": "3.0.2", + "fast-check": "3.1.1", + "web3-utils": "1.10.0" + } + }, + "@truffle/blockchain-utils": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.8.tgz", + "integrity": "sha512-ZskpYDNHkXD3ota4iU3pZz6kLth87RC+wDn66Rp2Or+DqqJCKdnmS9GDctBi1EcMPDEi0BqpkdrfBuzA9uIkGg==", + "dev": true + }, + "@truffle/codec": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.2.tgz", + "integrity": "sha512-n9HX8R5a5+/j6Y0+lqSzIyU1cUxTRYn/xEWp0Qc1b0Vtltad7wvVh+KLGvbm/KQEX3o1RK1xRIUN2E0QlDeQnA==", + "dev": true, + "requires": { + "@truffle/abi-utils": "^1.0.2", + "@truffle/compile-common": "^0.9.7", + "big.js": "^6.0.3", + "bn.js": "^5.1.3", + "cbor": "^5.2.0", + "debug": "^4.3.1", + "lodash": "^4.17.21", + "semver": "7.5.2", + "utf8": "^3.0.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@truffle/compile-common": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz", + "integrity": "sha512-TXuVLc5yJ/A0bSWw5OWIdXmcyaPpj3TJQ60ki7w9cIuW65Bazw7P4FRPaVNjR9YGe1FLYJ36GSdd9V3egPbzCg==", + "dev": true, + "requires": { + "@truffle/error": "^0.2.1", + "colors": "1.4.0" + }, + "dependencies": { + "@truffle/error": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz", + "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==", + "dev": true + } + } + }, + "@truffle/contract": { + "version": "4.6.28", + "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.6.28.tgz", + "integrity": "sha512-R7gQZpod5sO1hu06qZGJTTR6CZ7Hzk+z1yOvjKGa6zVLgXJXHgegKiLdj0xAfw/gAR+BWdGk6sllmNwfxSfK4Q==", + "dev": true, + "optional": true, + "requires": { + "@ensdomains/ensjs": "^2.1.0", + "@truffle/blockchain-utils": "^0.1.8", + "@truffle/contract-schema": "^3.4.15", + "@truffle/debug-utils": "^6.0.56", + "@truffle/error": "^0.2.1", + "@truffle/interface-adapter": "^0.5.35", + "bignumber.js": "^7.2.1", + "debug": "^4.3.1", + "ethers": "^4.0.32", + "web3": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "@truffle/error": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.1.tgz", + "integrity": "sha512-5Qy+z9dg9hP37WNdLnXH4b9MzemWrjTufRq7/DTKqimjyxCP/1zlL8gQEMdiSx1BBtAZz0xypkID/jb7AF/Osg==", + "dev": true, + "optional": true + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "optional": true + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "optional": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true, + "optional": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true, + "optional": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true, + "optional": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "dev": true, + "optional": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "optional": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-core-promievent": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", + "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", + "dev": true, + "optional": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-eth-abi": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", + "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", + "dev": true, + "optional": true, + "requires": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "optional": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true, + "optional": true + } + } + } + } + }, + "@truffle/contract-schema": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.15.tgz", + "integrity": "sha512-m13e1VlXEdxiXiqv/SmPlqbdtcuhjwIGTICm+JCEO8nt0NYBbdMC2paNkpUvGz9lK139JxIupMHctEV4vgkldw==", + "dev": true, + "requires": { + "ajv": "^6.10.0", + "debug": "^4.3.1" + } + }, + "@truffle/debug-utils": { + "version": "6.0.56", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.56.tgz", + "integrity": "sha512-tCB0nKZirWlQp+0JqqaBxZk7CIwDBIHl8Q9CyGJZA4pdAwKHHMI3FoPAXzubP7X0YuICeQsAmpOAXzOHGYGkjg==", + "dev": true, + "requires": { + "@truffle/codec": "^0.17.2", + "@trufflesuite/chromafi": "^3.0.0", + "bn.js": "^5.1.3", + "chalk": "^2.4.2", + "debug": "^4.3.1", + "highlightjs-solidity": "^2.0.6" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } + } + }, + "@truffle/error": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.1.tgz", + "integrity": "sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA==", + "dev": true + }, + "@truffle/interface-adapter": { + "version": "0.5.35", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.35.tgz", + "integrity": "sha512-B5gtJnvsum5j2do393n0UfCT8MklrlAZxuqvEFBeMM9UKnreYct0/D368FVMlZwWo1N50HgGeZ0hlpSJqR/nvg==", + "dev": true, + "requires": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "dev": true + } + } + }, + "@truffle/provider": { + "version": "0.2.64", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.64.tgz", + "integrity": "sha512-ZwPsofw4EsCq/2h0t73SPnnFezu4YQWBmK4FxFaOUX0F+o8NsZuHKyfJzuZwyZbiktYmefM3yD9rM0Dj4BhNbw==", + "dev": true, + "requires": { + "@truffle/error": "^0.1.1", + "@truffle/interface-adapter": "^0.5.25", + "debug": "^4.3.1", + "web3": "1.7.4" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "bignumber.js": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", + "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", + "dev": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "web3": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz", + "integrity": "sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A==", + "dev": true, + "requires": { + "web3-bzz": "1.7.4", + "web3-core": "1.7.4", + "web3-eth": "1.7.4", + "web3-eth-personal": "1.7.4", + "web3-net": "1.7.4", + "web3-shh": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-bzz": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.4.tgz", + "integrity": "sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" + } + }, + "web3-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.4.tgz", + "integrity": "sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.0", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.7.4", + "web3-core-method": "1.7.4", + "web3-core-requestmanager": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-core-method": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.4.tgz", + "integrity": "sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ==", + "dev": true, + "requires": { + "@ethersproject/transactions": "^5.6.2", + "web3-core-helpers": "1.7.4", + "web3-core-promievent": "1.7.4", + "web3-core-subscriptions": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-core-requestmanager": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.4.tgz", + "integrity": "sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA==", + "dev": true, + "requires": { + "util": "^0.12.0", + "web3-core-helpers": "1.7.4", + "web3-providers-http": "1.7.4", + "web3-providers-ipc": "1.7.4", + "web3-providers-ws": "1.7.4" + } + }, + "web3-core-subscriptions": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.4.tgz", + "integrity": "sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.4" + } + }, + "web3-eth": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.4.tgz", + "integrity": "sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug==", + "dev": true, + "requires": { + "web3-core": "1.7.4", + "web3-core-helpers": "1.7.4", + "web3-core-method": "1.7.4", + "web3-core-subscriptions": "1.7.4", + "web3-eth-abi": "1.7.4", + "web3-eth-accounts": "1.7.4", + "web3-eth-contract": "1.7.4", + "web3-eth-ens": "1.7.4", + "web3-eth-iban": "1.7.4", + "web3-eth-personal": "1.7.4", + "web3-net": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-eth-accounts": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.4.tgz", + "integrity": "sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.2", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.7.4", + "web3-core-helpers": "1.7.4", + "web3-core-method": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-eth-contract": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.4.tgz", + "integrity": "sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.0", + "web3-core": "1.7.4", + "web3-core-helpers": "1.7.4", + "web3-core-method": "1.7.4", + "web3-core-promievent": "1.7.4", + "web3-core-subscriptions": "1.7.4", + "web3-eth-abi": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-eth-ens": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.4.tgz", + "integrity": "sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA==", + "dev": true, + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.7.4", + "web3-core-helpers": "1.7.4", + "web3-core-promievent": "1.7.4", + "web3-eth-abi": "1.7.4", + "web3-eth-contract": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-eth-personal": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.4.tgz", + "integrity": "sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "web3-core": "1.7.4", + "web3-core-helpers": "1.7.4", + "web3-core-method": "1.7.4", + "web3-net": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-net": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.4.tgz", + "integrity": "sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg==", + "dev": true, + "requires": { + "web3-core": "1.7.4", + "web3-core-method": "1.7.4", + "web3-utils": "1.7.4" + } + }, + "web3-providers-http": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.4.tgz", + "integrity": "sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA==", + "dev": true, + "requires": { + "web3-core-helpers": "1.7.4", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.4.tgz", + "integrity": "sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw==", + "dev": true, + "requires": { + "oboe": "2.1.5", + "web3-core-helpers": "1.7.4" + } + }, + "web3-providers-ws": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.4.tgz", + "integrity": "sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.4", + "websocket": "^1.0.32" + } + }, + "web3-shh": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.4.tgz", + "integrity": "sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A==", + "dev": true, + "requires": { + "web3-core": "1.7.4", + "web3-core-method": "1.7.4", + "web3-core-subscriptions": "1.7.4", + "web3-net": "1.7.4" + } + }, + "web3-utils": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", + "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } + } + } + } + }, + "@trufflesuite/chromafi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz", + "integrity": "sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "chalk": "^2.3.2", + "cheerio": "^1.0.0-rc.2", + "detect-indent": "^5.0.0", + "highlight.js": "^10.4.1", + "lodash.merge": "^4.6.2", + "strip-ansi": "^4.0.0", + "strip-indent": "^2.0.0" + } + }, + "@types/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", + "dev": true + }, + "@types/async-eventemitter": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz", + "integrity": "sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==" + }, + "@types/bignumber.js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", + "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", + "dev": true, + "requires": { + "bignumber.js": "*" + } + }, + "@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "requires": { + "@types/node": "*" + } + }, + "@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/chai": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.18.tgz", + "integrity": "sha512-rS27+EkB/RE1Iz3u0XtVL5q36MGDWbgYe7zWiodyKNUnthxY0rukK5V36eiUCtCisB7NN8zKYH6DO2M37qxFEQ==", + "dev": true + }, + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.21.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", + "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true + }, + "@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "dev": true, + "requires": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" + } + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", + "dev": true + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", + "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "requires": { + "@types/node": "*" + } + }, + "@uniswap/token-lists": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@uniswap/token-lists/-/token-lists-1.0.0-beta.27.tgz", + "integrity": "sha512-x5hmIniQ9TGqOBCRqfWcmZi/U5kB0qrHMDQ9igs3nMbK0wwmYLraL4owbIwXFGR/co6/lJYJC4K/Gjn4wZY5mQ==", + "dev": true + }, + "@usecannon/builder": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@usecannon/builder/-/builder-2.1.2.tgz", + "integrity": "sha512-FIozAFGxR7pGNjPYO8O+xhOD4z3Pto0Rip5ygVMFBhB0OcU2qMbu1WnbLUhZ0zyq9vb+ZMdqeOSAYy6s+04joA==", + "dev": true, + "requires": { + "ajv": "^8.11.0", + "axios": "^1.2.2", + "debug": "^4.3.4", + "form-data": "^4.0.0", + "lodash": "^4.17.21", + "pako": "^2.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "axios": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.3.tgz", + "integrity": "sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==", + "dev": true, + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "dev": true + } + } + }, + "@usecannon/cli": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@usecannon/cli/-/cli-2.1.2.tgz", + "integrity": "sha512-EcFJK4ir3LmF/WSOCJNGTgk/4SLrGtJdmO82STV6zlQIoicolGY1dab+O95tYAmopcH6/rd+k8CmRvW8ZZYwQg==", + "dev": true, + "requires": { + "@iarna/toml": "^3.0.0", + "@synthetixio/wei": "^2.74.1", + "@usecannon/builder": "^2.1.2", + "chalk": "^4.1.2", + "commander": "^9.3.0", + "debug": "^4.3.4", + "ethers": "^5.7.1", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "prompts": "^2.4.2", + "semver": "^7.3.7", + "table": "^6.8.0", + "tildify": "2.0.0", + "untildify": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "abi-decoder": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/abi-decoder/-/abi-decoder-2.3.0.tgz", + "integrity": "sha512-RZXG5mo1JhJjTBg/4NXlS8hyTr2fxiuFaz3UveRpoX9IIc3LPHmWz89dFqTHNQVbWi3VZqxSJqfUwWpb/mCHxA==", + "requires": { + "web3-eth-abi": "^1.2.1", + "web3-utils": "^1.2.1" + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "abstract-level": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", + "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", + "requires": { + "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" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "level-supports": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", + "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==" + } + } + }, + "abstract-leveldown": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", + "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", + "dev": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "dev": true + }, + "antlr4": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", + "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", + "dev": true + }, + "antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "dev": true + }, + "any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "ast-parents": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", + "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "requires": { + "async": "^2.4.0" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz", + "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-path-converter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base-path-converter/-/base-path-converter-1.0.2.tgz", + "integrity": "sha512-51R8JiuXadknn6ouVUteOhDpmI3G5u5GqjruL7bPJpfxUHVgosaO5uPAvRP4FeR4VyyH4sSvsN78Ci6ouoRYqQ==", + "dev": true + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + } + } + }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "dev": true + }, + "big-integer": { + "version": "1.6.36", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", + "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", + "dev": true + }, + "big.js": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz", + "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==", + "dev": true + }, + "bigint-crypto-utils": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz", + "integrity": "sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw==", + "requires": { + "bigint-mod-arith": "^3.1.0" + } + }, + "bigint-mod-arith": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz", + "integrity": "sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==" + }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "blakejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", + "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" + }, + "blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "dev": true, + "requires": { + "browser-readablestream-to-it": "^1.0.3" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-level": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", + "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", + "requires": { + "abstract-level": "^1.0.2", + "catering": "^2.1.1", + "module-error": "^1.0.2", + "run-parallel-limit": "^1.1.0" + } + }, + "browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", + "dev": true + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "dependencies": { + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + } + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", + "dev": true + }, + "buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "devOptional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "bufio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz", + "integrity": "sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==", + "dev": true + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cacheable-lookup": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", + "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", + "dev": true + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001454", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001454.tgz", + "integrity": "sha512-4E63M5TBbgDoA9dQoFRdjL6iAmzTrz3rwYWoKDlvnvyvBxjCZ0rrUoX3THhEMie0/RYuTCeMbeTYLGAWgnLwEg==", + "dev": true + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "dev": true, + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "catering": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", + "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" + }, + "cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "requires": { + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" + }, + "dependencies": { + "bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" + } + } + }, + "cborg": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", + "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==", + "dev": true + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "change-case": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", + "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "checkpoint-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", + "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", + "dev": true, + "requires": { + "functional-red-black-tree": "^1.0.1" + } + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "dev": true + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + } + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "dependencies": { + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "dev": true + } + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true + }, + "classic-level": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", + "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", + "requires": { + "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": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz", + "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "concurrently": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.2.0.tgz", + "integrity": "sha512-XxcDbQ4/43d6CxR7+iV8IZXhur4KbmEJk1CetVMUqCy34z9l0DkszbY+/9wvmSnToTej0SYomc2WSRH+L0zVJw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "date-fns": "^2.0.1", + "lodash": "^4.17.15", + "read-pkg": "^4.0.1", + "rxjs": "^6.5.2", + "spawn-command": "^0.0.2-1", + "supports-color": "^6.1.0", + "tree-kill": "^1.2.2", + "yargs": "^13.3.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", + "dev": true, + "requires": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, + "requires": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "core-js-pure": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crc-32": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz", + "integrity": "sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.3.1" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "requires": { + "node-fetch": "^2.6.12" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-addr-codec": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz", + "integrity": "sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "big-integer": "1.6.36", + "blakejs": "^1.1.0", + "bs58": "^4.0.1", + "ripemd160-min": "0.0.6", + "safe-buffer": "^5.2.0", + "sha3": "^2.1.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dag-jose": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-1.0.0.tgz", + "integrity": "sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==", + "dev": true, + "requires": { + "@ipld/dag-cbor": "^6.0.3", + "multiformats": "^9.0.2" + }, + "dependencies": { + "@ipld/dag-cbor": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz", + "integrity": "sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA==", + "dev": true, + "requires": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", + "dev": true + }, + "death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } + } + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "deferred-leveldown": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", + "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", + "dev": true, + "requires": { + "abstract-leveldown": "~5.0.0", + "inherits": "^2.0.3" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "devOptional": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dir-to-object": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-to-object/-/dir-to-object-2.0.0.tgz", + "integrity": "sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA==", + "dev": true + }, + "dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "dev": true, + "requires": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "dev": true, + "requires": { + "encoding": "^0.1.13" + } + }, + "electron-to-chromium": { + "version": "1.4.301", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.301.tgz", + "integrity": "sha512-bz00ASIIDjcgszZKuEA1JEFhbDjqUNbQ/PEhNEl1wbixzYpeTp2H2QWjsQvAL2T1wJBdOwCF5hE896BoMwYKrA==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "encoding-down": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", + "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", + "dev": true, + "requires": { + "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": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.6.0.tgz", + "integrity": "sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.2.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz", + "integrity": "sha512-ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-config-standard": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", + "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-havven": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-havven/-/eslint-plugin-havven-1.1.0.tgz", + "integrity": "sha512-9H0PW5NUbFgOAyzwjb+K5GIRpaPdiBLtOHNd8H2Evvh6tHWcCR95qPYdHYlD8QIJHkUmcgUHQkubKbzGbIiyWA==", + "dev": true + }, + "eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", + "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-no-only-tests": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz", + "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", + "dev": true + }, + "eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz", + "integrity": "sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA==", + "dev": true, + "requires": { + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" + } + }, + "eslint-plugin-promise": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", + "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", + "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "dev": true, + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } + } + }, + "eth-gas-reporter": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", + "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.0.0-beta.146", + "@solidity-parser/parser": "^0.14.0", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^4.0.40", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^7.1.1", + "req-cwd": "^2.0.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "ethereum-cryptography": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz", + "integrity": "sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==", + "dev": true, + "requires": { + "@noble/hashes": "1.1.2", + "@noble/secp256k1": "1.6.3", + "@scure/bip32": "1.1.0", + "@scure/bip39": "1.1.0" + } + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "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" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "5.0.2", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + } + } + }, + "eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "ethashjs": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz", + "integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==", + "dev": true, + "requires": { + "async": "^2.1.2", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.0.2", + "miller-rabin": "^4.0.0" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "requires": { + "js-sha3": "^0.8.0" + } + }, + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "ethereum-ens": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/ethereum-ens/-/ethereum-ens-0.8.0.tgz", + "integrity": "sha512-a8cBTF4AWw1Q1Y37V1LSCS9pRY4Mh3f8vCg5cbXCCEJ3eno1hbI/+Ccv9SZLISYpqQhaglP3Bxb/34lS4Qf7Bg==", + "dev": true, + "requires": { + "bluebird": "^3.4.7", + "eth-ens-namehash": "^2.0.0", + "js-sha3": "^0.5.7", + "pako": "^1.0.4", + "underscore": "^1.8.3", + "web3": "^1.0.0-beta.34" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-account": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz", + "integrity": "sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA==", + "dev": true, + "requires": { + "ethereumjs-util": "^6.0.0", + "rlp": "^2.2.1", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-block": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", + "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "dev": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "dev": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dev": true, + "requires": { + "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" + } + }, + "level-codec": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==", + "dev": true + }, + "level-errors": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", + "dev": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "level-ws": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", + "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", + "dev": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "dev": true, + "requires": { + "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" + } + }, + "memdown": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", + "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", + "dev": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", + "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "dev": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", + "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ethereumjs-blockchain": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz", + "integrity": "sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", + "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", + "dev": true + }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "dev": true, + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } + } + }, + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "requires": { + "@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": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fake-merkle-patricia-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", + "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", + "dev": true, + "requires": { + "checkpoint-store": "^1.1.0" + } + }, + "fast-check": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.1.1.tgz", + "integrity": "sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA==", + "dev": true, + "requires": { + "pure-rand": "^5.0.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-fifo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", + "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "requires": { + "semver-regex": "^3.1.2" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flow-stoplight": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flow-stoplight/-/flow-stoplight-1.0.0.tgz", + "integrity": "sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s=", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "form-data-encoder": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", + "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ghost-testrpc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "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-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + } + } + }, + "got": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", + "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.6.0", + "@szmarczak/http-timer": "^5.0.1", + "@types/cacheable-request": "^6.0.2", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^6.0.4", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "form-data-encoder": "1.7.1", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^2.0.0" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hardhat": { + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.12.7.tgz", + "integrity": "sha512-voWoN6zn5d8BOEaczSyK/1PyfdeOeI3SbGCFb36yCHTJUt6OIqLb+ZDX30VhA1UsYKzLqG7UnWl3fKJUuANc6A==", + "requires": { + "@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", + "@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", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.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", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "dependencies": { + "@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" + }, + "@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" + }, + "@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "requires": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "requires": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "requires": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "hardhat-cannon": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/hardhat-cannon/-/hardhat-cannon-2.1.2.tgz", + "integrity": "sha512-EvNQLs0sg/SK1DVzuHlLXxsPumP3uiSNhPsdsouUrvNGJQXd6Ef9FGKbpngqUi7bh3PEGWZdAACiWbAiLSDjNA==", + "dev": true, + "requires": { + "@iarna/toml": "^3.0.0", + "@usecannon/builder": "^2.1.2", + "@usecannon/cli": "^2.1.2", + "adm-zip": "^0.5.9", + "ajv": "^8.10.0", + "chalk": "^4.1.2", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "ethers": "^5.7.1", + "fs-extra": "^10.0.1", + "ipfs-http-client": "56.0.3", + "lodash": "^4.17.21", + "merkle-patricia-tree": "^4.2.3", + "prompts": "^2.4.2", + "table": "^6.8.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "adm-zip": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", + "dev": true + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + } + }, + "level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "dev": true, + "requires": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "dev": true, + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" + } + }, + "levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "dev": true, + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "dev": true, + "requires": { + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "hardhat-gas-reporter": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz", + "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "eth-gas-reporter": "^0.2.25", + "sha1": "^1.1.1" + } + }, + "hardhat-interact": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hardhat-interact/-/hardhat-interact-0.2.3.tgz", + "integrity": "sha512-4JqZZO/SgRZsBH8cT/8KgIa78IRn/omGQnxkfThFt33kVkyrRABg9iSI6Pahq1M65XNKfmN2Kg1mMxvTf0Jzkw==", + "dev": true, + "requires": { + "@synthetixio/wei": "^2.53.0-alpha2", + "axios": "^0.24.0", + "chalk": "^4.0.0", + "ethers": "^5.5.1", + "lodash": "^4.17.21", + "prompts": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.4" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "header-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "highlightjs-solidity": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.6.tgz", + "integrity": "sha512-DySXWfQghjm2l6a/flF+cteroJqD4gI8GSdL4PtvxZSsAHie8m3yVe2JFoRg03ROKT6hp2Lc/BxXkqerNmtQYg==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", + "dev": true + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "requires": { + "punycode": "2.1.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", + "dev": true + }, + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "inquirer-list-search-prompt": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inquirer-list-search-prompt/-/inquirer-list-search-prompt-1.0.2.tgz", + "integrity": "sha512-p2pxuhxCurxZbWkYydLaI+9f2qkSDQUB2MeIJ07jxNBqH/bkHcz7Kk78+Im/XnL1MdyHbh0KKMzjAHmeSLn7oA==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "figures": "^2.0.0", + "run-async": "^2.3.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + } + } + }, + "interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "dev": true, + "requires": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "requires": { + "fp-ts": "^1.0.0" + } + }, + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "ipfs-core-types": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz", + "integrity": "sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==", + "dev": true, + "requires": { + "@ipld/dag-pb": "^2.1.3", + "interface-datastore": "^6.0.2", + "ipfs-unixfs": "^6.0.3", + "multiaddr": "^10.0.0", + "multiformats": "^9.5.1" + }, + "dependencies": { + "multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "dev": true, + "requires": { + "dns-over-http-resolver": "^1.2.3", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.4.5", + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true + } + } + }, + "ipfs-core-utils": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz", + "integrity": "sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q==", + "dev": true, + "requires": { + "any-signal": "^3.0.0", + "blob-to-it": "^1.0.1", + "browser-readablestream-to-it": "^1.0.1", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.10.3", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.6", + "it-all": "^1.0.4", + "it-map": "^1.0.4", + "it-peekable": "^1.0.2", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiaddr-to-uri": "^8.0.0", + "multiformats": "^9.5.1", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^3.0.0", + "uint8arrays": "^3.0.0" + }, + "dependencies": { + "multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "dev": true, + "requires": { + "dns-over-http-resolver": "^1.2.3", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.4.5", + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true + } + } + }, + "ipfs-http-client": { + "version": "56.0.3", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz", + "integrity": "sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA==", + "dev": true, + "requires": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", + "any-signal": "^3.0.0", + "dag-jose": "^1.0.0", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.10.3", + "ipfs-core-utils": "^0.14.3", + "ipfs-utils": "^9.0.6", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.5.1", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "dependencies": { + "multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "dev": true, + "requires": { + "dns-over-http-resolver": "^1.2.3", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.4.5", + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true + } + } + }, + "ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "dev": true, + "requires": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" + } + }, + "ipfs-utils": { + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "dev": true, + "requires": { + "any-signal": "^3.0.0", + "browser-readablestream-to-it": "^1.0.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-all": "^1.0.4", + "it-glob": "^1.0.1", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-fetch": "^3.0.0", + "node-fetch": "^2.6.8", + "react-native-fetch-api": "^3.0.0", + "stream-to-it": "^0.2.2" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-electron": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "requires": { + "ip-regex": "^4.0.0" + } + }, + "is-ipfs": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", + "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "dev": true, + "requires": { + "bs58": "^4.0.1", + "cids": "~0.7.0", + "mafmt": "^7.0.0", + "multiaddr": "^7.2.1", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + } + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", + "dev": true, + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", + "dev": true, + "requires": { + "upper-case": "^1.1.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", + "dev": true + }, + "it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", + "dev": true + }, + "it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" + } + }, + "it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", + "dev": true + }, + "it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", + "dev": true + }, + "it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", + "dev": true + }, + "it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", + "dev": true, + "requires": { + "buffer": "^6.0.3", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "jsonschema": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", + "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "keyv": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz", + "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "level": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", + "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", + "requires": { + "browser-level": "^1.0.1", + "classic-level": "^1.2.0" + } + }, + "level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "dev": true, + "requires": { + "buffer": "^5.6.0" + } + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", + "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "level-mem": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", + "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", + "dev": true, + "requires": { + "level-packager": "~4.0.0", + "memdown": "~3.0.0" + } + }, + "level-packager": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", + "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", + "dev": true, + "requires": { + "encoding-down": "~5.0.0", + "levelup": "^3.0.0" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "requires": { + "xtend": "^4.0.2" + } + }, + "level-transcoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", + "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", + "requires": { + "buffer": "^6.0.3", + "module-error": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, + "level-ws": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", + "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.8", + "xtend": "^4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "levelup": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", + "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", + "dev": true, + "requires": { + "deferred-leveldown": "~4.0.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~3.0.0", + "xtend": "~4.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "lodash.isequalwith": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz", + "integrity": "sha512-dcZON0IalGBpRmJBmMkaoV7d3I80R2O+FrzsZyHdNSFrANq/cgDqKQNmAHE8UEj4+QYWwwhkQOVdLHiAopzlsQ==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", + "dev": true, + "requires": { + "lower-case": "^1.1.2" + } + }, + "lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true + }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", + "dev": true + }, + "mafmt": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", + "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", + "dev": true, + "requires": { + "multiaddr": "^7.3.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "devOptional": true + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "dev": true + }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true + }, + "marked-terminal": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.3.0.tgz", + "integrity": "sha512-+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A==", + "dev": true, + "requires": { + "ansi-escapes": "^3.1.0", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "node-emoji": "^1.4.1", + "supports-hyperlinks": "^1.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } + } + }, + "mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memdown": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", + "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "memory-level": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", + "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", + "requires": { + "abstract-level": "^1.0.0", + "functional-red-black-tree": "^1.0.1", + "module-error": "^1.0.1" + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dev": true, + "requires": { + "is-plain-obj": "^2.1.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "merkle-patricia-tree": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", + "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "dev": true, + "requires": { + "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" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "dev": true, + "requires": { + "mkdirp": "*" + } + }, + "mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "requires": { + "obliterator": "^2.0.0" + } + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "requires": { + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + } + } + }, + "mocha-junit-reporter": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.0.tgz", + "integrity": "sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "md5": "^2.3.0", + "mkdirp": "~1.0.4", + "strip-ansi": "^6.0.1", + "xml": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "mock-fs": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true + }, + "module-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", + "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==" + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "cids": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.3.tgz", + "integrity": "sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "class-is": "^1.1.0", + "multibase": "^1.0.0", + "multicodec": "^1.0.1", + "multihashes": "^1.0.1" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + } + } + }, + "multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "dev": true, + "requires": { + "multiaddr": "^10.0.0" + }, + "dependencies": { + "multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "dev": true, + "requires": { + "dns-over-http-resolver": "^1.2.3", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.4.5", + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true + } + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "dev": true, + "requires": { + "varint": "^5.0.0" + } + }, + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", + "dev": true + }, + "multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + } + }, + "mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nano-base32": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", + "integrity": "sha1-ulSMh578+5DaHE2eCX20pGySVe8=", + "dev": true + }, + "nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "dev": true, + "requires": {} + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", + "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==" + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obliterator": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", + "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" + }, + "oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", + "dev": true, + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true + }, + "openzeppelin-solidity": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-4.8.1.tgz", + "integrity": "sha512-KM0pVpfrCBdifqN2ZeJZFvFuoGz3GmI4Ty/ceKNkcaf7VVWo/rLOfc5EiLh+Ukb5NadNmYo8WMeGhFA8hVWDpg==" + }, + "openzeppelin-solidity-2.3.0": { + "version": "npm:openzeppelin-solidity@2.3.0", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz", + "integrity": "sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw==", + "dev": true + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "dev": true + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "dev": true, + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true + }, + "parse-duration": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", + "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", + "dev": true + }, + "parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", + "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", + "dev": true, + "requires": { + "entities": "^4.4.0" + }, + "dependencies": { + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "dev": true + } + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "dependencies": { + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "prettier-plugin-solidity": { + "version": "1.0.0-beta.6", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.6.tgz", + "integrity": "sha512-WymLqd22Hl93t5+HDNLk08TAWp4i4vZMhpihuVqkwOApjCT7mH1qwhLtvf3m+NdU//qj8vrPDmMoT+xc74skcg==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.12.0", + "dir-to-object": "^2.0.0", + "emoji-regex": "^9.2.1", + "escape-string-regexp": "^4.0.0", + "prettier": "^2.2.1", + "semver": "^7.3.4", + "solidity-comments-extractor": "^0.0.4", + "string-width": "^4.2.0" + }, + "dependencies": { + "@solidity-parser/parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.12.2.tgz", + "integrity": "sha512-d7VS7PxgMosm5NyaiyDJRNID5pK4AWj1l64Dbz0147hJgy5k2C0/ZiKK/9u5c5K+HRUVHmp+RMvGEjGh84oA5Q==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-quick": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.2.tgz", + "integrity": "sha512-aLb6vtOTEfJDwi1w+MBTeE20GwPVUYyn6IqNg6TtGpiOB1W3y6vKcsGFjqGeaaEtQgMLSPXTWONqh33UBuwG8A==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "execa": "^2.1.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.4", + "multimatch": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "printj": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz", + "integrity": "sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dev": true, + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + }, + "pure-rand": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz", + "integrity": "sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "dev": true, + "requires": { + "p-defer": "^3.0.0" + } + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-fs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/recursive-fs/-/recursive-fs-1.1.2.tgz", + "integrity": "sha512-QPFEt5EwzwlHoqYsZc+NkUSyDTQf1Hvq7c/kpQJHi77OSCAiDXI3wfB0J04ZG+ekGHmv37mdR8MDPEshD3/RlQ==", + "dev": true + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dev": true, + "requires": { + "minimatch": "^3.0.5" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "dev": true, + "requires": { + "esprima": "~4.0.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "dev": true, + "requires": { + "req-from": "^2.0.0" + } + }, + "req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + } + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "ripemd160-min": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", + "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", + "dev": true + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "requires": { + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-parallel-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", + "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "semaphore": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", + "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==", + "dev": true + }, + "semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", + "dev": true + }, + "semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "semver-regex": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", + "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + } + } + }, + "sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true, + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "dev": true, + "requires": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + } + }, + "sha3": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", + "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", + "dev": true, + "requires": { + "buffer": "6.0.3" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, + "simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "dev": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "solc": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.16.tgz", + "integrity": "sha512-weEtRtisJyf+8UjELs7S4ST1KK7UIq6SRB7tpprfJBL9b5mTrZAT7m4gJKi2h6MiBpuSWfnraK8BnkyWzuTMRA==", + "dev": true, + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "solhint": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", + "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.14.1", + "ajv": "^6.6.1", + "antlr4": "4.7.1", + "ast-parents": "0.0.1", + "chalk": "^2.4.2", + "commander": "2.18.0", + "cosmiconfig": "^5.0.7", + "eslint": "^5.6.0", + "fast-diff": "^1.1.2", + "glob": "^7.1.3", + "ignore": "^4.0.6", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "prettier": "^1.14.3", + "semver": "^6.3.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "solidifier": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/solidifier/-/solidifier-2.2.3.tgz", + "integrity": "sha512-5xpR931zT+DWu/xuLUtWjlABMuqE8jvk8hTxpBAXZBf9JQJzQo9eSZ5Sa3Rqwua4UJHOVNTdt8pzm9SuQWX07w==", + "dev": true, + "requires": { + "@solidity-parser/parser": "0.12.1" + }, + "dependencies": { + "@solidity-parser/parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.12.1.tgz", + "integrity": "sha512-ikxVpwskNxEp2fvYS1BdRImnevHmM97zdPFBa1cVtjtNpoqCm/EmljATTZk0s9G/zsN5ZbPf9OAIAW4gbBJiRA==", + "dev": true + } + } + }, + "solidity-comments-extractor": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.4.tgz", + "integrity": "sha512-58glBODwXIKMaQ7rfcJOrWtFQMMOK28tJ0/LcB5Xhu7WtAxk4UX2fpgKPuaL41XjMp/y0gAa1MTLqk018wuSzA==", + "dev": true + }, + "solidity-coverage": { + "version": "0.7.22", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.22.tgz", + "integrity": "sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.14.0", + "@truffle/provider": "^0.2.24", + "chalk": "^2.4.2", + "death": "^1.1.0", + "detect-port": "^1.3.0", + "fs-extra": "^8.1.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.15", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "solidity-parser-antlr": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", + "integrity": "sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg==" + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + } + } + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", + "dev": true, + "requires": { + "get-iterator": "^1.0.2" + } + }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "requires": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "swarm-js": { + "version": "0.1.42", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", + "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^11.8.5", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + }, + "dependencies": { + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "got": { + "version": "11.8.5", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", + "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "requires": { + "get-port": "^3.1.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + } + }, + "terser": { + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", + "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + } + }, + "testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true + }, + "timeout-abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", + "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", + "dev": true, + "requires": { + "retimer": "^3.0.0" + } + }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-essentials": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", + "dev": true + }, + "ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "devOptional": true, + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", + "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "devOptional": true, + "peer": true + }, + "uglify-js": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.2.tgz", + "integrity": "sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==", + "dev": true, + "optional": true + }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dev": true, + "requires": { + "multiformats": "^9.4.2" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "underscore": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", + "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "dev": true + }, + "undici": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz", + "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==", + "requires": { + "busboy": "^1.6.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", + "dev": true, + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", + "dev": true + }, + "utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "devOptional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wait-port": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.9.tgz", + "integrity": "sha512-hQ/cVKsNqGZ/UbZB/oakOGFqic00YAMM5/PEj3Bt4vKarv2jWIWzDbqlwT94qMs/exAQAsvMOq99sZblV92zxQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "commander": "^3.0.2", + "debug": "^4.1.1" + }, + "dependencies": { + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + } + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "web3": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz", + "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==", + "dev": true, + "requires": { + "web3-bzz": "1.10.0", + "web3-core": "1.10.0", + "web3-eth": "1.10.0", + "web3-eth-personal": "1.10.0", + "web3-net": "1.10.0", + "web3-shh": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-bzz": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz", + "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "got": "12.1.0", + "swarm-js": "^0.1.40" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + } + } + }, + "web3-core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz", + "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.1", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-requestmanager": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-core-helpers": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.4.tgz", + "integrity": "sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg==", + "dev": true, + "requires": { + "web3-eth-iban": "1.7.4", + "web3-utils": "1.7.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-utils": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", + "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-method": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz", + "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==", + "dev": true, + "requires": { + "@ethersproject/transactions": "^5.6.2", + "web3-core-helpers": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-core-promievent": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", + "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-core-promievent": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.4.tgz", + "integrity": "sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-core-requestmanager": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz", + "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==", + "dev": true, + "requires": { + "util": "^0.12.5", + "web3-core-helpers": "1.10.0", + "web3-providers-http": "1.10.0", + "web3-providers-ipc": "1.10.0", + "web3-providers-ws": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-core-subscriptions": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz", + "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-eth": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz", + "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==", + "dev": true, + "requires": { + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-eth-accounts": "1.10.0", + "web3-eth-contract": "1.10.0", + "web3-eth-ens": "1.10.0", + "web3-eth-iban": "1.10.0", + "web3-eth-personal": "1.10.0", + "web3-net": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-abi": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", + "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-eth-abi": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.4.tgz", + "integrity": "sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg==", + "requires": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.7.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "web3-utils": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", + "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", + "requires": { + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-accounts": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz", + "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==", + "dev": true, + "requires": { + "@ethereumjs/common": "2.5.0", + "@ethereumjs/tx": "3.3.2", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.1.5", + "scrypt-js": "^3.0.1", + "uuid": "^9.0.0", + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "@ethereumjs/common": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", + "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", + "dev": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.1" + } + }, + "@ethereumjs/tx": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", + "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.5.0", + "ethereumjs-util": "^7.1.2" + } + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } + } + } + } + }, + "web3-eth-contract": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz", + "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.1", + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-core-promievent": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", + "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-eth-abi": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", + "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-eth-ens": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz", + "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==", + "dev": true, + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-promievent": "1.10.0", + "web3-eth-abi": "1.10.0", + "web3-eth-contract": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-core-promievent": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", + "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-eth-abi": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", + "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.6.3", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-eth-iban": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.4.tgz", + "integrity": "sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.7.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-utils": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.4.tgz", + "integrity": "sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-personal": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz", + "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "web3-core": "1.10.0", + "web3-core-helpers": "1.10.0", + "web3-core-method": "1.10.0", + "web3-net": "1.10.0", + "web3-utils": "1.10.0" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-net": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz", + "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==", + "dev": true, + "requires": { + "web3-core": "1.10.0", + "web3-core-method": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-providers-http": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz", + "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==", + "dev": true, + "requires": { + "abortcontroller-polyfill": "^1.7.3", + "cross-fetch": "^3.1.4", + "es6-promise": "^4.2.8", + "web3-core-helpers": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-providers-ipc": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz", + "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==", + "dev": true, + "requires": { + "oboe": "2.1.5", + "web3-core-helpers": "1.10.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-providers-ws": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz", + "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.0", + "websocket": "^1.0.32" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "web3-core-helpers": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", + "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", + "dev": true, + "requires": { + "web3-eth-iban": "1.10.0", + "web3-utils": "1.10.0" + } + }, + "web3-eth-iban": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", + "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.0" + } + } + } + }, + "web3-shh": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz", + "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==", + "dev": true, + "requires": { + "web3-core": "1.10.0", + "web3-core-method": "1.10.0", + "web3-core-subscriptions": "1.10.0", + "web3-net": "1.10.0" + } + }, + "web3-utils": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", + "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", + "requires": { + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "webpack": { + "version": "5.76.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", + "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + } + } + }, + "webpack-cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", + "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.1", + "colorette": "^2.0.14", + "commander": "^9.4.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", + "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "dev": true, + "requires": {} + }, + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "dev": true, + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dev": true, + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dev": true, + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dev": true, + "requires": { + "xhr-request": "^1.1.0" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", + "dev": true, + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + } + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } } } From 9e2a856def08681fb20f543ea7e8b7db36879170 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 21:11:27 -0500 Subject: [PATCH 18/43] revert op commit change --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index b70e242dea..6d6b10e06a 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - '08921d5c1df39c329f9ab82447ea939bc61a8784' + 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 5e21373d8eb740a435e368a86b613fc8ab928a85 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 21:21:10 -0500 Subject: [PATCH 19/43] run npm i --- package-lock.json | 57 ----------------------------------------------- 1 file changed, 57 deletions(-) diff --git a/package-lock.json b/package-lock.json index f44d9d1482..298a692012 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2803,39 +2803,6 @@ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, - "node_modules/@truffle/codec/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@truffle/codec/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@truffle/codec/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@truffle/compile-common": { "version": "0.9.7", "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.7.tgz", @@ -21893,30 +21860,6 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, From d1be5271ce54de916133028026fc122c2c61a586 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 21:45:55 -0500 Subject: [PATCH 20/43] Update job-header-machine.yml machine image tag --- .circleci/config.yml | 6 +++--- .circleci/src/snippets/job-header-machine.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e71401dc2a..5fe7291671 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,7 +32,7 @@ jobs: job-cannon: working_directory: ~/repo machine: - image: ubuntu-2204:2022.04.1 + image: ubuntu-2204:2024.01.1 docker_layer_caching: true environment: foundry_cache_version: "1" @@ -150,7 +150,7 @@ jobs: job-integration-tests: working_directory: ~/repo machine: - image: ubuntu-2204:2022.04.1 + image: ubuntu-2204:2024.01.1 docker_layer_caching: true environment: foundry_cache_version: "1" @@ -340,7 +340,7 @@ jobs: job-test-deploy-script: working_directory: ~/repo machine: - image: ubuntu-2204:2022.04.1 + image: ubuntu-2204:2024.01.1 docker_layer_caching: true environment: foundry_cache_version: "1" diff --git a/.circleci/src/snippets/job-header-machine.yml b/.circleci/src/snippets/job-header-machine.yml index 4939ca34c3..4bff2d5a5c 100644 --- a/.circleci/src/snippets/job-header-machine.yml +++ b/.circleci/src/snippets/job-header-machine.yml @@ -1,6 +1,6 @@ working_directory: ~/repo machine: - image: ubuntu-2204:2022.04.1 + image: ubuntu-2204:2024.01.1 docker_layer_caching: true environment: foundry_cache_version: "1" From d196e9bf50d8388372da75ccc3c07c92bb4afd01 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 21:57:57 -0500 Subject: [PATCH 21/43] install node version 18.19 --- .circleci/config.yml | 102 ++++++++++--------- .circleci/src/jobs/job-integration-tests.yml | 3 + 2 files changed, 56 insertions(+), 49 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5fe7291671..749dc398f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,8 +1,9 @@ # DO NOT EDIT MANUALLY! instead run `npm run build:ci` # autogenerated by `.circleci/pack.js` from contents of `jobs` .yml files version: 2.1 -orbs: +orbs: rust: circleci/rust@1.6.0 + node: circleci/node@5.2.0 commands: cmd-wait-for-port: parameters: @@ -59,22 +60,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -178,22 +179,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -204,6 +205,9 @@ jobs: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} + - node/install: + install-yarn: true + node-version: "18.19" - run: name: Build docker containers if necessary command: | @@ -350,22 +354,22 @@ jobs: keys: - foundry-bin-latest-${foundry_cache_version} - rust/install: {} - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 32ef9b7105..3fdee36048 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -57,6 +57,9 @@ steps: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} + - node/install: + install-yarn: true + node-version: '18.19' - run: name: Build docker containers if necessary command: | From 81c956485bcdbf7bac610a6d98689c2ff3224cb3 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 22:01:25 -0500 Subject: [PATCH 22/43] fix config --- .circleci/config.template.yml | 1 + .circleci/config.yml | 100 +++++++++++++++++----------------- 2 files changed, 51 insertions(+), 50 deletions(-) diff --git a/.circleci/config.template.yml b/.circleci/config.template.yml index 05688c4550..da9e6b2918 100644 --- a/.circleci/config.template.yml +++ b/.circleci/config.template.yml @@ -3,6 +3,7 @@ version: 2.1 orbs: rust: circleci/rust@1.6.0 + node: circleci/node@5.2.0 commands: {{> commands}} jobs: diff --git a/.circleci/config.yml b/.circleci/config.yml index 749dc398f3..8f3aacf238 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ # DO NOT EDIT MANUALLY! instead run `npm run build:ci` # autogenerated by `.circleci/pack.js` from contents of `jobs` .yml files version: 2.1 -orbs: +orbs: rust: circleci/rust@1.6.0 node: circleci/node@5.2.0 commands: @@ -60,22 +60,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -179,22 +179,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -207,7 +207,7 @@ jobs: - v6-optimism-build-{{ checksum "package-lock.json" }} - node/install: install-yarn: true - node-version: "18.19" + node-version: '18.19' - run: name: Build docker containers if necessary command: | @@ -354,22 +354,22 @@ jobs: keys: - foundry-bin-latest-${foundry_cache_version} - rust/install: {} - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: From 7e1d5219f7f81036cf8ab91dcc7f2e6052e65ae9 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 22:12:48 -0500 Subject: [PATCH 23/43] fix config 2 --- .circleci/config.template.yml | 2 +- .circleci/config.yml | 100 +++++++++---------- .circleci/src/jobs/job-integration-tests.yml | 2 +- 3 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.circleci/config.template.yml b/.circleci/config.template.yml index da9e6b2918..f879fc73bf 100644 --- a/.circleci/config.template.yml +++ b/.circleci/config.template.yml @@ -1,7 +1,7 @@ # DO NOT EDIT MANUALLY! instead run `npm run build:ci` # autogenerated by `.circleci/pack.js` from contents of `jobs` .yml files version: 2.1 -orbs: +orbs: rust: circleci/rust@1.6.0 node: circleci/node@5.2.0 commands: diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f3aacf238..749dc398f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ # DO NOT EDIT MANUALLY! instead run `npm run build:ci` # autogenerated by `.circleci/pack.js` from contents of `jobs` .yml files version: 2.1 -orbs: +orbs: rust: circleci/rust@1.6.0 node: circleci/node@5.2.0 commands: @@ -60,22 +60,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -179,22 +179,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -207,7 +207,7 @@ jobs: - v6-optimism-build-{{ checksum "package-lock.json" }} - node/install: install-yarn: true - node-version: '18.19' + node-version: "18.19" - run: name: Build docker containers if necessary command: | @@ -354,22 +354,22 @@ jobs: keys: - foundry-bin-latest-${foundry_cache_version} - rust/install: {} - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 3fdee36048..d4498bc2ab 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -59,7 +59,7 @@ steps: - v6-optimism-build-{{ checksum "package-lock.json" }} - node/install: install-yarn: true - node-version: '18.19' + node-version: "18.19" - run: name: Build docker containers if necessary command: | From 1c2e386cb1cd7e830a46a89293c3d211400e753b Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Wed, 28 Feb 2024 22:14:22 -0500 Subject: [PATCH 24/43] fix ci lint --- .circleci/config.yml | 100 +++++++++---------- .circleci/src/jobs/job-integration-tests.yml | 4 +- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 749dc398f3..b0d8f18fbd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -60,22 +60,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -179,22 +179,22 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: @@ -206,8 +206,8 @@ jobs: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - node/install: - install-yarn: true - node-version: "18.19" + install-yarn: true + node-version: "18.19" - run: name: Build docker containers if necessary command: | @@ -354,22 +354,22 @@ jobs: keys: - foundry-bin-latest-${foundry_cache_version} - rust/install: {} - - run: - name: "Install Foundry" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - export PATH="$PATH:$HOME/.foundry/bin" - echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV - if command -v anvil; then - echo "Anvil already installed" - anvil --version - else - curl -L https://foundry.paradigm.xyz | bash - foundryup - fi - rm -rf * + - run: + name: "Install Foundry" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + export PATH="$PATH:$HOME/.foundry/bin" + echo 'export PATH=$PATH:$HOME/.foundry/bin' >> $BASH_ENV + if command -v anvil; then + echo "Anvil already installed" + anvil --version + else + curl -L https://foundry.paradigm.xyz | bash + foundryup + fi + rm -rf * - save_cache: key: foundry-bin-latest-${foundry_cache_version} paths: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index d4498bc2ab..e2b93bec24 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -58,8 +58,8 @@ steps: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - node/install: - install-yarn: true - node-version: "18.19" + install-yarn: true + node-version: "18.19" - run: name: Build docker containers if necessary command: | From 5d785481de914390774b697549fea322ba66cc05 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:56:40 -0500 Subject: [PATCH 25/43] use op commit hash when upgraded to node 18 --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 6d6b10e06a..9fa394ac7f 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' + 'd625e22282aadd4bb7f62970a4f4eab0c05c2507' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 1d14c8881ea2ee690eae6cb358e3d8d70321f3c5 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:58:08 -0500 Subject: [PATCH 26/43] use op commit hash after upgraded to node 18 --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 9fa394ac7f..573965b1be 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'd625e22282aadd4bb7f62970a4f4eab0c05c2507' + 'cb20306b4203ba86d2ac6d4f200727c29bd9b1f7' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From 4a87b3f41324ce61239ed4ec695cea78ae7e2147 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 15:11:42 -0500 Subject: [PATCH 27/43] Add install pnpm step --- .circleci/config.yml | 7 +++++++ .circleci/src/jobs/job-integration-tests.yml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index b0d8f18fbd..558e8f7978 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -179,6 +179,13 @@ jobs: - run: command: |- ipfs --version + - run: + name: "Install pnpm" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - - run: name: "Install Foundry" working_directory: ~/ diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index e2b93bec24..0e86064b38 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -28,6 +28,13 @@ steps: - run: command: |- ipfs --version + - run: + name: "Install pnpm" + working_directory: ~/ + environment: + SHELL: /bin/bash + command: |- + wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - - run: name: "Install Foundry" working_directory: ~/ From e25e97ea1410905c0c84d38eed331cd501e4b471 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 16:45:03 -0500 Subject: [PATCH 28/43] update pnpm options --- .circleci/config.yml | 1 + .circleci/src/jobs/job-integration-tests.yml | 1 + hardhat/tasks/task-ops.js | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 558e8f7978..b28c87ab9f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -186,6 +186,7 @@ jobs: SHELL: /bin/bash command: |- wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - + source /home/circleci/.bashrc - run: name: "Install Foundry" working_directory: ~/ diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 0e86064b38..8d6588e92d 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -35,6 +35,7 @@ steps: SHELL: /bin/bash command: |- wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - + source /home/circleci/.bashrc - run: name: "Install Foundry" working_directory: ~/ diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 573965b1be..b7e251d7f6 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -152,10 +152,10 @@ function _build({ opsPath, opsCommit, opsBranch }) { console.log(gray(' get dependencies')); // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 - const yarnOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', `yarn `], yarnOpts); + const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; + execa.sync('sh', ['-c', `pnpm `], pnpmOpts); console.log(gray(' build')); - execa.sync('sh', ['-c', `yarn build `], yarnOpts); + execa.sync('sh', ['-c', `pnpm build `], pnpmOpts); } function _buildOps({ opsPath }) { From 0b29e20ee35e3b4a887ae07a49835090e8b06818 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 17:00:01 -0500 Subject: [PATCH 29/43] add install cmd --- hardhat/tasks/task-ops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index b7e251d7f6..a2c7645831 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -153,7 +153,7 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', `pnpm `], pnpmOpts); + execa.sync('sh', ['-c', `pnpm install `], pnpmOpts); console.log(gray(' build')); execa.sync('sh', ['-c', `pnpm build `], pnpmOpts); } From 53c382d33a47f3d135699f09640b3b9d7c3d9e0e Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 17:17:50 -0500 Subject: [PATCH 30/43] remove sh -c --- hardhat/tasks/task-ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index a2c7645831..a43df05b69 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -153,9 +153,9 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', `pnpm install `], pnpmOpts); + execa.sync('', ['', `pnpm install `], pnpmOpts); console.log(gray(' build')); - execa.sync('sh', ['-c', `pnpm build `], pnpmOpts); + execa.sync('', ['', `pnpm build `], pnpmOpts); } function _buildOps({ opsPath }) { From 60366f0553c4d9a3295b366b79ef048d503612d4 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 20:43:47 -0500 Subject: [PATCH 31/43] Use commandSync --- hardhat/tasks/task-ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index a43df05b69..703e262525 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -153,9 +153,9 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('', ['', `pnpm install `], pnpmOpts); + execa.commandSync('pnpm install', pnpmOpts); console.log(gray(' build')); - execa.sync('', ['', `pnpm build `], pnpmOpts); + execa.commandSync('pnpm build', pnpmOpts); } function _buildOps({ opsPath }) { From ee01bfa08f2fd920981c6ec9de39ffada88677c4 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Thu, 29 Feb 2024 21:44:51 -0500 Subject: [PATCH 32/43] revert to sync --- hardhat/tasks/task-ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 703e262525..21136cb0c0 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -153,9 +153,9 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.commandSync('pnpm install', pnpmOpts); + execa.sync('sh', ['-c', 'pnpm install'], pnpmOpts); console.log(gray(' build')); - execa.commandSync('pnpm build', pnpmOpts); + execa.sync('sh', ['-c', 'pnpm build'], pnpmOpts); } function _buildOps({ opsPath }) { From 26521cd63a443c4916b024aca389fb533d901542 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 18:35:06 -0700 Subject: [PATCH 33/43] update pnpm commands --- hardhat/tasks/task-ops.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 21136cb0c0..69024c4803 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -40,7 +40,7 @@ task('ops', 'Run Optimism chain') console.log(gray('optimism folder:', opsPath)); if (taskArguments.stop) { - console.log(yellow('stoping')); + console.log(yellow('stopping')); if (fs.existsSync(opsPath)) { _stop({ opsPath }); } @@ -153,9 +153,9 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', 'pnpm install'], pnpmOpts); + execa.sync('sh', ['-c', `pnpm install `], pnpmOpts); console.log(gray(' build')); - execa.sync('sh', ['-c', 'pnpm build'], pnpmOpts); + execa.sync('sh', ['-c', `pnpm run build `], pnpmOpts); } function _buildOps({ opsPath }) { From 1fec5df9ca5fcd84e18c74facba846f7e5447a0d Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 18:47:52 -0700 Subject: [PATCH 34/43] update ci image tag and revert task-ops --- .circleci/config.template.yml | 1 - .circleci/config.yml | 10 +++------- .circleci/src/jobs/job-integration-tests.yml | 3 --- .circleci/src/snippets/job-header-machine.yml | 2 +- hardhat/tasks/task-ops.js | 10 +++++----- 5 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.circleci/config.template.yml b/.circleci/config.template.yml index f879fc73bf..e3622b787e 100644 --- a/.circleci/config.template.yml +++ b/.circleci/config.template.yml @@ -3,7 +3,6 @@ version: 2.1 orbs: rust: circleci/rust@1.6.0 - node: circleci/node@5.2.0 commands: {{> commands}} jobs: diff --git a/.circleci/config.yml b/.circleci/config.yml index b28c87ab9f..b58422313a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,6 @@ version: 2.1 orbs: rust: circleci/rust@1.6.0 - node: circleci/node@5.2.0 commands: cmd-wait-for-port: parameters: @@ -33,7 +32,7 @@ jobs: job-cannon: working_directory: ~/repo machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:current docker_layer_caching: true environment: foundry_cache_version: "1" @@ -151,7 +150,7 @@ jobs: job-integration-tests: working_directory: ~/repo machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:current docker_layer_caching: true environment: foundry_cache_version: "1" @@ -213,9 +212,6 @@ jobs: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - - node/install: - install-yarn: true - node-version: "18.19" - run: name: Build docker containers if necessary command: | @@ -352,7 +348,7 @@ jobs: job-test-deploy-script: working_directory: ~/repo machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:current docker_layer_caching: true environment: foundry_cache_version: "1" diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 8d6588e92d..33a79aa8f1 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -65,9 +65,6 @@ steps: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - - node/install: - install-yarn: true - node-version: "18.19" - run: name: Build docker containers if necessary command: | diff --git a/.circleci/src/snippets/job-header-machine.yml b/.circleci/src/snippets/job-header-machine.yml index 4bff2d5a5c..1aeb2362a4 100644 --- a/.circleci/src/snippets/job-header-machine.yml +++ b/.circleci/src/snippets/job-header-machine.yml @@ -1,6 +1,6 @@ working_directory: ~/repo machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:current docker_layer_caching: true environment: foundry_cache_version: "1" diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 69024c4803..6d6b10e06a 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -25,7 +25,7 @@ task('ops', 'Run Optimism chain') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'cb20306b4203ba86d2ac6d4f200727c29bd9b1f7' + 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; @@ -40,7 +40,7 @@ task('ops', 'Run Optimism chain') console.log(gray('optimism folder:', opsPath)); if (taskArguments.stop) { - console.log(yellow('stopping')); + console.log(yellow('stoping')); if (fs.existsSync(opsPath)) { _stop({ opsPath }); } @@ -152,10 +152,10 @@ function _build({ opsPath, opsCommit, opsBranch }) { console.log(gray(' get dependencies')); // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 - const pnpmOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', `pnpm install `], pnpmOpts); + const yarnOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; + execa.sync('sh', ['-c', `yarn `], yarnOpts); console.log(gray(' build')); - execa.sync('sh', ['-c', `pnpm run build `], pnpmOpts); + execa.sync('sh', ['-c', `yarn build `], yarnOpts); } function _buildOps({ opsPath }) { From 2783827fb4ac8196e70fe2b3aa60e7954f4e428f Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 19:21:36 -0700 Subject: [PATCH 35/43] use optimism v1.7.0 tag --- hardhat/tasks/task-ops.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 6d6b10e06a..747afdc728 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -21,11 +21,11 @@ task('ops', 'Run Optimism chain') .addFlag('stop', 'Stop optimism chain') .addFlag('detached', 'Detach the chain from the console') .addOptionalParam('optimismPath', 'Path to optmism repository folder', './optimism') - .addOptionalParam('optimismBranch', 'Branch to checkout', 'master') + .addOptionalParam('optimismBranch', 'Branch to checkout', 'develop') .addOptionalParam( 'optimismCommit', 'Commit to checkout', - 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' + 'f707883038d527cbf1e9f8ea513fe33255deadbc' ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; From b61eb0ade6b3075909191fc06fc6df76a5bbd162 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 19:51:58 -0700 Subject: [PATCH 36/43] pull docker node instead of building --- .circleci/config.yml | 2 +- .circleci/src/jobs/job-integration-tests.yml | 2 +- hardhat/tasks/task-ops.js | 77 ++------------------ 3 files changed, 7 insertions(+), 74 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b58422313a..f24f8a90a4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -216,7 +216,7 @@ jobs: name: Build docker containers if necessary command: | if [ ! -d ./optimism ]; then - npx hardhat ops --fresh --build --build-ops + npx hardhat ops --fresh fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 33a79aa8f1..135a9baec6 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -69,7 +69,7 @@ steps: name: Build docker containers if necessary command: | if [ ! -d ./optimism ]; then - npx hardhat ops --fresh --build --build-ops + npx hardhat ops --fresh fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 747afdc728..26d583831c 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -15,28 +15,16 @@ const OPS_PROCESSES = [ task('ops', 'Run Optimism chain') .addFlag('fresh', 'Clean up docker and get a fresh clone of the optimism repository') - .addFlag('build', 'Get the right commit and builds the repository') - .addFlag('buildOps', 'Build fresh docker images for the chain') .addFlag('start', 'Start the latest build') .addFlag('stop', 'Stop optimism chain') .addFlag('detached', 'Detach the chain from the console') .addOptionalParam('optimismPath', 'Path to optmism repository folder', './optimism') - .addOptionalParam('optimismBranch', 'Branch to checkout', 'develop') - .addOptionalParam( - 'optimismCommit', - 'Commit to checkout', - 'f707883038d527cbf1e9f8ea513fe33255deadbc' - ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; const opsPath = taskArguments.optimismPath.replace('~', homedir); - const opsBranch = taskArguments.optimismBranch; - const opsCommit = taskArguments.optimismCommit; const opsDetached = taskArguments.detached ? '-d' : ''; - console.log(gray('optimism branch:', opsBranch)); - console.log(gray('optimism commit:', opsCommit)); console.log(gray('optimism folder:', opsPath)); if (taskArguments.stop) { @@ -55,24 +43,6 @@ task('ops', 'Run Optimism chain') _fresh({ opsPath }); } - if (taskArguments.build || (taskArguments.fresh && taskArguments.start)) { - console.log(yellow('building')); - if (!fs.existsSync(opsPath)) { - _fresh({ opsPath }); - } - - _build({ opsPath, opsCommit, opsBranch }); - } - - if (taskArguments.buildOps || (taskArguments.fresh && taskArguments.start)) { - console.log(yellow('building ops')); - if (!fs.existsSync(opsPath)) { - _fresh({ opsPath }); - _build({ opsPath, opsCommit, opsBranch }); - } - _buildOps({ opsPath }); - } - if (taskArguments.start) { console.log(yellow('starting')); if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { @@ -82,11 +52,6 @@ task('ops', 'Run Optimism chain') if (!fs.existsSync(opsPath)) { _fresh({ opsPath }); - _build({ opsPath, opsCommit, opsBranch }); - _buildOps({ opsPath }); - } else if (!_imagesExist()) { - _build({ opsPath, opsCommit, opsBranch }); - _buildOps({ opsPath }); } await _start({ opsPath, opsDetached }); } @@ -119,19 +84,6 @@ function _isRunning({ opsPath }) { return result; } -function _imagesExist() { - console.log(gray(' check if images exists')); - let result = true; - - OPS_PROCESSES.forEach(item => { - const imageId = execa.sync('sh', ['-c', `docker image ls ${item.image} -q`]); - if (imageId.stdout === '') { - result = false; - } - }); - return result; -} - function _fresh({ opsPath }) { console.log(gray(' clone fresh repository into', opsPath)); execa.sync('sh', ['-c', 'rm -drf ' + opsPath]); @@ -141,33 +93,14 @@ function _fresh({ opsPath }) { ]); } -function _build({ opsPath, opsCommit, opsBranch }) { - console.log(gray(' checkout commit:', opsCommit)); - execa.sync('sh', ['-c', `cd ${opsPath} && git fetch `]); - execa.sync('sh', ['-c', `cd ${opsPath} && git checkout ${opsBranch} `]); - execa.sync('sh', ['-c', `cd ${opsPath} && git pull origin ${opsBranch} `]); - if (opsCommit) { - execa.sync('sh', ['-c', `cd ${opsPath} && git checkout ${opsCommit}`]); - } - console.log(gray(' get dependencies')); - - // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 - const yarnOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.sync('sh', ['-c', `yarn `], yarnOpts); - console.log(gray(' build')); - execa.sync('sh', ['-c', `yarn build `], yarnOpts); -} - -function _buildOps({ opsPath }) { - console.log(gray(' build ops images')); +async function _start({ opsPath, opsDetached }) { + console.log(gray(' start ops')); + execa.sync('sh', ['-c', `cd ${opsPath} && gcloud auth configure-docker us-docker.pkg.dev `]); execa.sync('sh', [ '-c', - `cd ${opsPath}/ops && export COMPOSE_DOCKER_CLI_BUILD=1 && export DOCKER_BUILDKIT=1 && docker-compose build`, + `cd ${opsPath} && docker pull \ + us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc`, ]); -} - -async function _start({ opsPath, opsDetached }) { - console.log(gray(' start ops')); spawn('sh', ['-c', `cd ${opsPath}/ops && docker-compose up ${opsDetached}`], { stdio: 'inherit', }); From e73ab9690ff2b8fc585915574e0de8a40d48d9a3 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 19:55:38 -0700 Subject: [PATCH 37/43] remove gcloud command --- hardhat/tasks/task-ops.js | 1 - 1 file changed, 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 26d583831c..d84c12de38 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -95,7 +95,6 @@ function _fresh({ opsPath }) { async function _start({ opsPath, opsDetached }) { console.log(gray(' start ops')); - execa.sync('sh', ['-c', `cd ${opsPath} && gcloud auth configure-docker us-docker.pkg.dev `]); execa.sync('sh', [ '-c', `cd ${opsPath} && docker pull \ From 54b27ff665802eb858d0a22de18219653e31e95d Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 20:22:53 -0700 Subject: [PATCH 38/43] update _start func and remove build step from ci --- .circleci/config.yml | 6 ---- .circleci/src/jobs/job-integration-tests.yml | 6 ---- hardhat/tasks/task-ops.js | 35 ++++++-------------- 3 files changed, 11 insertions(+), 36 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f24f8a90a4..61525a8b0d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -212,12 +212,6 @@ jobs: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - - run: - name: Build docker containers if necessary - command: | - if [ ! -d ./optimism ]; then - npx hardhat ops --fresh - fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} paths: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 135a9baec6..83e8f025df 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -65,12 +65,6 @@ steps: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} - - run: - name: Build docker containers if necessary - command: | - if [ ! -d ./optimism ]; then - npx hardhat ops --fresh - fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} paths: diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index d84c12de38..aa0cbabfa2 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -14,7 +14,6 @@ const OPS_PROCESSES = [ ]; task('ops', 'Run Optimism chain') - .addFlag('fresh', 'Clean up docker and get a fresh clone of the optimism repository') .addFlag('start', 'Start the latest build') .addFlag('stop', 'Stop optimism chain') .addFlag('detached', 'Detach the chain from the console') @@ -35,14 +34,6 @@ task('ops', 'Run Optimism chain') return; } - if (taskArguments.fresh) { - console.log(yellow('clearing and getting a fresh clone')); - if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { - _stop({ opsPath }); - } - _fresh({ opsPath }); - } - if (taskArguments.start) { console.log(yellow('starting')); if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { @@ -50,9 +41,6 @@ task('ops', 'Run Optimism chain') return; } - if (!fs.existsSync(opsPath)) { - _fresh({ opsPath }); - } await _start({ opsPath, opsDetached }); } }); @@ -84,15 +72,6 @@ function _isRunning({ opsPath }) { return result; } -function _fresh({ opsPath }) { - console.log(gray(' clone fresh repository into', opsPath)); - execa.sync('sh', ['-c', 'rm -drf ' + opsPath]); - execa.sync('sh', [ - '-c', - 'git clone https://github.com/ethereum-optimism/optimism.git ' + opsPath, - ]); -} - async function _start({ opsPath, opsDetached }) { console.log(gray(' start ops')); execa.sync('sh', [ @@ -100,9 +79,17 @@ async function _start({ opsPath, opsDetached }) { `cd ${opsPath} && docker pull \ us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc`, ]); - spawn('sh', ['-c', `cd ${opsPath}/ops && docker-compose up ${opsDetached}`], { - stdio: 'inherit', - }); + spawn( + 'sh', + [ + '-c', + `cd ${opsPath} && docker run -d --name op-node us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc + `, + ], + { + stdio: 'inherit', + } + ); await new Promise(() => {}); // Keeps the process open } From 79b0ed3e613311f17569a1912c04edb4212e9e53 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Mon, 4 Mar 2024 20:52:59 -0700 Subject: [PATCH 39/43] port mapping --- .circleci/config.yml | 2 -- .circleci/src/jobs/job-integration-tests.yml | 2 -- hardhat/tasks/task-ops.js | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 61525a8b0d..ba92fa11c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -227,8 +227,6 @@ jobs: command: | docker --version npx hardhat ops --start - - cmd-wait-for-port: - port: 8545 - cmd-wait-for-port: port: 9545 - run: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 83e8f025df..dfc05e2658 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -80,8 +80,6 @@ steps: command: | docker --version npx hardhat ops --start - - cmd-wait-for-port: - port: 8545 - cmd-wait-for-port: port: 9545 - run: diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index aa0cbabfa2..49fd7f6f33 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -83,7 +83,7 @@ async function _start({ opsPath, opsDetached }) { 'sh', [ '-c', - `cd ${opsPath} && docker run -d --name op-node us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc + `cd ${opsPath} && docker run -d --name op-node -p 9545:8545 us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc `, ], { From a4395882a184e49d68a9b1e1b0833277a6848d87 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Tue, 5 Mar 2024 10:27:12 -0700 Subject: [PATCH 40/43] Update ops task and circleci config --- .circleci/config.yml | 6 ++- .circleci/src/jobs/job-integration-tests.yml | 2 + .../src/snippets/job-header-sec-tools.yml | 2 +- .github/workflows/slither-analysis.yml | 2 +- hardhat/tasks/task-ops.js | 54 +++++++++++++------ 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ba92fa11c1..0fe45418f0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ jobs: job-audit: working_directory: ~/repo docker: - - image: synthetixio/docker-sec-tools:16.17-ubuntu + - image: synthetixio/docker-sec-tools:18.19-ubuntu steps: - checkout - run: @@ -227,6 +227,8 @@ jobs: command: | docker --version npx hardhat ops --start + - cmd-wait-for-port: + port: 8545 - cmd-wait-for-port: port: 9545 - run: @@ -393,7 +395,7 @@ jobs: job-unit-tests-coverage-report: working_directory: ~/repo docker: - - image: synthetixio/docker-sec-tools:16.17-ubuntu + - image: synthetixio/docker-sec-tools:18.19-ubuntu steps: - checkout - attach_workspace: diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index dfc05e2658..83e8f025df 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -80,6 +80,8 @@ steps: command: | docker --version npx hardhat ops --start + - cmd-wait-for-port: + port: 8545 - cmd-wait-for-port: port: 9545 - run: diff --git a/.circleci/src/snippets/job-header-sec-tools.yml b/.circleci/src/snippets/job-header-sec-tools.yml index c96769a5ad..e1be656df6 100644 --- a/.circleci/src/snippets/job-header-sec-tools.yml +++ b/.circleci/src/snippets/job-header-sec-tools.yml @@ -1,3 +1,3 @@ working_directory: ~/repo docker: - - image: synthetixio/docker-sec-tools:16.17-ubuntu + - image: synthetixio/docker-sec-tools:18.19-ubuntu diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index dc22c88603..a74900e013 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest container: - image: synthetixio/docker-sec-tools:16.17-ubuntu + image: synthetixio/docker-sec-tools:18.19-ubuntu steps: - name: Checkout diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 49fd7f6f33..541235caf8 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -9,31 +9,49 @@ const OPS_PROCESSES = [ { service: 'deployer', image: 'ethereumoptimism/deployer' }, { service: 'dtl', image: 'ethereumoptimism/data-transport-layer' }, { service: 'l1_chain', image: 'ethereumoptimism/hardhat' }, - { service: 'l2geth', image: 'ethereumoptimism/l2geth' }, { service: 'relayer', image: 'ethereumoptimism/message-relayer' }, ]; task('ops', 'Run Optimism chain') + .addFlag('fresh', 'Clean up docker and get a fresh clone of the optimism repository') .addFlag('start', 'Start the latest build') .addFlag('stop', 'Stop optimism chain') .addFlag('detached', 'Detach the chain from the console') .addOptionalParam('optimismPath', 'Path to optmism repository folder', './optimism') + .addOptionalParam('optimismBranch', 'Branch to checkout', 'master') + .addOptionalParam( + 'optimismCommit', + 'Commit to checkout', + 'f1631a5f7ddb6eb4a342bfbd7d46233a43412f9b' + ) .setAction(async (taskArguments, hre, runSuper) => { taskArguments.maxMemory = true; const opsPath = taskArguments.optimismPath.replace('~', homedir); + const opsBranch = taskArguments.optimismBranch; + const opsCommit = taskArguments.optimismCommit; const opsDetached = taskArguments.detached ? '-d' : ''; + console.log(gray('optimism branch:', opsBranch)); + console.log(gray('optimism commit:', opsCommit)); console.log(gray('optimism folder:', opsPath)); if (taskArguments.stop) { - console.log(yellow('stoping')); + console.log(yellow('stopping')); if (fs.existsSync(opsPath)) { _stop({ opsPath }); } return; } + if (taskArguments.fresh) { + console.log(yellow('clearing and getting a fresh clone')); + if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { + _stop({ opsPath }); + } + _fresh({ opsPath }); + } + if (taskArguments.start) { console.log(yellow('starting')); if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { @@ -41,6 +59,10 @@ task('ops', 'Run Optimism chain') return; } + if (!fs.existsSync(opsPath)) { + _fresh({ opsPath }); + } + await _start({ opsPath, opsDetached }); } }); @@ -72,24 +94,22 @@ function _isRunning({ opsPath }) { return result; } -async function _start({ opsPath, opsDetached }) { - console.log(gray(' start ops')); +function _fresh({ opsPath }) { + console.log(gray(' clone fresh repository into', opsPath)); + execa.sync('sh', ['-c', 'rm -drf ' + opsPath]); execa.sync('sh', [ '-c', - `cd ${opsPath} && docker pull \ - us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc`, + 'git clone https://github.com/ethereum-optimism/optimism.git ' + opsPath, ]); - spawn( - 'sh', - [ - '-c', - `cd ${opsPath} && docker run -d --name op-node -p 9545:8545 us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:f707883038d527cbf1e9f8ea513fe33255deadbc - `, - ], - { - stdio: 'inherit', - } - ); +} + +async function _start({ opsPath, opsDetached }) { + console.log(gray(' start ops')); + // Pull the Docker image before starting + execa.sync('sh', ['-c', `docker pull ethereumoptimism/l2geth`]); + spawn('sh', ['-c', `cd ${opsPath}/ops && docker-compose up ${opsDetached}`], { + stdio: 'inherit', + }); await new Promise(() => {}); // Keeps the process open } From b7d33d4c3bb978004fefd15bae45d8b0ff1f2bc0 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Tue, 5 Mar 2024 10:56:49 -0700 Subject: [PATCH 41/43] log node version --- .circleci/config.yml | 1 + .circleci/src/jobs/job-integration-tests.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0fe45418f0..60e0dc99ca 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -226,6 +226,7 @@ jobs: background: true command: | docker --version + node --version npx hardhat ops --start - cmd-wait-for-port: port: 8545 diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index 83e8f025df..aaceb5e9b9 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -79,6 +79,7 @@ steps: background: true command: | docker --version + node --version npx hardhat ops --start - cmd-wait-for-port: port: 8545 From 87be523aff146a37f6a1cda1e380df40216d5d54 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:28:29 -0700 Subject: [PATCH 42/43] update task-ops.js --- hardhat/tasks/task-ops.js | 65 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 541235caf8..2ec9b01833 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -14,6 +14,8 @@ const OPS_PROCESSES = [ task('ops', 'Run Optimism chain') .addFlag('fresh', 'Clean up docker and get a fresh clone of the optimism repository') + .addFlag('build', 'Get the right commit and builds the repository') + .addFlag('buildOps', 'Build fresh docker images for the chain') .addFlag('start', 'Start the latest build') .addFlag('stop', 'Stop optimism chain') .addFlag('detached', 'Detach the chain from the console') @@ -37,7 +39,7 @@ task('ops', 'Run Optimism chain') console.log(gray('optimism folder:', opsPath)); if (taskArguments.stop) { - console.log(yellow('stopping')); + console.log(yellow('stoping')); if (fs.existsSync(opsPath)) { _stop({ opsPath }); } @@ -52,6 +54,24 @@ task('ops', 'Run Optimism chain') _fresh({ opsPath }); } + if (taskArguments.build || (taskArguments.fresh && taskArguments.start)) { + console.log(yellow('building')); + if (!fs.existsSync(opsPath)) { + _fresh({ opsPath }); + } + + _build({ opsPath, opsCommit, opsBranch }); + } + + if (taskArguments.buildOps || (taskArguments.fresh && taskArguments.start)) { + console.log(yellow('building ops')); + if (!fs.existsSync(opsPath)) { + _fresh({ opsPath }); + _build({ opsPath, opsCommit, opsBranch }); + } + _buildOps({ opsPath }); + } + if (taskArguments.start) { console.log(yellow('starting')); if (fs.existsSync(opsPath) && _isRunning({ opsPath })) { @@ -61,6 +81,11 @@ task('ops', 'Run Optimism chain') if (!fs.existsSync(opsPath)) { _fresh({ opsPath }); + _build({ opsPath, opsCommit, opsBranch }); + _buildOps({ opsPath }); + } else if (!_imagesExist()) { + _build({ opsPath, opsCommit, opsBranch }); + _buildOps({ opsPath }); } await _start({ opsPath, opsDetached }); @@ -94,6 +119,19 @@ function _isRunning({ opsPath }) { return result; } +function _imagesExist() { + console.log(gray(' check if images exists')); + let result = true; + + OPS_PROCESSES.forEach(item => { + const imageId = execa.sync('sh', ['-c', `docker image ls ${item.image} -q`]); + if (imageId.stdout === '') { + result = false; + } + }); + return result; +} + function _fresh({ opsPath }) { console.log(gray(' clone fresh repository into', opsPath)); execa.sync('sh', ['-c', 'rm -drf ' + opsPath]); @@ -103,6 +141,31 @@ function _fresh({ opsPath }) { ]); } +function _build({ opsPath, opsCommit, opsBranch }) { + console.log(gray(' checkout commit:', opsCommit)); + execa.sync('sh', ['-c', `cd ${opsPath} && git fetch `]); + execa.sync('sh', ['-c', `cd ${opsPath} && git checkout ${opsBranch} `]); + execa.sync('sh', ['-c', `cd ${opsPath} && git pull origin ${opsBranch} `]); + if (opsCommit) { + execa.sync('sh', ['-c', `cd ${opsPath} && git checkout ${opsCommit}`]); + } + console.log(gray(' get dependencies')); + + // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 + const yarnOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; + execa.commandSync('sh', ['-c', `yarn `], yarnOpts); + console.log(gray(' build')); + execa.commandSync('sh', ['-c', `yarn build `], yarnOpts); +} + +function _buildOps({ opsPath }) { + console.log(gray(' build ops images')); + execa.sync('sh', [ + '-c', + `cd ${opsPath}/ops && export COMPOSE_DOCKER_CLI_BUILD=1 && export DOCKER_BUILDKIT=1 && docker-compose build`, + ]); +} + async function _start({ opsPath, opsDetached }) { console.log(gray(' start ops')); // Pull the Docker image before starting From 91b1962ea42fa9183a590efbbf98c26c969cf7a1 Mon Sep 17 00:00:00 2001 From: meb <4982406+barrasso@users.noreply.github.com> Date: Tue, 5 Mar 2024 13:25:33 -0700 Subject: [PATCH 43/43] revert stuff --- .circleci/config.yml | 15 ++++++--------- .circleci/src/jobs/job-integration-tests.yml | 15 ++++++--------- hardhat/tasks/task-ops.js | 8 +++----- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 60e0dc99ca..0e7bfd0347 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -178,14 +178,6 @@ jobs: - run: command: |- ipfs --version - - run: - name: "Install pnpm" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - - source /home/circleci/.bashrc - run: name: "Install Foundry" working_directory: ~/ @@ -212,6 +204,12 @@ jobs: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} + - run: + name: Build docker containers if necessary + command: | + if [ ! -d ./optimism ]; then + npx hardhat ops --fresh --build --build-ops + fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} paths: @@ -226,7 +224,6 @@ jobs: background: true command: | docker --version - node --version npx hardhat ops --start - cmd-wait-for-port: port: 8545 diff --git a/.circleci/src/jobs/job-integration-tests.yml b/.circleci/src/jobs/job-integration-tests.yml index aaceb5e9b9..32ef9b7105 100644 --- a/.circleci/src/jobs/job-integration-tests.yml +++ b/.circleci/src/jobs/job-integration-tests.yml @@ -28,14 +28,6 @@ steps: - run: command: |- ipfs --version - - run: - name: "Install pnpm" - working_directory: ~/ - environment: - SHELL: /bin/bash - command: |- - wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash - - source /home/circleci/.bashrc - run: name: "Install Foundry" working_directory: ~/ @@ -65,6 +57,12 @@ steps: - restore_cache: keys: - v6-optimism-build-{{ checksum "package-lock.json" }} + - run: + name: Build docker containers if necessary + command: | + if [ ! -d ./optimism ]; then + npx hardhat ops --fresh --build --build-ops + fi; - save_cache: key: v6-optimism-build-{{ checksum "package-lock.json" }} paths: @@ -79,7 +77,6 @@ steps: background: true command: | docker --version - node --version npx hardhat ops --start - cmd-wait-for-port: port: 8545 diff --git a/hardhat/tasks/task-ops.js b/hardhat/tasks/task-ops.js index 2ec9b01833..6d6b10e06a 100644 --- a/hardhat/tasks/task-ops.js +++ b/hardhat/tasks/task-ops.js @@ -9,6 +9,7 @@ const OPS_PROCESSES = [ { service: 'deployer', image: 'ethereumoptimism/deployer' }, { service: 'dtl', image: 'ethereumoptimism/data-transport-layer' }, { service: 'l1_chain', image: 'ethereumoptimism/hardhat' }, + { service: 'l2geth', image: 'ethereumoptimism/l2geth' }, { service: 'relayer', image: 'ethereumoptimism/message-relayer' }, ]; @@ -87,7 +88,6 @@ task('ops', 'Run Optimism chain') _build({ opsPath, opsCommit, opsBranch }); _buildOps({ opsPath }); } - await _start({ opsPath, opsDetached }); } }); @@ -153,9 +153,9 @@ function _build({ opsPath, opsCommit, opsBranch }) { // needed options for execa.sync https://github.com/sindresorhus/execa/issues/473 const yarnOpts = { stdout: 'inherit', stderr: 'inherit', shell: true, cwd: opsPath }; - execa.commandSync('sh', ['-c', `yarn `], yarnOpts); + execa.sync('sh', ['-c', `yarn `], yarnOpts); console.log(gray(' build')); - execa.commandSync('sh', ['-c', `yarn build `], yarnOpts); + execa.sync('sh', ['-c', `yarn build `], yarnOpts); } function _buildOps({ opsPath }) { @@ -168,8 +168,6 @@ function _buildOps({ opsPath }) { async function _start({ opsPath, opsDetached }) { console.log(gray(' start ops')); - // Pull the Docker image before starting - execa.sync('sh', ['-c', `docker pull ethereumoptimism/l2geth`]); spawn('sh', ['-c', `cd ${opsPath}/ops && docker-compose up ${opsDetached}`], { stdio: 'inherit', });