@coti-io/coti-contracts 1.0.9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +18 -14
- package/README.md +3 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.sol +452 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.sol +490 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +432 -0
- package/contracts/disperse/disperseToken/MintDisperser.sol +120 -0
- package/contracts/disperse/disperseToken/TokenDisperser.sol +139 -0
- package/contracts/mocks/token/ERC20Mock.sol +19 -0
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +13 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +44 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +23 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +9 -4
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +39 -0
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +12 -0
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +122 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +55 -0
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +27 -0
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +267 -0
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +334 -0
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +93 -0
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +116 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +157 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +133 -0
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +137 -0
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +59 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +99 -0
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +7 -6
- package/contracts/node/CotiNodeRewards.sol +199 -0
- package/contracts/node/SoulboundNodeNFT.sol +519 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +318 -0
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +268 -0
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +251 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +16 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +17 -0
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +273 -40
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +17 -0
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +20 -0
- package/contracts/token/PrivateERC20/PrivateERC20.sol +861 -152
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +13 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +13 -0
- package/contracts/utils/mpc/MpcCore.sol +10891 -2449
- package/contracts/utils/mpc/MpcInterface.sol +7 -2
- package/hardhat/gasPriceBump.ts +60 -0
- package/hardhat.config.ts +60 -12
- package/package.json +21 -3
- package/scripts/deploySoulboundNodeNFT.ts +57 -0
- package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +327 -0
- package/test/token/PrivateERC20/PrivateERC20.test.ts +1109 -268
- package/test/utils/mpc/Bitwise128.test.ts +92 -0
- package/test/utils/mpc/Bitwise256.test.ts +101 -0
- package/test/utils/mpc/BuildInputText128.test.ts +398 -0
- package/test/utils/mpc/CheckedArithmetic128.test.ts +45 -0
- package/test/utils/mpc/CheckedArithmetic256.test.ts +45 -0
- package/test/utils/mpc/Comparison128.test.ts +48 -0
- package/test/utils/mpc/Comparison256.test.ts +48 -0
- package/test/utils/mpc/InvalidCiphertext.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext128.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext256.test.ts +201 -0
- package/test/utils/mpc/InvalidTransfer128.test.ts +166 -0
- package/test/utils/mpc/InvalidTransfer256.test.ts +158 -0
- package/test/utils/mpc/MinMax128.test.ts +44 -0
- package/test/utils/mpc/MinMax256.test.ts +44 -0
- package/test/utils/mpc/MinimalProxyDemo.test.ts +280 -0
- package/test/utils/mpc/MpcOperations.test.ts +589 -0
- package/test/utils/mpc/MpcOperations128.test.ts +632 -0
- package/test/utils/mpc/Mux128.test.ts +41 -0
- package/test/utils/mpc/Mux256.test.ts +41 -0
- package/test/utils/mpc/NegativeCases.test.ts +478 -0
- package/test/utils/mpc/NegativeCases128.test.ts +237 -0
- package/test/utils/mpc/NegativeCases256.test.ts +236 -0
- package/test/utils/mpc/OnBoard128.test.ts +90 -0
- package/test/utils/mpc/OnBoard256.test.ts +114 -0
- package/test/utils/mpc/Precompile128.test.ts +51 -0
- package/test/utils/mpc/Precompile256.test.ts +115 -0
- package/test/utils/mpc/ProxyValidation.test.ts +199 -0
- package/test/utils/mpc/Random128.test.ts +47 -0
- package/test/utils/mpc/Random256.test.ts +47 -0
- package/test/utils/mpc/Shift128.test.ts +41 -0
- package/test/utils/mpc/Shift256.test.ts +41 -0
- package/test/utils/mpc/Transfer128.test.ts +46 -0
- package/test/utils/mpc/Transfer256.test.ts +46 -0
- package/test/utils/mpc/TransferWithAllowance128.test.ts +48 -0
- package/test/utils/mpc/TransferWithAllowance256.test.ts +48 -0
- package/test/utils/mpc/UpgradeablePrivacyProxy.test.ts +307 -0
- package/test/utils/mpc/ValidateCiphertext.test.ts +221 -0
- package/test/utils/mpc/ValidateCiphertext256.test.ts +161 -0
- package/test/utils/mpc/ValidateCiphertext256Decryption.test.ts +383 -0
- package/test/utils/mpc/WalletEncryptionFailures.test.ts +494 -0
- package/test/utils/privateErc20Helpers.ts +97 -0
- package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -0
- package/typechain-types/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +206 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/contracts/disperse/disperseToken/TokenDisperser.ts +191 -0
- package/typechain-types/contracts/disperse/disperseToken/index.ts +6 -0
- package/typechain-types/contracts/disperse/index.ts +7 -0
- package/typechain-types/contracts/index.ts +2 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +77 -60
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +341 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +347 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.ts +186 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +186 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +260 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +260 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalImplementation.ts +259 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalProxy.ts +90 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +302 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +322 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperations128TestContract.ts +388 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperationsTestContract.ts +455 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard128TestsContract.ts +166 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard256TestsContract.ts +194 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV1.ts +385 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV2.ts +441 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyProxy.ts +201 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random128TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random256TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.ts +198 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.ts +182 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.ts +257 -0
- package/typechain-types/contracts/mocks/utils/mpc/index.ts +32 -0
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +77 -60
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +77 -60
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory.ts +100 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +185 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +198 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/index.ts +5 -0
- package/typechain-types/factories/contracts/index.ts +1 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +179 -47
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +349 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +364 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +182 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +182 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +255 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +255 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +263 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +104 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +332 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +380 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +723 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1410 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +175 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +205 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +521 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +648 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +179 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +190 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +210 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +260 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +32 -0
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +7 -7
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
- package/typechain-types/hardhat.d.ts +702 -0
- package/typechain-types/index.ts +78 -0
- package/contracts/mocks/utils/mpc/README.md +0 -486
- package/contracts/package.json +0 -11
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Interface, type ContractRunner } from "ethers";
|
|
6
|
+
import type {
|
|
7
|
+
IMintableERC20,
|
|
8
|
+
IMintableERC20Interface,
|
|
9
|
+
} from "../../../../../contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20";
|
|
10
|
+
|
|
11
|
+
const _abi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [
|
|
14
|
+
{
|
|
15
|
+
internalType: "address",
|
|
16
|
+
name: "to",
|
|
17
|
+
type: "address",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
internalType: "uint256",
|
|
21
|
+
name: "amount",
|
|
22
|
+
type: "uint256",
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
name: "mint",
|
|
26
|
+
outputs: [],
|
|
27
|
+
stateMutability: "nonpayable",
|
|
28
|
+
type: "function",
|
|
29
|
+
},
|
|
30
|
+
] as const;
|
|
31
|
+
|
|
32
|
+
export class IMintableERC20__factory {
|
|
33
|
+
static readonly abi = _abi;
|
|
34
|
+
static createInterface(): IMintableERC20Interface {
|
|
35
|
+
return new Interface(_abi) as IMintableERC20Interface;
|
|
36
|
+
}
|
|
37
|
+
static connect(
|
|
38
|
+
address: string,
|
|
39
|
+
runner?: ContractRunner | null
|
|
40
|
+
): IMintableERC20 {
|
|
41
|
+
return new Contract(address, _abi, runner) as unknown as IMintableERC20;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
Contract,
|
|
6
|
+
ContractFactory,
|
|
7
|
+
ContractTransactionResponse,
|
|
8
|
+
Interface,
|
|
9
|
+
} from "ethers";
|
|
10
|
+
import type {
|
|
11
|
+
Signer,
|
|
12
|
+
AddressLike,
|
|
13
|
+
ContractDeployTransaction,
|
|
14
|
+
ContractRunner,
|
|
15
|
+
} from "ethers";
|
|
16
|
+
import type { NonPayableOverrides } from "../../../../../common";
|
|
17
|
+
import type {
|
|
18
|
+
MintDisperser,
|
|
19
|
+
MintDisperserInterface,
|
|
20
|
+
} from "../../../../../contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser";
|
|
21
|
+
|
|
22
|
+
const _abi = [
|
|
23
|
+
{
|
|
24
|
+
inputs: [
|
|
25
|
+
{
|
|
26
|
+
internalType: "address",
|
|
27
|
+
name: "initialOwner",
|
|
28
|
+
type: "address",
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
stateMutability: "nonpayable",
|
|
32
|
+
type: "constructor",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
anonymous: false,
|
|
36
|
+
inputs: [
|
|
37
|
+
{
|
|
38
|
+
indexed: true,
|
|
39
|
+
internalType: "address",
|
|
40
|
+
name: "previousOwner",
|
|
41
|
+
type: "address",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
indexed: true,
|
|
45
|
+
internalType: "address",
|
|
46
|
+
name: "newOwner",
|
|
47
|
+
type: "address",
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
name: "OwnershipTransferred",
|
|
51
|
+
type: "event",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
inputs: [
|
|
55
|
+
{
|
|
56
|
+
internalType: "address",
|
|
57
|
+
name: "token",
|
|
58
|
+
type: "address",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
internalType: "address[]",
|
|
62
|
+
name: "recipients",
|
|
63
|
+
type: "address[]",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
internalType: "uint256[]",
|
|
67
|
+
name: "amounts",
|
|
68
|
+
type: "uint256[]",
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
name: "mint",
|
|
72
|
+
outputs: [],
|
|
73
|
+
stateMutability: "nonpayable",
|
|
74
|
+
type: "function",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
inputs: [
|
|
78
|
+
{
|
|
79
|
+
internalType: "address",
|
|
80
|
+
name: "token",
|
|
81
|
+
type: "address",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
internalType: "address[]",
|
|
85
|
+
name: "recipients",
|
|
86
|
+
type: "address[]",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
internalType: "uint256",
|
|
90
|
+
name: "amountPerRecipient",
|
|
91
|
+
type: "uint256",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
name: "mintSameAmount",
|
|
95
|
+
outputs: [],
|
|
96
|
+
stateMutability: "nonpayable",
|
|
97
|
+
type: "function",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
inputs: [],
|
|
101
|
+
name: "owner",
|
|
102
|
+
outputs: [
|
|
103
|
+
{
|
|
104
|
+
internalType: "address",
|
|
105
|
+
name: "",
|
|
106
|
+
type: "address",
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
stateMutability: "view",
|
|
110
|
+
type: "function",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
inputs: [],
|
|
114
|
+
name: "renounceOwnership",
|
|
115
|
+
outputs: [],
|
|
116
|
+
stateMutability: "nonpayable",
|
|
117
|
+
type: "function",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
inputs: [
|
|
121
|
+
{
|
|
122
|
+
internalType: "address",
|
|
123
|
+
name: "newOwner",
|
|
124
|
+
type: "address",
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
name: "transferOwnership",
|
|
128
|
+
outputs: [],
|
|
129
|
+
stateMutability: "nonpayable",
|
|
130
|
+
type: "function",
|
|
131
|
+
},
|
|
132
|
+
] as const;
|
|
133
|
+
|
|
134
|
+
const _bytecode =
|
|
135
|
+
"0x608060405234801561001057600080fd5b50604051610b66380380610b6683398101604081905261002f91610097565b61003833610047565b61004181610047565b506100c7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100a957600080fd5b81516001600160a01b03811681146100c057600080fd5b9392505050565b610a90806100d66000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80639b3418a9116100505780639b3418a9146100a2578063a3bf277e146100b5578063f2fde38b146100c857600080fd5b8063715018a61461006c5780638da5cb5b14610076575b600080fd5b6100746100db565b005b6000546040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100746100b03660046108f8565b6100ef565b6100746100c3366004610952565b6103a0565b6100746100d63660046109d3565b6106d6565b6100e361078d565b6100ed600061080e565b565b6100f761078d565b73ffffffffffffffffffffffffffffffffffffffff8416610179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f746f6b656e3d300000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600081116101e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f616d6f756e743d300000000000000000000000000000000000000000000000006044820152606401610170565b818061024b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6e6f20726563697069656e7473000000000000000000000000000000000000006044820152606401610170565b60005b8181101561039857600085858381811061026a5761026a6109f5565b905060200201602081019061027f91906109d3565b905073ffffffffffffffffffffffffffffffffffffffff81166102fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f726563697069656e743d300000000000000000000000000000000000000000006044820152606401610170565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152602482018690528816906340c10f1990604401600060405180830381600087803b15801561036e57600080fd5b505af1158015610382573d6000803e3d6000fd5b50505050508061039190610a24565b905061024e565b505050505050565b6103a861078d565b73ffffffffffffffffffffffffffffffffffffffff8516610425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f746f6b656e3d30000000000000000000000000000000000000000000000000006044820152606401610170565b828061048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6e6f20726563697069656e7473000000000000000000000000000000000000006044820152606401610170565b8082146104f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d6174636800000000000000000000000000000000006044820152606401610170565b60005b818110156106cd576000868683818110610515576105156109f5565b905060200201602081019061052a91906109d3565b90506000858584818110610540576105406109f5565b602002919091013591505073ffffffffffffffffffffffffffffffffffffffff82166105c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f726563697069656e743d300000000000000000000000000000000000000000006044820152606401610170565b60008111610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f616d6f756e743d300000000000000000000000000000000000000000000000006044820152606401610170565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528a16906340c10f1990604401600060405180830381600087803b1580156106a257600080fd5b505af11580156106b6573d6000803e3d6000fd5b505050505050806106c690610a24565b90506104f9565b50505050505050565b6106de61078d565b73ffffffffffffffffffffffffffffffffffffffff8116610781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610170565b61078a8161080e565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146100ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610170565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108a757600080fd5b919050565b60008083601f8401126108be57600080fd5b50813567ffffffffffffffff8111156108d657600080fd5b6020830191508360208260051b85010111156108f157600080fd5b9250929050565b6000806000806060858703121561090e57600080fd5b61091785610883565b9350602085013567ffffffffffffffff81111561093357600080fd5b61093f878288016108ac565b9598909750949560400135949350505050565b60008060008060006060868803121561096a57600080fd5b61097386610883565b9450602086013567ffffffffffffffff8082111561099057600080fd5b61099c89838a016108ac565b909650945060408801359150808211156109b557600080fd5b506109c2888289016108ac565b969995985093965092949392505050565b6000602082840312156109e557600080fd5b6109ee82610883565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a7c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c6343000813000a";
|
|
136
|
+
|
|
137
|
+
type MintDisperserConstructorParams =
|
|
138
|
+
| [signer?: Signer]
|
|
139
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
140
|
+
|
|
141
|
+
const isSuperArgs = (
|
|
142
|
+
xs: MintDisperserConstructorParams
|
|
143
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
144
|
+
|
|
145
|
+
export class MintDisperser__factory extends ContractFactory {
|
|
146
|
+
constructor(...args: MintDisperserConstructorParams) {
|
|
147
|
+
if (isSuperArgs(args)) {
|
|
148
|
+
super(...args);
|
|
149
|
+
} else {
|
|
150
|
+
super(_abi, _bytecode, args[0]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
override getDeployTransaction(
|
|
155
|
+
initialOwner: AddressLike,
|
|
156
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
157
|
+
): Promise<ContractDeployTransaction> {
|
|
158
|
+
return super.getDeployTransaction(initialOwner, overrides || {});
|
|
159
|
+
}
|
|
160
|
+
override deploy(
|
|
161
|
+
initialOwner: AddressLike,
|
|
162
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
163
|
+
) {
|
|
164
|
+
return super.deploy(initialOwner, overrides || {}) as Promise<
|
|
165
|
+
MintDisperser & {
|
|
166
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
167
|
+
}
|
|
168
|
+
>;
|
|
169
|
+
}
|
|
170
|
+
override connect(runner: ContractRunner | null): MintDisperser__factory {
|
|
171
|
+
return super.connect(runner) as MintDisperser__factory;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
static readonly bytecode = _bytecode;
|
|
175
|
+
static readonly abi = _abi;
|
|
176
|
+
static createInterface(): MintDisperserInterface {
|
|
177
|
+
return new Interface(_abi) as MintDisperserInterface;
|
|
178
|
+
}
|
|
179
|
+
static connect(
|
|
180
|
+
address: string,
|
|
181
|
+
runner?: ContractRunner | null
|
|
182
|
+
): MintDisperser {
|
|
183
|
+
return new Contract(address, _abi, runner) as unknown as MintDisperser;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
Contract,
|
|
6
|
+
ContractFactory,
|
|
7
|
+
ContractTransactionResponse,
|
|
8
|
+
Interface,
|
|
9
|
+
} from "ethers";
|
|
10
|
+
import type {
|
|
11
|
+
Signer,
|
|
12
|
+
AddressLike,
|
|
13
|
+
ContractDeployTransaction,
|
|
14
|
+
ContractRunner,
|
|
15
|
+
} from "ethers";
|
|
16
|
+
import type { NonPayableOverrides } from "../../../../common";
|
|
17
|
+
import type {
|
|
18
|
+
TokenDisperser,
|
|
19
|
+
TokenDisperserInterface,
|
|
20
|
+
} from "../../../../contracts/disperse/disperseToken/TokenDisperser";
|
|
21
|
+
|
|
22
|
+
const _abi = [
|
|
23
|
+
{
|
|
24
|
+
inputs: [
|
|
25
|
+
{
|
|
26
|
+
internalType: "address",
|
|
27
|
+
name: "token_",
|
|
28
|
+
type: "address",
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
stateMutability: "nonpayable",
|
|
32
|
+
type: "constructor",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [
|
|
36
|
+
{
|
|
37
|
+
internalType: "uint256",
|
|
38
|
+
name: "distributionId",
|
|
39
|
+
type: "uint256",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
internalType: "uint256",
|
|
43
|
+
name: "totalAmount",
|
|
44
|
+
type: "uint256",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
internalType: "address",
|
|
48
|
+
name: "sender",
|
|
49
|
+
type: "address",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
internalType: "address[]",
|
|
53
|
+
name: "recipients",
|
|
54
|
+
type: "address[]",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
internalType: "uint256[]",
|
|
58
|
+
name: "amounts",
|
|
59
|
+
type: "uint256[]",
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
name: "disperseFunds",
|
|
63
|
+
outputs: [],
|
|
64
|
+
stateMutability: "nonpayable",
|
|
65
|
+
type: "function",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
inputs: [
|
|
69
|
+
{
|
|
70
|
+
internalType: "uint256",
|
|
71
|
+
name: "distributionId",
|
|
72
|
+
type: "uint256",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
internalType: "uint256",
|
|
76
|
+
name: "totalAmount",
|
|
77
|
+
type: "uint256",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
internalType: "address[]",
|
|
81
|
+
name: "recipients",
|
|
82
|
+
type: "address[]",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
internalType: "uint256[]",
|
|
86
|
+
name: "amounts",
|
|
87
|
+
type: "uint256[]",
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
name: "disperseFundsFromContract",
|
|
91
|
+
outputs: [],
|
|
92
|
+
stateMutability: "nonpayable",
|
|
93
|
+
type: "function",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
inputs: [
|
|
97
|
+
{
|
|
98
|
+
internalType: "uint256",
|
|
99
|
+
name: "distributionId",
|
|
100
|
+
type: "uint256",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
internalType: "address[]",
|
|
104
|
+
name: "recipients",
|
|
105
|
+
type: "address[]",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
name: "fundsReceived",
|
|
109
|
+
outputs: [
|
|
110
|
+
{
|
|
111
|
+
internalType: "uint256[]",
|
|
112
|
+
name: "",
|
|
113
|
+
type: "uint256[]",
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
stateMutability: "view",
|
|
117
|
+
type: "function",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
inputs: [],
|
|
121
|
+
name: "owner",
|
|
122
|
+
outputs: [
|
|
123
|
+
{
|
|
124
|
+
internalType: "address",
|
|
125
|
+
name: "",
|
|
126
|
+
type: "address",
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
stateMutability: "view",
|
|
130
|
+
type: "function",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
inputs: [],
|
|
134
|
+
name: "token",
|
|
135
|
+
outputs: [
|
|
136
|
+
{
|
|
137
|
+
internalType: "contract IERC20",
|
|
138
|
+
name: "",
|
|
139
|
+
type: "address",
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
stateMutability: "view",
|
|
143
|
+
type: "function",
|
|
144
|
+
},
|
|
145
|
+
] as const;
|
|
146
|
+
|
|
147
|
+
const _bytecode =
|
|
148
|
+
"0x60c060405234801561001057600080fd5b5060405161115638038061115683398101604081905261002f91610044565b336080526001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a0516110a26100b46000396000818161010e015281816102ea015261070301526000818160c201528181610148015261056701526110a26000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806389f3fefe1161005057806389f3fefe146100aa5780638da5cb5b146100bd578063fc0c546a1461010957600080fd5b8063686792961461006c57806374a9ea7214610081575b600080fd5b61007f61007a366004610d3b565b610130565b005b61009461008f366004610dcf565b610454565b6040516100a19190610e1b565b60405180910390f35b61007f6100b8366004610e5f565b61054f565b6100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100e47f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43616c6c6572206973206e6f74206f776e65720000000000000000000000000060448201526064015b60405180910390fd5b6000805b848110156103e05760008981526020819052604081209087878481811061020157610201610ee2565b90506020020160208101906102169190610f11565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054156102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4475706c696361746520726563697069656e740000000000000000000000000060448201526064016101cb565b61032f878787848181106102ba576102ba610ee2565b90506020020160208101906102cf9190610f11565b8686858181106102e1576102e1610ee2565b905060200201357f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661086b909392919063ffffffff16565b83838281811061034157610341610ee2565b90506020020135826103539190610f62565b915083838281811061036757610367610ee2565b905060200201356000808b8152602001908152602001600020600088888581811061039457610394610ee2565b90506020020160208101906103a99190610f11565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020556103d981610f7b565b90506101d8565b5086811461044a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e636f727265637420616d6f756e740000000000000000000000000000000060448201526064016101cb565b5050505050505050565b606060008267ffffffffffffffff81111561047157610471610fb3565b60405190808252806020026020018201604052801561049a578160200160208202803683370190505b50905060005b83811015610546576000868152602081905260408120908686848181106104c9576104c9610ee2565b90506020020160208101906104de9190610f11565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482828151811061052b5761052b610ee2565b602090810291909101015261053f81610f7b565b90506104a0565b50949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43616c6c6572206973206e6f74206f776e65720000000000000000000000000060448201526064016101cb565b6000805b848110156107f85760008881526020819052604081209087878481811061061b5761061b610ee2565b90506020020160208101906106309190610f11565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054156106be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4475706c696361746520726563697069656e740000000000000000000000000060448201526064016101cb565b6107478686838181106106d3576106d3610ee2565b90506020020160208101906106e89190610f11565b8585848181106106fa576106fa610ee2565b905060200201357f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661094d9092919063ffffffff16565b83838281811061075957610759610ee2565b905060200201358261076b9190610f62565b915083838281811061077f5761077f610ee2565b905060200201356000808a815260200190815260200160002060008888858181106107ac576107ac610ee2565b90506020020160208101906107c19190610f11565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020556107f181610f7b565b90506105f2565b50858114610862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e636f727265637420616d6f756e740000000000000000000000000000000060448201526064016101cb565b50505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526109479085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526109a8565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526109a39084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016108c5565b505050565b6000610a0a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610ab79092919063ffffffff16565b9050805160001480610a2b575080806020019051810190610a2b9190610fe2565b6109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101cb565b6060610ac68484600085610ace565b949350505050565b606082471015610b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016101cb565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b899190611028565b60006040518083038185875af1925050503d8060008114610bc6576040519150601f19603f3d011682016040523d82523d6000602084013e610bcb565b606091505b5091509150610bdc87838387610be7565b979650505050505050565b60608315610c7d578251600003610c765773ffffffffffffffffffffffffffffffffffffffff85163b610c76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101cb565b5081610ac6565b610ac68383815115610c925781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cb9190611044565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cea57600080fd5b919050565b60008083601f840112610d0157600080fd5b50813567ffffffffffffffff811115610d1957600080fd5b6020830191508360208260051b8501011115610d3457600080fd5b9250929050565b600080600080600080600060a0888a031215610d5657600080fd5b8735965060208801359550610d6d60408901610cc6565b9450606088013567ffffffffffffffff80821115610d8a57600080fd5b610d968b838c01610cef565b909650945060808a0135915080821115610daf57600080fd5b50610dbc8a828b01610cef565b989b979a50959850939692959293505050565b600080600060408486031215610de457600080fd5b83359250602084013567ffffffffffffffff811115610e0257600080fd5b610e0e86828701610cef565b9497909650939450505050565b6020808252825182820181905260009190848201906040850190845b81811015610e5357835183529284019291840191600101610e37565b50909695505050505050565b60008060008060008060808789031215610e7857600080fd5b8635955060208701359450604087013567ffffffffffffffff80821115610e9e57600080fd5b610eaa8a838b01610cef565b90965094506060890135915080821115610ec357600080fd5b50610ed089828a01610cef565b979a9699509497509295939492505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610f2357600080fd5b610f2c82610cc6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f7557610f75610f33565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fac57610fac610f33565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215610ff457600080fd5b81518015158114610f2c57600080fd5b60005b8381101561101f578181015183820152602001611007565b50506000910152565b6000825161103a818460208701611004565b9190910192915050565b6020815260008251806020840152611063816040850160208701611004565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea164736f6c6343000813000a";
|
|
149
|
+
|
|
150
|
+
type TokenDisperserConstructorParams =
|
|
151
|
+
| [signer?: Signer]
|
|
152
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
153
|
+
|
|
154
|
+
const isSuperArgs = (
|
|
155
|
+
xs: TokenDisperserConstructorParams
|
|
156
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
157
|
+
|
|
158
|
+
export class TokenDisperser__factory extends ContractFactory {
|
|
159
|
+
constructor(...args: TokenDisperserConstructorParams) {
|
|
160
|
+
if (isSuperArgs(args)) {
|
|
161
|
+
super(...args);
|
|
162
|
+
} else {
|
|
163
|
+
super(_abi, _bytecode, args[0]);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
override getDeployTransaction(
|
|
168
|
+
token_: AddressLike,
|
|
169
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
170
|
+
): Promise<ContractDeployTransaction> {
|
|
171
|
+
return super.getDeployTransaction(token_, overrides || {});
|
|
172
|
+
}
|
|
173
|
+
override deploy(
|
|
174
|
+
token_: AddressLike,
|
|
175
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
176
|
+
) {
|
|
177
|
+
return super.deploy(token_, overrides || {}) as Promise<
|
|
178
|
+
TokenDisperser & {
|
|
179
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
180
|
+
}
|
|
181
|
+
>;
|
|
182
|
+
}
|
|
183
|
+
override connect(runner: ContractRunner | null): TokenDisperser__factory {
|
|
184
|
+
return super.connect(runner) as TokenDisperser__factory;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
static readonly bytecode = _bytecode;
|
|
188
|
+
static readonly abi = _abi;
|
|
189
|
+
static createInterface(): TokenDisperserInterface {
|
|
190
|
+
return new Interface(_abi) as TokenDisperserInterface;
|
|
191
|
+
}
|
|
192
|
+
static connect(
|
|
193
|
+
address: string,
|
|
194
|
+
runner?: ContractRunner | null
|
|
195
|
+
): TokenDisperser {
|
|
196
|
+
return new Contract(address, _abi, runner) as unknown as TokenDisperser;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
@@ -615,7 +615,7 @@ const _abi = [
|
|
|
615
615
|
] as const;
|
|
616
616
|
|
|
617
617
|
const _bytecode =
|
|
618
|
-
"0x608060405260016005553480156200001657600080fd5b506000805461ffff19166101011790556040516430b236b4b760d91b81526001908190819081906005019081526040805160209281900383018120805460ff1916941515949094179093556101408301815233835280518082018252600581526430b236b4b760d91b81840152828401526001838201526000606084018190526080840181905260a0840181905260c0840181905260e08401819052610100840181905281519283019091528152610120820152620000d59062000196565b506040805180820182526001808252601560f91b602083015291518291620000fd9162000592565b9081526040805160209281900383018120805460ff19169415159490941790935561014083018152600180845281518083018352818152601560f91b8185015283850152838201526000606084018190526080840181905260a0840181905260c0840181905260e084018190526101008401819052815192830190915281526101208201526200018d9062000196565b50505062000780565b80516001600160a01b03166000908152600460209081526040808320918401519051620001c4919062000592565b908152602001604051809103902054600003620003ff5760055482516001600160a01b031660009081526004602090815260409182902090850151915190916200020e9162000592565b908152602001604051809103902081905550604051806101600160405280600554815260200183600001516001600160a01b03168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e0015181526020018361010001516001600160a01b031681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201908162000313919062000668565b506060820151600382018054608085015160a086015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180546001600160a01b0319166001600160a01b039092169190911790556101408201516008820190620003b3908262000668565b50905050600560008154620003c8906200074a565b9091555081516001600160a01b031660009081526003602052604081208054909190620003f5906200074a565b909155506200058a565b81516001600160a01b031660009081526004602090815260408083209185015190516006928492909162000434919062000592565b90815260200160405180910390205481526020019081526020016000209050826040015180156200046a5750600381015460ff16155b156200049e5782516001600160a01b03166000908152600360205260408120805490919062000499906200074a565b909155505b8260400151158015620004b55750600381015460ff165b15620004e95782516001600160a01b031660009081526003602052604081208054909190620004e49062000766565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c087015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560e084015160068301558301516007820180546001600160a01b0319166001600160a01b03909216919091179055610120830151600882019062000587908262000668565b50505b506001919050565b6000825160005b81811015620005b5576020818601810151858301520162000599565b506000920191825250919050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005ee57607f821691505b6020821081036200060f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066357600081815260208120601f850160051c810160208610156200063e5750805b601f850160051c820191505b818110156200065f578281556001016200064a565b5050505b505050565b81516001600160401b03811115620006845762000684620005c3565b6200069c81620006958454620005d9565b8462000615565b602080601f831160018114620006d45760008415620006bb5750858301515b600019600386901b1c1916600185901b1785556200065f565b600085815260208120601f198616915b828110156200070557888601518255948401946001909101908401620006e4565b5085821015620007245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000600182016200075f576200075f62000734565b5060010190565b60008162000778576200077862000734565b506000190190565b6128aa80620007906000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063a7804d65116100d8578063f28b9f341161008c578063fa1b3cac11610066578063fa1b3cac146103be578063fac66f01146103eb578063fb83bb731461040b57600080fd5b8063f28b9f341461036b578063f55893641461037d578063f9529ee2146103ab57600080fd5b8063c6064b28116100bd578063c6064b28146102d3578063c8d757fd146102e6578063efdcec9c1461032257600080fd5b8063a7804d65146102a0578063ade0bee4146102c057600080fd5b8063661957011161013a5780639359c287116101145780639359c2871461026d578063a5fcf16214610280578063a74d34391461028d57600080fd5b80636619570114610231578063699d7c331461024757806382dab96e1461025a57600080fd5b8063372db0891161016b578063372db089146101f8578063476a95ad1461020b57806365c581521461021e57600080fd5b806326c500071461018757806334906a4a146101ba575b600080fd5b61019a610195366004611dda565b61041e565b6040516101b19b9a99989796959493929190611e61565b60405180910390f35b6101e86101c8366004611ff8565b805160208183018101805160018252928201919093012091525460ff1681565b60405190151581526020016101b1565b6101e861020636600461209f565b6105bb565b6101e8610219366004612109565b6105e6565b6101e861022c366004611ff8565b610695565b61023961079f565b6040519081526020016101b1565b6101e861025536600461212b565b6107b5565b6101e861026836600461217e565b6107df565b6101e861027b366004611ff8565b610d39565b6000546101e89060ff1681565b6101e861029b366004612288565b610dd6565b6102396102ae366004612309565b60036020526000908152604090205481565b6101e86102ce366004612109565b610e29565b6101e86102e1366004612324565b610ee2565b6102396102f4366004612389565b6004602090815260009283526040909220815180830184018051928152908401929093019190912091525481565b61035e6040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525081565b6040516101b191906123d7565b6000546101e890610100900460ff1681565b6101e861038b366004611ff8565b805160208183018101805160028252928201919093012091525460ff1681565b6101e86103b93660046123ea565b610f04565b6103c6600181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b6103fe6103f936600461242c565b610fed565b6040516101b1919061244e565b6101e86104193660046123ea565b61146d565b600660205260009081526040902080546001820154600283018054929373ffffffffffffffffffffffffffffffffffffffff9092169261045d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461048990612595565b80156104d65780601f106104ab576101008083540402835291602001916104d6565b820191906000526020600020905b8154815290600101906020018083116104b957829003601f168201915b5050505060038301546004840154600585015460068601546007870154600888018054979860ff8088169961010089048216995062010000909804169673ffffffffffffffffffffffffffffffffffffffff9093169290919061053890612595565b80601f016020809104026020016040519081016040528092919081815260200182805461056490612595565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505090508b565b60006105dd85858560018660006040518060200160405280600081525061150e565b95945050505050565b6000805482151560ff909116151503610660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e4745000060448201526064015b60405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600190565b60006002826040516106a791906125e8565b9081526040519081900360200190205460ff1615610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4450463a204f5045524154494f4e5f414c52454144595f52455354524943544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610657565b600160028360405161075991906125e8565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216919091179055506001919050565b600060016005546107b09190612633565b905090565b60006107d784848460008060006040518060200160405280600081525061150e565b949350505050565b805173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091840151905161081891906125e8565b908152602001604051809103902054600003610b1057600554825173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604091829020908501519151909161086c916125e8565b9081526020016040518091039020819055506040518061016001604052806005548152602001836000015173ffffffffffffffffffffffffffffffffffffffff168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e00151815260200183610100015173ffffffffffffffffffffffffffffffffffffffff1681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190816109a39190612695565b506060820151600382018054608085015160a08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101408201516008820190610abc9082612695565b50905050600560008154610acf906127af565b90915550815173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610b07906127af565b90915550610d31565b815173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091850151905160069284929091610b5091906125e8565b9081526020016040518091039020548152602001908152602001600020905082604001518015610b855750600381015460ff16155b15610bc357825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610bbe906127af565b909155505b8260400151158015610bd95750600381015460ff165b15610c1757825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610c12906127e7565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c08701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560e084015160068301558301516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101208301516008820190610d2e9082612695565b50505b506001919050565b6000600182604051610d4b91906125e8565b9081526040519081900360200190205460ff1615610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a204f5045524154494f4e5f414c52454144595f414c4c4f57454400006044820152606401610657565b6001808360405161075991906125e8565b6000610e1f868686600360008089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150e92505050565b9695505050505050565b6000811515600060019054906101000a900460ff16151503610ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e474500006044820152606401610657565b5060008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055600190565b60006105dd85858560026000876040518060200160405280600081525061150e565b600060018383604051610f1892919061281c565b9081526040519081900360200190205460ff16610f91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4450463a204f5045524154494f4e5f4e4f545f414c4c4f5745440000000000006044820152606401610657565b600060018484604051610fa592919061281c565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009092169190911790555060015b92915050565b606060008311611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4450463a2053544152545f4944585f5a45524f000000000000000000000000006044820152606401610657565b600082116110c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450463a204348554e4b5f53495a455f5a45524f0000000000000000000000006044820152606401610657565b600554831061115557604080516000808252602082019092529061114d565b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816110e25790505b509050610fe7565b600060016005546111669190612633565b6001611172858761282c565b61117c9190612633565b111561119557836005546111909190612633565b611197565b825b905060008167ffffffffffffffff8111156111b4576111b4611ef4565b60405190808252806020026020018201604052801561123d57816020015b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816111d25790505b50905060005b828110156114645760066000611259838961282c565b8152602080820192909252604090810160002081516101608101835281548152600182015473ffffffffffffffffffffffffffffffffffffffff169381019390935260028101805491928401916112af90612595565b80601f01602080910402602001604051908101604052809291908181526020018280546112db90612595565b80156113285780601f106112fd57610100808354040283529160200191611328565b820191906000526020600020905b81548152906001019060200180831161130b57829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e08301526008830180549190920191906113b290612595565b80601f01602080910402602001604051908101604052809291908181526020018280546113de90612595565b801561142b5780601f106114005761010080835404028352916020019161142b565b820191906000526020600020905b81548152906001019060200180831161140e57829003601f168201915b5050505050815250508282815181106114465761144661283f565b6020026020010181905250808061145c906127af565b915050611243565b50949350505050565b60006002838360405161148192919061281c565b9081526040519081900360200190205460ff166114fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4450463a204f5045524154494f4e5f4e4f545f524553545249435445440000006044820152606401610657565b600060028484604051610fa592919061281c565b60006002878760405161152292919061281c565b9081526040519081900360200190205460ff161561154257506000611bc9565b60408051808201825260018082527f2a000000000000000000000000000000000000000000000000000000000000006020830152915161158291906125e8565b9081526040519081900360200190205460ff161580156115c45750600187876040516115af92919061281c565b9081526040519081900360200190205460ff16155b156115d157506000611bc9565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600460205260408082209051600692919061160b908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156118a25773ffffffffffffffffffffffffffffffffffffffff8816600090815260046020526040808220905161189b926006929091611674908c908c9061281c565b908152602001604051809103902054815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461170d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461173990612595565b80156117865780601f1061175b57610100808354040283529160200191611786565b820191906000526020600020905b81548152906001019060200180831161176957829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e083015260088301805491909201919061181090612595565b80601f016020809104026020016040519081016040528092919081815260200182805461183c90612595565b80156118895780601f1061185e57610100808354040283529160200191611889565b820191906000526020600020905b81548152906001019060200180831161186c57829003601f168201915b50505050508152505086868686611bd4565b9050611bc9565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260046020908152604080832081518083018352600181527f2a000000000000000000000000000000000000000000000000000000000000009381019390935290516006939261190c916125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156119c05761189b60066000600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525060405161167491906125e8565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260036020526040902054156119fc5750600054610100900460ff16611bc9565b600160009081526004602052604051600691907fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611a3e908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611aae5760016000908152600460205260405161189b916006917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611674908c908c9061281c565b60016000818152600460209081526040805180820182529384527f2a0000000000000000000000000000000000000000000000000000000000000091840191909152516006927fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611b2091906125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611bc15760016000818152600460209081526040805180820182529384527f2a00000000000000000000000000000000000000000000000000000000000000918401919091525161189b92600692917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611674916125e8565b5060005460ff165b979650505050505050565b6000856080015115611be8575060006105dd565b8560a0015115611bfa575060016105dd565b60008660c00151118015611c115750428660c00151105b15611c1e575060006105dd565b60008660e00151118015611c355750428660e00151115b15611c42575060006105dd565b6001856003811115611c5657611c5661286e565b148015611c67575061010086015115155b8015611c7857508386610100015114155b15611c85575060006105dd565b6002856003811115611c9957611c9961286e565b148015611cc0575061012086015173ffffffffffffffffffffffffffffffffffffffff1615155b8015611cfd57508273ffffffffffffffffffffffffffffffffffffffff1686610120015173ffffffffffffffffffffffffffffffffffffffff1614155b15611d0a575060006105dd565b6003856003811115611d1e57611d1e61286e565b148015611d645750604080516000815260208101808352815190206101408901519092611d4b92016125e8565b6040516020818303038152906040528051906020012014155b8015611dc1575081604051602001611d7c91906125e8565b60405160208183030381529060405280519060200120866101400151604051602001611da891906125e8565b6040516020818303038152906040528051906020012014155b15611dce575060006105dd565b50600195945050505050565b600060208284031215611dec57600080fd5b5035919050565b60005b83811015611e0e578181015183820152602001611df6565b50506000910152565b60008151808452611e2f816020860160208601611df3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101608d835273ffffffffffffffffffffffffffffffffffffffff808e166020850152816040850152611e988285018e611e17565b91508b151560608501528a1515608085015289151560a08501528860c08501528760e08501528661010085015280861661012085015250828103610140840152611ee28185611e17565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715611f4757611f47611ef4565b60405290565b600082601f830112611f5e57600080fd5b813567ffffffffffffffff80821115611f7957611f79611ef4565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611fbf57611fbf611ef4565b81604052838152866020858801011115611fd857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561200a57600080fd5b813567ffffffffffffffff81111561202157600080fd5b6107d784828501611f4d565b803573ffffffffffffffffffffffffffffffffffffffff8116811461205157600080fd5b919050565b60008083601f84011261206857600080fd5b50813567ffffffffffffffff81111561208057600080fd5b60208301915083602082850101111561209857600080fd5b9250929050565b600080600080606085870312156120b557600080fd5b6120be8561202d565b9350602085013567ffffffffffffffff8111156120da57600080fd5b6120e687828801612056565b9598909750949560400135949350505050565b8035801515811461205157600080fd5b60006020828403121561211b57600080fd5b612124826120f9565b9392505050565b60008060006040848603121561214057600080fd5b6121498461202d565b9250602084013567ffffffffffffffff81111561216557600080fd5b61217186828701612056565b9497909650939450505050565b60006020828403121561219057600080fd5b813567ffffffffffffffff808211156121a857600080fd5b9083019061014082860312156121bd57600080fd5b6121c5611f23565b6121ce8361202d565b81526020830135828111156121e257600080fd5b6121ee87828601611f4d565b602083015250612200604084016120f9565b6040820152606083013560608201526080830135608082015261222560a084016120f9565b60a082015261223660c084016120f9565b60c082015260e083013560e082015261010061225381850161202d565b90820152610120838101358381111561226b57600080fd5b61227788828701611f4d565b918301919091525095945050505050565b6000806000806000606086880312156122a057600080fd5b6122a98661202d565b9450602086013567ffffffffffffffff808211156122c657600080fd5b6122d289838a01612056565b909650945060408801359150808211156122eb57600080fd5b506122f888828901612056565b969995985093965092949392505050565b60006020828403121561231b57600080fd5b6121248261202d565b6000806000806060858703121561233a57600080fd5b6123438561202d565b9350602085013567ffffffffffffffff81111561235f57600080fd5b61236b87828801612056565b909450925061237e90506040860161202d565b905092959194509250565b6000806040838503121561239c57600080fd5b6123a58361202d565b9150602083013567ffffffffffffffff8111156123c157600080fd5b6123cd85828601611f4d565b9150509250929050565b6020815260006121246020830184611e17565b600080602083850312156123fd57600080fd5b823567ffffffffffffffff81111561241457600080fd5b61242085828601612056565b90969095509350505050565b6000806040838503121561243f57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612587577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403018552815161016081518552888201516124d28a87018273ffffffffffffffffffffffffffffffffffffffff169052565b508782015181898701526124e882870182611e17565b9150506060808301516124fe8288018215159052565b505060808281015115159086015260a08083015115159086015260c0808301519086015260e0808301519086015261010080830151908601526101208083015173ffffffffffffffffffffffffffffffffffffffff169086015261014091820151858203928601929092526125738183611e17565b968901969450505090860190600101612475565b509098975050505050505050565b600181811c908216806125a957607f821691505b6020821081036125e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082516125fa818460208701611df3565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610fe757610fe7612604565b601f82111561269057600081815260208120601f850160051c8101602086101561266d5750805b601f850160051c820191505b8181101561268c57828155600101612679565b5050505b505050565b815167ffffffffffffffff8111156126af576126af611ef4565b6126c3816126bd8454612595565b84612646565b602080601f83116001811461271657600084156126e05750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561268c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561276357888601518255948401946001909101908401612744565b508582101561279f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127e0576127e0612604565b5060010190565b6000816127f6576127f6612604565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8183823760009101908152919050565b80820180821115610fe757610fe7612604565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c6343000813000a";
|
|
618
|
+
"0x608060405260016005553480156200001657600080fd5b506000805461ffff19166101011790556040516430b236b4b760d91b81526001908190819081906005019081526040805160209281900383018120805460ff1916941515949094179093556101408301815233835280518082018252600581526430b236b4b760d91b81840152828401526001838201526000606084018190526080840181905260a0840181905260c0840181905260e08401819052610100840181905281519283019091528152610120820152620000d59062000196565b506040805180820182526001808252601560f91b602083015291518291620000fd9162000592565b9081526040805160209281900383018120805460ff19169415159490941790935561014083018152600180845281518083018352818152601560f91b8185015283850152838201526000606084018190526080840181905260a0840181905260c0840181905260e084018190526101008401819052815192830190915281526101208201526200018d9062000196565b50505062000780565b80516001600160a01b03166000908152600460209081526040808320918401519051620001c4919062000592565b908152602001604051809103902054600003620003ff5760055482516001600160a01b031660009081526004602090815260409182902090850151915190916200020e9162000592565b908152602001604051809103902081905550604051806101600160405280600554815260200183600001516001600160a01b03168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e0015181526020018361010001516001600160a01b031681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201908162000313919062000668565b506060820151600382018054608085015160a086015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180546001600160a01b0319166001600160a01b039092169190911790556101408201516008820190620003b3908262000668565b50905050600560008154620003c8906200074a565b9091555081516001600160a01b031660009081526003602052604081208054909190620003f5906200074a565b909155506200058a565b81516001600160a01b031660009081526004602090815260408083209185015190516006928492909162000434919062000592565b90815260200160405180910390205481526020019081526020016000209050826040015180156200046a5750600381015460ff16155b156200049e5782516001600160a01b03166000908152600360205260408120805490919062000499906200074a565b909155505b8260400151158015620004b55750600381015460ff165b15620004e95782516001600160a01b031660009081526003602052604081208054909190620004e49062000766565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c087015161ffff1990921693151561ff0019169390931761010093151584021762ff00001916620100009115159190910217905560e084015160068301558301516007820180546001600160a01b0319166001600160a01b03909216919091179055610120830151600882019062000587908262000668565b50505b506001919050565b6000825160005b81811015620005b5576020818601810151858301520162000599565b506000920191825250919050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005ee57607f821691505b6020821081036200060f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066357600081815260208120601f850160051c810160208610156200063e5750805b601f850160051c820191505b818110156200065f578281556001016200064a565b5050505b505050565b81516001600160401b03811115620006845762000684620005c3565b6200069c81620006958454620005d9565b8462000615565b602080601f831160018114620006d45760008415620006bb5750858301515b600019600386901b1c1916600185901b1785556200065f565b600085815260208120601f198616915b828110156200070557888601518255948401946001909101908401620006e4565b5085821015620007245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b6000600182016200075f576200075f62000734565b5060010190565b60008162000778576200077862000734565b506000190190565b6128aa80620007906000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c8063a7804d65116100d8578063f28b9f341161008c578063fa1b3cac11610066578063fa1b3cac146103be578063fac66f01146103eb578063fb83bb731461040b57600080fd5b8063f28b9f341461036b578063f55893641461037d578063f9529ee2146103ab57600080fd5b8063c6064b28116100bd578063c6064b28146102d3578063c8d757fd146102e6578063efdcec9c1461032257600080fd5b8063a7804d65146102a0578063ade0bee4146102c057600080fd5b8063661957011161013a5780639359c287116101145780639359c2871461026d578063a5fcf16214610280578063a74d34391461028d57600080fd5b80636619570114610231578063699d7c331461024757806382dab96e1461025a57600080fd5b8063372db0891161016b578063372db089146101f8578063476a95ad1461020b57806365c581521461021e57600080fd5b806326c500071461018757806334906a4a146101ba575b600080fd5b61019a610195366004611dda565b61041e565b6040516101b19b9a99989796959493929190611e61565b60405180910390f35b6101e86101c8366004611ff8565b805160208183018101805160018252928201919093012091525460ff1681565b60405190151581526020016101b1565b6101e861020636600461209f565b6105bb565b6101e8610219366004612109565b6105e6565b6101e861022c366004611ff8565b610695565b61023961079f565b6040519081526020016101b1565b6101e861025536600461212b565b6107b5565b6101e861026836600461217e565b6107df565b6101e861027b366004611ff8565b610d39565b6000546101e89060ff1681565b6101e861029b366004612288565b610dd6565b6102396102ae366004612309565b60036020526000908152604090205481565b6101e86102ce366004612109565b610e29565b6101e86102e1366004612324565b610ee2565b6102396102f4366004612389565b6004602090815260009283526040909220815180830184018051928152908401929093019190912091525481565b61035e6040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525081565b6040516101b191906123d7565b6000546101e890610100900460ff1681565b6101e861038b366004611ff8565b805160208183018101805160028252928201919093012091525460ff1681565b6101e86103b93660046123ea565b610f04565b6103c6600181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b6103fe6103f936600461242c565b610fed565b6040516101b1919061244e565b6101e86104193660046123ea565b61146d565b600660205260009081526040902080546001820154600283018054929373ffffffffffffffffffffffffffffffffffffffff9092169261045d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461048990612595565b80156104d65780601f106104ab576101008083540402835291602001916104d6565b820191906000526020600020905b8154815290600101906020018083116104b957829003601f168201915b5050505060038301546004840154600585015460068601546007870154600888018054979860ff8088169961010089048216995062010000909804169673ffffffffffffffffffffffffffffffffffffffff9093169290919061053890612595565b80601f016020809104026020016040519081016040528092919081815260200182805461056490612595565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b505050505090508b565b60006105dd85858560018660006040518060200160405280600081525061150e565b95945050505050565b6000805482151560ff909116151503610660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e4745000060448201526064015b60405180910390fd5b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600190565b60006002826040516106a791906125e8565b9081526040519081900360200190205460ff1615610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4450463a204f5045524154494f4e5f414c52454144595f52455354524943544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610657565b600160028360405161075991906125e8565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216919091179055506001919050565b600060016005546107b09190612633565b905090565b60006107d784848460008060006040518060200160405280600081525061150e565b949350505050565b805173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091840151905161081891906125e8565b908152602001604051809103902054600003610b1057600554825173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604091829020908501519151909161086c916125e8565b9081526020016040518091039020819055506040518061016001604052806005548152602001836000015173ffffffffffffffffffffffffffffffffffffffff168152602001836020015181526020018360400151151581526020018360a00151151581526020018360c001511515815260200183606001518152602001836080015181526020018360e00151815260200183610100015173ffffffffffffffffffffffffffffffffffffffff1681526020018361012001518152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190816109a39190612695565b506060820151600382018054608085015160a08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560c0830151600483015560e0830151600583015582015160068201556101208201516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101408201516008820190610abc9082612695565b50905050600560008154610acf906127af565b90915550815173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610b07906127af565b90915550610d31565b815173ffffffffffffffffffffffffffffffffffffffff16600090815260046020908152604080832091850151905160069284929091610b5091906125e8565b9081526020016040518091039020548152602001908152602001600020905082604001518015610b855750600381015460ff16155b15610bc357825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610bbe906127af565b909155505b8260400151158015610bd95750600381015460ff165b15610c1757825173ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604081208054909190610c12906127e7565b909155505b6040830151600382018054606086015160048501556080860151600585015560a086015160c08701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16939093176101009315158402177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100009115159190910217905560e084015160068301558301516007820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556101208301516008820190610d2e9082612695565b50505b506001919050565b6000600182604051610d4b91906125e8565b9081526040519081900360200190205460ff1615610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a204f5045524154494f4e5f414c52454144595f414c4c4f57454400006044820152606401610657565b6001808360405161075991906125e8565b6000610e1f868686600360008089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061150e92505050565b9695505050505050565b6000811515600060019054906101000a900460ff16151503610ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4450463a20494e56414c49445f5045524d495353494f4e5f4348414e474500006044820152606401610657565b5060008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055600190565b60006105dd85858560026000876040518060200160405280600081525061150e565b600060018383604051610f1892919061281c565b9081526040519081900360200190205460ff16610f91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4450463a204f5045524154494f4e5f4e4f545f414c4c4f5745440000000000006044820152606401610657565b600060018484604051610fa592919061281c565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009092169190911790555060015b92915050565b606060008311611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4450463a2053544152545f4944585f5a45524f000000000000000000000000006044820152606401610657565b600082116110c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4450463a204348554e4b5f53495a455f5a45524f0000000000000000000000006044820152606401610657565b600554831061115557604080516000808252602082019092529061114d565b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816110e25790505b509050610fe7565b600060016005546111669190612633565b6001611172858761282c565b61117c9190612633565b111561119557836005546111909190612633565b611197565b825b905060008167ffffffffffffffff8111156111b4576111b4611ef4565b60405190808252806020026020018201604052801561123d57816020015b604080516101608101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526101408101919091528152602001906001900390816111d25790505b50905060005b828110156114645760066000611259838961282c565b8152602080820192909252604090810160002081516101608101835281548152600182015473ffffffffffffffffffffffffffffffffffffffff169381019390935260028101805491928401916112af90612595565b80601f01602080910402602001604051908101604052809291908181526020018280546112db90612595565b80156113285780601f106112fd57610100808354040283529160200191611328565b820191906000526020600020905b81548152906001019060200180831161130b57829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e08301526008830180549190920191906113b290612595565b80601f01602080910402602001604051908101604052809291908181526020018280546113de90612595565b801561142b5780601f106114005761010080835404028352916020019161142b565b820191906000526020600020905b81548152906001019060200180831161140e57829003601f168201915b5050505050815250508282815181106114465761144661283f565b6020026020010181905250808061145c906127af565b915050611243565b50949350505050565b60006002838360405161148192919061281c565b9081526040519081900360200190205460ff166114fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4450463a204f5045524154494f4e5f4e4f545f524553545249435445440000006044820152606401610657565b600060028484604051610fa592919061281c565b60006002878760405161152292919061281c565b9081526040519081900360200190205460ff161561154257506000611bc9565b60408051808201825260018082527f2a000000000000000000000000000000000000000000000000000000000000006020830152915161158291906125e8565b9081526040519081900360200190205460ff161580156115c45750600187876040516115af92919061281c565b9081526040519081900360200190205460ff16155b156115d157506000611bc9565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600460205260408082209051600692919061160b908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156118a25773ffffffffffffffffffffffffffffffffffffffff8816600090815260046020526040808220905161189b926006929091611674908c908c9061281c565b908152602001604051809103902054815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461170d90612595565b80601f016020809104026020016040519081016040528092919081815260200182805461173990612595565b80156117865780601f1061175b57610100808354040283529160200191611786565b820191906000526020600020905b81548152906001019060200180831161176957829003601f168201915b5050509183525050600382015460ff8082161515602084015261010080830482161515604085015262010000909204161515606083015260048301546080830152600583015460a0830152600683015460c0830152600783015473ffffffffffffffffffffffffffffffffffffffff1660e083015260088301805491909201919061181090612595565b80601f016020809104026020016040519081016040528092919081815260200182805461183c90612595565b80156118895780601f1061185e57610100808354040283529160200191611889565b820191906000526020600020905b81548152906001019060200180831161186c57829003601f168201915b50505050508152505086868686611bd4565b9050611bc9565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260046020908152604080832081518083018352600181527f2a000000000000000000000000000000000000000000000000000000000000009381019390935290516006939261190c916125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff16156119c05761189b60066000600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280600181526020017f2a0000000000000000000000000000000000000000000000000000000000000081525060405161167491906125e8565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260036020526040902054156119fc5750600054610100900460ff16611bc9565b600160009081526004602052604051600691907fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611a3e908b908b9061281c565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611aae5760016000908152600460205260405161189b916006917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0590611674908c908c9061281c565b60016000818152600460209081526040805180820182529384527f2a0000000000000000000000000000000000000000000000000000000000000091840191909152516006927fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611b2091906125e8565b908152604080516020928190038301902054835290820192909252016000206003015460ff1615611bc15760016000818152600460209081526040805180820182529384527f2a00000000000000000000000000000000000000000000000000000000000000918401919091525161189b92600692917fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0591611674916125e8565b5060005460ff165b979650505050505050565b6000856080015115611be8575060006105dd565b8560a0015115611bfa575060016105dd565b60008660c00151118015611c115750428660c00151105b15611c1e575060006105dd565b60008660e00151118015611c355750428660e00151115b15611c42575060006105dd565b6001856003811115611c5657611c5661286e565b148015611c67575061010086015115155b8015611c7857508386610100015114155b15611c85575060006105dd565b6002856003811115611c9957611c9961286e565b148015611cc0575061012086015173ffffffffffffffffffffffffffffffffffffffff1615155b8015611cfd57508273ffffffffffffffffffffffffffffffffffffffff1686610120015173ffffffffffffffffffffffffffffffffffffffff1614155b15611d0a575060006105dd565b6003856003811115611d1e57611d1e61286e565b148015611d645750604080516000815260208101808352815190206101408901519092611d4b92016125e8565b6040516020818303038152906040528051906020012014155b8015611dc1575081604051602001611d7c91906125e8565b60405160208183030381529060405280519060200120866101400151604051602001611da891906125e8565b6040516020818303038152906040528051906020012014155b15611dce575060006105dd565b50600195945050505050565b600060208284031215611dec57600080fd5b5035919050565b60005b83811015611e0e578181015183820152602001611df6565b50506000910152565b60008151808452611e2f816020860160208601611df3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101608d835273ffffffffffffffffffffffffffffffffffffffff808e166020850152816040850152611e988285018e611e17565b91508b151560608501528a1515608085015289151560a08501528860c08501528760e08501528661010085015280861661012085015250828103610140840152611ee28185611e17565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715611f4757611f47611ef4565b60405290565b600082601f830112611f5e57600080fd5b813567ffffffffffffffff80821115611f7957611f79611ef4565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611fbf57611fbf611ef4565b81604052838152866020858801011115611fd857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561200a57600080fd5b813567ffffffffffffffff81111561202157600080fd5b6107d784828501611f4d565b803573ffffffffffffffffffffffffffffffffffffffff8116811461205157600080fd5b919050565b60008083601f84011261206857600080fd5b50813567ffffffffffffffff81111561208057600080fd5b60208301915083602082850101111561209857600080fd5b9250929050565b600080600080606085870312156120b557600080fd5b6120be8561202d565b9350602085013567ffffffffffffffff8111156120da57600080fd5b6120e687828801612056565b9598909750949560400135949350505050565b8035801515811461205157600080fd5b60006020828403121561211b57600080fd5b612124826120f9565b9392505050565b60008060006040848603121561214057600080fd5b6121498461202d565b9250602084013567ffffffffffffffff81111561216557600080fd5b61217186828701612056565b9497909650939450505050565b60006020828403121561219057600080fd5b813567ffffffffffffffff808211156121a857600080fd5b9083019061014082860312156121bd57600080fd5b6121c5611f23565b6121ce8361202d565b81526020830135828111156121e257600080fd5b6121ee87828601611f4d565b602083015250612200604084016120f9565b6040820152606083013560608201526080830135608082015261222560a084016120f9565b60a082015261223660c084016120f9565b60c082015260e083013560e082015261010061225381850161202d565b90820152610120838101358381111561226b57600080fd5b61227788828701611f4d565b918301919091525095945050505050565b6000806000806000606086880312156122a057600080fd5b6122a98661202d565b9450602086013567ffffffffffffffff808211156122c657600080fd5b6122d289838a01612056565b909650945060408801359150808211156122eb57600080fd5b506122f888828901612056565b969995985093965092949392505050565b60006020828403121561231b57600080fd5b6121248261202d565b6000806000806060858703121561233a57600080fd5b6123438561202d565b9350602085013567ffffffffffffffff81111561235f57600080fd5b61236b87828801612056565b909450925061237e90506040860161202d565b905092959194509250565b6000806040838503121561239c57600080fd5b6123a58361202d565b9150602083013567ffffffffffffffff8111156123c157600080fd5b6123cd85828601611f4d565b9150509250929050565b6020815260006121246020830184611e17565b600080602083850312156123fd57600080fd5b823567ffffffffffffffff81111561241457600080fd5b61242085828601612056565b90969095509350505050565b6000806040838503121561243f57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612587577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403018552815161016081518552888201516124d28a87018273ffffffffffffffffffffffffffffffffffffffff169052565b508782015181898701526124e882870182611e17565b9150506060808301516124fe8288018215159052565b505060808281015115159086015260a08083015115159086015260c0808301519086015260e0808301519086015261010080830151908601526101208083015173ffffffffffffffffffffffffffffffffffffffff169086015261014091820151858203928601929092526125738183611e17565b968901969450505090860190600101612475565b509098975050505050505050565b600181811c908216806125a957607f821691505b6020821081036125e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082516125fa818460208701611df3565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610fe757610fe7612604565b601f82111561269057600081815260208120601f850160051c8101602086101561266d5750805b601f850160051c820191505b8181101561268c57828155600101612679565b5050505b505050565b815167ffffffffffffffff8111156126af576126af611ef4565b6126c3816126bd8454612595565b84612646565b602080601f83116001811461271657600084156126e05750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561268c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561276357888601518255948401946001909101908401612744565b508582101561279f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127e0576127e0612604565b5060010190565b6000816127f6576127f6612604565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8183823760009101908152919050565b80820180821115610fe757610fe7612604565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c6343000814000a";
|
|
619
619
|
|
|
620
620
|
type DataPrivacyFrameworkMockConstructorParams =
|
|
621
621
|
| [signer?: Signer]
|