@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,380 @@
|
|
|
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 { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
|
|
11
|
+
import type { NonPayableOverrides } from "../../../../../common";
|
|
12
|
+
import type {
|
|
13
|
+
Miscellaneous256BitTestsContract,
|
|
14
|
+
Miscellaneous256BitTestsContractInterface,
|
|
15
|
+
} from "../../../../../contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract";
|
|
16
|
+
|
|
17
|
+
const _abi = [
|
|
18
|
+
{
|
|
19
|
+
inputs: [
|
|
20
|
+
{
|
|
21
|
+
internalType: "uint256",
|
|
22
|
+
name: "",
|
|
23
|
+
type: "uint256",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
name: "a2",
|
|
27
|
+
outputs: [
|
|
28
|
+
{
|
|
29
|
+
internalType: "uint256",
|
|
30
|
+
name: "",
|
|
31
|
+
type: "uint256",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
stateMutability: "view",
|
|
35
|
+
type: "function",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
inputs: [
|
|
39
|
+
{
|
|
40
|
+
internalType: "uint256",
|
|
41
|
+
name: "",
|
|
42
|
+
type: "uint256",
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
name: "allowance2",
|
|
46
|
+
outputs: [
|
|
47
|
+
{
|
|
48
|
+
internalType: "uint256",
|
|
49
|
+
name: "",
|
|
50
|
+
type: "uint256",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
stateMutability: "view",
|
|
54
|
+
type: "function",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
inputs: [
|
|
58
|
+
{
|
|
59
|
+
internalType: "uint256",
|
|
60
|
+
name: "",
|
|
61
|
+
type: "uint256",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
name: "b2",
|
|
65
|
+
outputs: [
|
|
66
|
+
{
|
|
67
|
+
internalType: "uint256",
|
|
68
|
+
name: "",
|
|
69
|
+
type: "uint256",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
stateMutability: "view",
|
|
73
|
+
type: "function",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
inputs: [
|
|
77
|
+
{
|
|
78
|
+
internalType: "uint256",
|
|
79
|
+
name: "",
|
|
80
|
+
type: "uint256",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
name: "ctNumbers2",
|
|
84
|
+
outputs: [
|
|
85
|
+
{
|
|
86
|
+
components: [
|
|
87
|
+
{
|
|
88
|
+
internalType: "ctUint64",
|
|
89
|
+
name: "high",
|
|
90
|
+
type: "uint256",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
internalType: "ctUint64",
|
|
94
|
+
name: "low",
|
|
95
|
+
type: "uint256",
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
internalType: "struct ctUint128",
|
|
99
|
+
name: "high",
|
|
100
|
+
type: "tuple",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
components: [
|
|
104
|
+
{
|
|
105
|
+
internalType: "ctUint64",
|
|
106
|
+
name: "high",
|
|
107
|
+
type: "uint256",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
internalType: "ctUint64",
|
|
111
|
+
name: "low",
|
|
112
|
+
type: "uint256",
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
internalType: "struct ctUint128",
|
|
116
|
+
name: "low",
|
|
117
|
+
type: "tuple",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
stateMutability: "view",
|
|
121
|
+
type: "function",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
inputs: [
|
|
125
|
+
{
|
|
126
|
+
internalType: "uint256",
|
|
127
|
+
name: "",
|
|
128
|
+
type: "uint256",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
name: "numbers2",
|
|
132
|
+
outputs: [
|
|
133
|
+
{
|
|
134
|
+
internalType: "uint256",
|
|
135
|
+
name: "",
|
|
136
|
+
type: "uint256",
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
stateMutability: "view",
|
|
140
|
+
type: "function",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
inputs: [
|
|
144
|
+
{
|
|
145
|
+
internalType: "uint256[]",
|
|
146
|
+
name: "a_",
|
|
147
|
+
type: "uint256[]",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
name: "offBoardToUserTest",
|
|
151
|
+
outputs: [],
|
|
152
|
+
stateMutability: "nonpayable",
|
|
153
|
+
type: "function",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
inputs: [
|
|
157
|
+
{
|
|
158
|
+
internalType: "uint8[]",
|
|
159
|
+
name: "numBits",
|
|
160
|
+
type: "uint8[]",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
name: "randBoundedBitsTest2",
|
|
164
|
+
outputs: [],
|
|
165
|
+
stateMutability: "nonpayable",
|
|
166
|
+
type: "function",
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
inputs: [
|
|
170
|
+
{
|
|
171
|
+
internalType: "uint256",
|
|
172
|
+
name: "length",
|
|
173
|
+
type: "uint256",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
name: "randTest2",
|
|
177
|
+
outputs: [],
|
|
178
|
+
stateMutability: "nonpayable",
|
|
179
|
+
type: "function",
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
inputs: [
|
|
183
|
+
{
|
|
184
|
+
internalType: "uint256[]",
|
|
185
|
+
name: "a_",
|
|
186
|
+
type: "uint256[]",
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
name: "setPublicTest",
|
|
190
|
+
outputs: [],
|
|
191
|
+
stateMutability: "nonpayable",
|
|
192
|
+
type: "function",
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
inputs: [
|
|
196
|
+
{
|
|
197
|
+
internalType: "uint256",
|
|
198
|
+
name: "",
|
|
199
|
+
type: "uint256",
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
name: "success",
|
|
203
|
+
outputs: [
|
|
204
|
+
{
|
|
205
|
+
internalType: "bool",
|
|
206
|
+
name: "",
|
|
207
|
+
type: "bool",
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
stateMutability: "view",
|
|
211
|
+
type: "function",
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
inputs: [
|
|
215
|
+
{
|
|
216
|
+
internalType: "uint256[]",
|
|
217
|
+
name: "a_",
|
|
218
|
+
type: "uint256[]",
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
internalType: "uint256[]",
|
|
222
|
+
name: "b_",
|
|
223
|
+
type: "uint256[]",
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
internalType: "uint256[]",
|
|
227
|
+
name: "amount_",
|
|
228
|
+
type: "uint256[]",
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
name: "transferTest",
|
|
232
|
+
outputs: [],
|
|
233
|
+
stateMutability: "nonpayable",
|
|
234
|
+
type: "function",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
inputs: [
|
|
238
|
+
{
|
|
239
|
+
internalType: "uint256[]",
|
|
240
|
+
name: "a_",
|
|
241
|
+
type: "uint256[]",
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
internalType: "uint256[]",
|
|
245
|
+
name: "b_",
|
|
246
|
+
type: "uint256[]",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
internalType: "uint256[]",
|
|
250
|
+
name: "amount_",
|
|
251
|
+
type: "uint256[]",
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
internalType: "uint256[]",
|
|
255
|
+
name: "allowance_",
|
|
256
|
+
type: "uint256[]",
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
name: "transferWithAllowanceTest",
|
|
260
|
+
outputs: [],
|
|
261
|
+
stateMutability: "nonpayable",
|
|
262
|
+
type: "function",
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
inputs: [
|
|
266
|
+
{
|
|
267
|
+
components: [
|
|
268
|
+
{
|
|
269
|
+
components: [
|
|
270
|
+
{
|
|
271
|
+
components: [
|
|
272
|
+
{
|
|
273
|
+
internalType: "ctUint64",
|
|
274
|
+
name: "high",
|
|
275
|
+
type: "uint256",
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
internalType: "ctUint64",
|
|
279
|
+
name: "low",
|
|
280
|
+
type: "uint256",
|
|
281
|
+
},
|
|
282
|
+
],
|
|
283
|
+
internalType: "struct ctUint128",
|
|
284
|
+
name: "high",
|
|
285
|
+
type: "tuple",
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
components: [
|
|
289
|
+
{
|
|
290
|
+
internalType: "ctUint64",
|
|
291
|
+
name: "high",
|
|
292
|
+
type: "uint256",
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
internalType: "ctUint64",
|
|
296
|
+
name: "low",
|
|
297
|
+
type: "uint256",
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
internalType: "struct ctUint128",
|
|
301
|
+
name: "low",
|
|
302
|
+
type: "tuple",
|
|
303
|
+
},
|
|
304
|
+
],
|
|
305
|
+
internalType: "struct ctUint256",
|
|
306
|
+
name: "ciphertext",
|
|
307
|
+
type: "tuple",
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
internalType: "bytes[2][2]",
|
|
311
|
+
name: "signature",
|
|
312
|
+
type: "bytes[2][2]",
|
|
313
|
+
},
|
|
314
|
+
],
|
|
315
|
+
internalType: "struct itUint256[]",
|
|
316
|
+
name: "a_",
|
|
317
|
+
type: "tuple[]",
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
name: "validateCiphertextTest",
|
|
321
|
+
outputs: [],
|
|
322
|
+
stateMutability: "nonpayable",
|
|
323
|
+
type: "function",
|
|
324
|
+
},
|
|
325
|
+
] as const;
|
|
326
|
+
|
|
327
|
+
const _bytecode =
|
|
328
|
+
"0x608060405234801561001057600080fd5b5061249e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80636643b11a1161008c578063c416176c11610066578063c416176c146101b4578063dabade84146101c7578063e2bd9c12146101da578063ede9a42c146101ed57600080fd5b80636643b11a1461016b578063859cc7d61461017e578063888ea2431461019157600080fd5b806335fc629a116100bd57806335fc629a146101325780634a2f9b35146101455780634b5edd171461015857600080fd5b80631944a9ec146100e45780631fcad1b31461010a5780633406fafe1461011f575b600080fd5b6100f76100f2366004611dea565b61020e565b6040519081526020015b60405180910390f35b61011d610118366004611e4f565b61022f565b005b61011d61012d366004611dea565b6102ae565b61011d610140366004611e4f565b610300565b61011d610153366004611e91565b610386565b6100f7610166366004611dea565b610542565b61011d610179366004611e4f565b610552565b6100f761018c366004611dea565b6105e2565b6101a461019f366004611dea565b6105f2565b6040519015158152602001610101565b61011d6101c2366004611f2b565b610626565b6100f76101d5366004611dea565b61082f565b61011d6101e8366004611e4f565b61083f565b6102006101fb366004611dea565b6108a5565b604051610101929190611fef565b6005818154811061021e57600080fd5b600091825260209091200154905081565b610238816108fd565b60005b818110156102a95761027a61027584848481811061025b5761025b612015565b90506020020160208101906102709190612044565b610955565b6109bc565b6000828154811061028d5761028d612015565b6000918252602090912001556102a281612096565b905061023b565b505050565b6102b7816108fd565b60005b818110156102fc576102cd610275610a13565b600082815481106102e0576102e0612015565b6000918252602090912001556102f581612096565b90506102ba565b5050565b610309816108fd565b60005b818110156102a957600061034b84848481811061032b5761032b612015565b905060200281019061033d91906120ce565b610346906121e3565b610a3f565b9050610356816109bc565b6000838154811061036957610369612015565b6000918252602090912001555061037f81612096565b905061030c565b848314801561039457508481145b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d61746368000000000000000000000060448201526064015b60405180910390fd5b61040885610aa6565b61041185610b01565b61041a85610b5c565b6000805b8681101561053857600061044989898481811061043d5761043d612015565b90506020020135610bcf565b9050600061046288888581811061043d5761043d612015565b9050600061047b87878681811061043d5761043d612015565b9050610488838383610bf9565b96509093509150610498836109bc565b600285815481106104ab576104ab612015565b6000918252602090912001556104c0826109bc565b600385815481106104d3576104d3612015565b6000918252602090912001556104e885610c51565b600485815481106104fb576104fb612015565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055505050508061053190612096565b905061041e565b5050505050505050565b6002818154811061021e57600080fd5b61055b81610ce2565b60005b818110156102a957600061057d84848481811061043d5761043d612015565b90506105898133610dee565b6001838154811061059c5761059c612015565b6000918252602091829020835180516004909302909101918255820151600182015591810151805160028401550151600390910155506105db81612096565b905061055e565b6000818154811061021e57600080fd5b6004818154811061060257600080fd5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b868514801561063457508683145b801561063f57508681145b6106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d61746368000000000000000000000060448201526064016103f6565b6106ae87610aa6565b6106b787610b01565b6106c087610b5c565b6106c987610e29565b6000805b888110156108235760006106ec8b8b8481811061043d5761043d612015565b905060006107058a8a8581811061043d5761043d612015565b9050600061071e89898681811061043d5761043d612015565b9050600061073788888781811061043d5761043d612015565b905061074584848484610e84565b90985091955093509050610758846109bc565b6002868154811061076b5761076b612015565b600091825260209091200155610780836109bc565b6003868154811061079357610793612015565b6000918252602090912001556107a886610c51565b600486815481106107bb576107bb612015565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506107ed816109bc565b6005868154811061080057610800612015565b9060005260206000200181905550505050508061081c90612096565b90506106cd565b50505050505050505050565b6003818154811061021e57600080fd5b610848816108fd565b60005b818110156102a957600061086a84848481811061043d5761043d612015565b9050610875816109bc565b6000838154811061088857610888612015565b6000918252602090912001555061089e81612096565b905061084b565b600181815481106108b557600080fd5b60009182526020918290206040805180820182526004909302909101805483526001810154838501528151808301909252600281015482526003015492810192909252915082565b610908600080611cad565b60005b818110156102fc57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301558061094d81612096565b91505061090b565b61095d611cce565b610965611cce565b600060808460ff1611610978578361097b565b60805b905061098681610f09565b6020830152608060ff85161161099d5760006109a8565b6109a8608085612393565b90506109b381610f09565b82525092915050565b6000806109cc8360000151610f7f565b905060006109dd8460200151610f7f565b9050806fffffffffffffffffffffffffffffffff166080836fffffffffffffffffffffffffffffffff16901b1792505050919050565b610a1b611cce565b610a23611cce565b610a2b610fd8565b8152610a35610fd8565b6020820152919050565b610a47611cce565b610a4f611cce565b610a57611d12565b83515181526020808501515190820152610a6f611d12565b845160209081015182528086015181015190820152610a8d82611012565b8352610a9881611012565b602084015250909392505050565b610ab260026000611cad565b60005b818110156102fc576002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace015580610af981612096565b915050610ab5565b610b0d60036000611cad565b60005b818110156102fc576003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015580610b5481612096565b915050610b10565b610b6860046000611d3b565b60005b818110156102fc57600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b60208204018054601f9092166101000a60ff0219909116905580610bc781612096565b915050610b6b565b610bd7611cce565b610bdf611cce565b82608081901c610bee81611092565b8352610a9882611092565b610c01611cce565b610c09611cce565b600080610c1687866110de565b90506000610c2e8289610c298b8a61112a565b61119b565b90506000610c418389610c298b8b6111de565b9199919850919650945050505050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd991906123db565b15159392505050565b610cee60016000611d60565b60005b818110156102fc57604080516080810182526000818301818152606083018290528252825180840190935280835260208084018290528083019384526001805480820182559252915180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004909302928301558201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7820155915180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf884015501517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf99091015580610de681612096565b915050610cf1565b610df6611cce565b610dfe611cce565b8351610e0a908461123b565b81526020840151610e1b908461123b565b602082015290505b92915050565b610e3560056000611cad565b60005b818110156102fc576005805460018101825560009182527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0015580610e7c81612096565b915050610e38565b610e8c611cce565b610e94611cce565b6000610e9e611cce565b6000610ebc610ead8a896110de565b610eb78989611280565b6112bf565b90506000610ecf828b610c298d8c61112a565b90506000610ee2838b610c298d8d6111de565b90506000610ef5848a610c298c8e61112a565b929c919b5092995090975095505050505050565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600060408460ff1611610f445783610f47565b60405b9050610f528161137d565b6020830152604060ff851611610f69576000610f74565b610f74604085612393565b90506109b38161137d565b600080610f8f8360000151611425565b90506000610fa08460200151611425565b90508067ffffffffffffffff1660408367ffffffffffffffff166fffffffffffffffffffffffffffffffff16901b1792505050919050565b6040805180820190915260008082526020820152604080518082019091526000808252602082015261100861148c565b8152610a3561148c565b6040805180820182526000808252602080830182905283518085018552828152808201839052845180860186528381526060818401818152885151835288850180515190915287518089019098529487528684019081528751840151875293519092015190925291929091906110878261152f565b8352610a988161152f565b604080518082019091526000808252602082015260408051808201909152600080825260208201528267ffffffffffffffff604082901c166110d381611598565b8352610a9882611598565b6000806110f384600001518460000151611608565b90506111228161110b8660000151866000015161162d565b61111d8760200151876020015161166c565b6116ab565b949350505050565b611132611cce565b61113a611cce565b61114c8460200151846020015161176f565b81602001819052506000611168856020015185602001516117ef565b855185519192506111789161176f565b80835261119190829061118c81600161182e565b6118c5565b8252509392505050565b6111a3611cce565b6111ab611cce565b6111be85856020015185602001516118c5565b6020820152835183516111d29187916118c5565b815290505b9392505050565b6111e6611cce565b6111ee611cce565b61120084602001518460200151611914565b6020808301829052850151600091611217916117ef565b8551855191925061122791611914565b80835261119190829061118c816001611989565b60408051808201909152600080825260208201526040805180820190915260008082526020820152835161126f9084611a11565b81526020840151610e1b9084611a11565b60008061129584600001518460000151611608565b9050611122816112ad866000015186600001516117ef565b61111d87602001518760200151611ab3565b6000606463fe9c73d16112d3838080611af2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064015b6020604051808303816000875af1158015611359573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d791906123db565b6040517f072d17fc0000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063072d17fc906044015b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2391906123db565b6040517f0cfed5610000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015260248101829052600090606490630cfed561906044016113e2565b6040517f134eb8900000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015260009060649063134eb890906024016020604051808303816000875af1158015611506573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152a91906123db565b905090565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e10926113e2927f04000000000000000000000000000000000000000000000000000000000000009290916004016123f4565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016113e2565b60006111d761161f84602001518460200151611b4f565b84518451610eb79190611b4f565b60008061164284600001518460000151611b4f565b90506111228161165a86600001518660000151611b64565b61111d87602001518760200151611b64565b60008061168184600001518460000151611b4f565b90506111228161169986600001518660000151611b64565b61111d87602001518760200151611b79565b600060646320cc408d6116bf838080611af2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af115801561174b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112291906123db565b604080518082019091526000808252602082015260408051808201909152600080825260208201526117a984602001518460200151611b8e565b81602001818152505060006117c685602001518560200151611ba3565b855185519192506117d691611b8e565b8083526111919082906117ea816001611bb8565b611c42565b60008061180484600001518460000151611b4f565b90506111228161181c86600001518660000151611ba3565b61111d87602001518760200151611ba3565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff16859150915061187b866020015182611bb8565b8360200181815250506000611894876020015183611c57565b90506118a4876000015184611bb8565b8085526118b89082906117ea816001611bb8565b8452509195945050505050565b604080518082019091526000808252602082015260408051808201909152600080825260208201526119008585602001518560200151611c42565b6020820152835183516111d2918791611c42565b6040805180820190915260008082526020820152604080518082019091526000808252602082015261194e84602001518460200151611c6d565b602080830182905285015160009161196591611ba3565b8551855191925061197591611c6d565b8083526111919082906117ea816001611c82565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff1685915091506119d6866020015182611c82565b60208085018290528701516000916119ed91611ba3565b90506119fd876000015184611c82565b8085526118b89082906117ea816001611c82565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e689161133a917f04000000000000000000000000000000000000000000000000000000000000009188916038016123f4565b600080611ac884600001518460000151611b4f565b905061112281611ae086600001518660000151611ba3565b61111d87602001518760200151611c98565b6000816002811115611b0657611b066123ac565b60ff166008846004811115611b1d57611b1d6123ac565b61ffff16901b61ffff166010866004811115611b3b57611b3b6123ac565b62ffffff16901b171760e81b949350505050565b60006064637c12a1eb6112d360048085611af2565b60006064636d82e45e6112d360048085611af2565b6000606463813b20746112d360048085611af2565b6000606463371d1bf26112d360048085611af2565b6000606463dd1486936112d360048085611af2565b6000606463371d1bf2611bce6004806002611af2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff8516604482015260640161133a565b600060646320cc408d6116bf60048085611af2565b6000606463dd148693611bce6004806002611af2565b60006064638c5d01506112d360048085611af2565b60006064638c5d0150611bce6004806002611af2565b6000606463145fca2c6112d360048085611af2565b5080546000825590600052602060002090810190611ccb9190611d81565b50565b60408051608081018252600091810182815260608201929092529081908152602001611d0d604051806040016040528060008152602001600081525090565b905290565b604080516080810182526000918101828152606082019290925290815260208101611d0d611d9a565b50805460008255601f016020900490600052602060002090810190611ccb9190611d81565b5080546000825560040290600052602060002090810190611ccb9190611dc1565b5b80821115611d965760008155600101611d82565b5090565b60405180604001604052806002905b6060815260200190600190039081611da95790505090565b5b80821115611d9657600080825560018201819055600282018190556003820155600401611dc2565b600060208284031215611dfc57600080fd5b5035919050565b60008083601f840112611e1557600080fd5b50813567ffffffffffffffff811115611e2d57600080fd5b6020830191508360208260051b8501011115611e4857600080fd5b9250929050565b60008060208385031215611e6257600080fd5b823567ffffffffffffffff811115611e7957600080fd5b611e8585828601611e03565b90969095509350505050565b60008060008060008060608789031215611eaa57600080fd5b863567ffffffffffffffff80821115611ec257600080fd5b611ece8a838b01611e03565b90985096506020890135915080821115611ee757600080fd5b611ef38a838b01611e03565b90965094506040890135915080821115611f0c57600080fd5b50611f1989828a01611e03565b979a9699509497509295939492505050565b6000806000806000806000806080898b031215611f4757600080fd5b883567ffffffffffffffff80821115611f5f57600080fd5b611f6b8c838d01611e03565b909a50985060208b0135915080821115611f8457600080fd5b611f908c838d01611e03565b909850965060408b0135915080821115611fa957600080fd5b611fb58c838d01611e03565b909650945060608b0135915080821115611fce57600080fd5b50611fdb8b828c01611e03565b999c989b5096995094979396929594505050565b8251815260208084015181830152825160408301528201516060820152608081016111d7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561205657600080fd5b813560ff811681146111d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120c7576120c7612067565b5060010190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261210257600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561215e5761215e61210c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156121ab576121ab61210c565b604052919050565b6000604082840312156121c557600080fd5b6121cd61213b565b9050813581526020820135602082015292915050565b600081360360a08112156121f657600080fd5b6121fe61213b565b608082121561220c57600080fd5b61221461213b565b915061222036856121b3565b82526040612230368287016121b3565b602081818601528484526080870135945067ffffffffffffffff91508185111561225957600080fd5b93860193601f368187011261226d57600080fd5b61227561213b565b808588013681111561228657600080fd5b885b8181101561237e578035878111156122a05760008081fd5b8a0136868201126122b15760008081fd5b6122b961213b565b808a8301368111156122cb5760008081fd5b835b8181101561236d5780358c8111156122e55760008081fd5b8501368b8201126122f65760008081fd5b80358d8111156123085761230861210c565b6123378d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08e84011601612164565b818152368e83850101111561234c5760008081fd5b818e84018f83013760009181018e0191909152855250928a01928a016122cd565b505086525050928501928501612288565b50509286019290925250929695505050505050565b60ff8281168282160390811115610e2357610e23612067565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156123ed57600080fd5b5051919050565b7fff000000000000000000000000000000000000000000000000000000000000008416815260006020848184015260606040840152835180606085015260005b8181101561245057858101830151858201608001528201612434565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505094935050505056fea164736f6c6343000813000a";
|
|
329
|
+
|
|
330
|
+
type Miscellaneous256BitTestsContractConstructorParams =
|
|
331
|
+
| [signer?: Signer]
|
|
332
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
333
|
+
|
|
334
|
+
const isSuperArgs = (
|
|
335
|
+
xs: Miscellaneous256BitTestsContractConstructorParams
|
|
336
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
337
|
+
|
|
338
|
+
export class Miscellaneous256BitTestsContract__factory extends ContractFactory {
|
|
339
|
+
constructor(...args: Miscellaneous256BitTestsContractConstructorParams) {
|
|
340
|
+
if (isSuperArgs(args)) {
|
|
341
|
+
super(...args);
|
|
342
|
+
} else {
|
|
343
|
+
super(_abi, _bytecode, args[0]);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
override getDeployTransaction(
|
|
348
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
349
|
+
): Promise<ContractDeployTransaction> {
|
|
350
|
+
return super.getDeployTransaction(overrides || {});
|
|
351
|
+
}
|
|
352
|
+
override deploy(overrides?: NonPayableOverrides & { from?: string }) {
|
|
353
|
+
return super.deploy(overrides || {}) as Promise<
|
|
354
|
+
Miscellaneous256BitTestsContract & {
|
|
355
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
356
|
+
}
|
|
357
|
+
>;
|
|
358
|
+
}
|
|
359
|
+
override connect(
|
|
360
|
+
runner: ContractRunner | null
|
|
361
|
+
): Miscellaneous256BitTestsContract__factory {
|
|
362
|
+
return super.connect(runner) as Miscellaneous256BitTestsContract__factory;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
static readonly bytecode = _bytecode;
|
|
366
|
+
static readonly abi = _abi;
|
|
367
|
+
static createInterface(): Miscellaneous256BitTestsContractInterface {
|
|
368
|
+
return new Interface(_abi) as Miscellaneous256BitTestsContractInterface;
|
|
369
|
+
}
|
|
370
|
+
static connect(
|
|
371
|
+
address: string,
|
|
372
|
+
runner?: ContractRunner | null
|
|
373
|
+
): Miscellaneous256BitTestsContract {
|
|
374
|
+
return new Contract(
|
|
375
|
+
address,
|
|
376
|
+
_abi,
|
|
377
|
+
runner
|
|
378
|
+
) as unknown as Miscellaneous256BitTestsContract;
|
|
379
|
+
}
|
|
380
|
+
}
|
package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts
CHANGED
|
@@ -369,7 +369,7 @@ const _abi = [
|
|
|
369
369
|
] as const;
|
|
370
370
|
|
|
371
371
|
const _bytecode =
|
|
372
|
-
"0x608060405234801561001057600080fd5b50613193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392bba35611610081578063acb381691161005b578063acb38169146101c7578063d74e55e7146101ef578063ebb571fd1461020057600080fd5b806392bba3561461018f578063a103e4c0146101a1578063a609476a146101b457600080fd5b8063690ec3d9116100b2578063690ec3d91461012d5780636c74e7141461015057806380f937bc1461016357600080fd5b80632684f863146100d95780632e544aa0146100f75780632e5dda1e1461011d575b600080fd5b60005460ff165b60405160ff90911681526020015b60405180910390f35b61010a610105366004612e28565b610215565b60405161ffff90911681526020016100ee565b600054610100900460ff166100e0565b61014061013b366004612ec0565b610300565b60405190151581526020016100ee565b6100e061015e366004612eec565b610367565b610176610171366004612f2f565b610a65565b60405167ffffffffffffffff90911681526020016100ee565b6000546301000000900460ff16610140565b6100e06101af366004612fda565b610c08565b6100e06101c2366004612fda565b6112c8565b6101da6101d536600461300d565b611975565b60405163ffffffff90911681526020016100ee565b60005462010000900460ff166100e0565b61021361020e3660046130a4565b611aa2565b005b6000806102258360000151611b29565b90506102348360200151611b29565b61ffff168161ffff1614801561025d57506102528360400151611b29565b61ffff168161ffff16145b6102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b92915050565b60008061030c83611bc6565b9050600061031982611c6b565b905061032481611c7a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1663010000009215158302179081905560ff91900416949350505050565b60006103b160405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6103d560405180606001604052806000815260200160008152602001600081525090565b6104076040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6104476040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610452848888611aa2565b600061045d89611bc6565b9050600061047c6104778388600001518960200151611d0b565b611dd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff166201000060ff841602179055604087015160608801519192506104c791849190611de9565b8552855160608701516104db918491611dfe565b8560200181815250506104f78287604001518860200151611e14565b6040860152600061050786610215565b90508160ff168161ffff161461055f5760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b6105728388608001518960a00151611e2a565b8552865160a0880151610586918591611e3f565b8560200181815250506105a28388608001518960200151611e55565b8560400181815250506105be8388604001518960a00151611e6b565b8560600181815250506105da8388608001518960600151611e81565b608086015260006105ea86611975565b90508063ffffffff168360ff16146106445760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b610657848960c001518a60e00151611e97565b8552875160e089015161066b918691611eac565b856020018181525050610687848960c001518a60200151611ec2565b8560400181815250506106a38489604001518a60e00151611ed8565b8560600181815250506106bf848960c001518a60600151611eee565b8560800181815250506106db8489608001518a60e00151611f04565b8560a00181815250506106f7848960c001518a60a00151611f1a565b60c0860152600061070786610a65565b90508067ffffffffffffffff168460ff16146107655760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b610777610477868e8c60200151611f30565b60ff168460ff161480156107a15750610798610477868b600001518e611fb9565b60ff168460ff16145b6108135760405162461bcd60e51b815260206004820152602760248201527f6d7578546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b61082d610828868e60ff168c60600151612043565b611b29565b61ffff168460ff1614801561085c5750610852610828868b604001518e60ff166120ce565b61ffff168460ff16145b6108ce5760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6108e86108e3868e60ff168c60a00151612158565b6121e5565b63ffffffff168460ff1614801561091b575061090f6108e3868b608001518e60ff166121f5565b63ffffffff168460ff16145b61098d5760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6109a76109a2868e60ff168c60e00151612282565b612313565b67ffffffffffffffff168460ff161480156109e257506109d26109a2868b60c001518e60ff16612323565b67ffffffffffffffff168460ff16145b610a545760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b50919b9a5050505050505050505050565b600080610a758360000151612313565b9050610a848360200151612313565b67ffffffffffffffff168167ffffffffffffffff16148015610ac55750610aae8360400151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610af05750610ad98360800151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610b1b5750610b048360600151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610b465750610b2f8360c00151612313565b67ffffffffffffffff168167ffffffffffffffff16145b801561025d5750610b5a8360a00151612313565b67ffffffffffffffff168167ffffffffffffffff16146102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4016102f1565b6000610c5260405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610c7660405180606001604052806000815260200160008152602001600081525090565b610ca86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b610ce86040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610cf3848888611aa2565b6000610d0a610477866000015187602001516123b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010060ff84160217905560408601516060870151919250610d519161244e565b845284516060860151610d649190612463565b846020018181525050610d7f85604001518660200151612479565b60408501526000610d8f85610215565b90508160ff168161ffff1614610de75760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b610df986608001518760a0015161248f565b8452855160a0870151610e0c91906124a4565b846020018181525050610e27866080015187602001516124ba565b846040018181525050610e4286604001518760a001516124d0565b846060018181525050610e5d866080015187606001516124e6565b60808501526000610e6d85611975565b90508063ffffffff168360ff1614610ec75760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b610ed98760c001518860e001516124fc565b8452865160e0880151610eec9190612511565b846020018181525050610f078760c001518860200151612527565b846040018181525050610f2287604001518860e0015161253d565b846060018181525050610f3d8760c001518860600151612553565b846080018181525050610f5887608001518860e00151612569565b8460a0018181525050610f738760c001518860a0015161257f565b60c08501526000610f8385610a65565b90508067ffffffffffffffff168460ff1614610fe15760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b610ff26104778c8a60200151612595565b60ff168460ff1614801561101b575061101261047789600001518c612617565b60ff168460ff16145b61108d5760405162461bcd60e51b815260206004820152602760248201527f72656d546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b6110a16108288c60ff168a6060015161269a565b61ffff168460ff161480156110cf57506110c561082889604001518c60ff1661271e565b61ffff168460ff16145b6111415760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6111556108e38c60ff168a60a001516127a1565b63ffffffff168460ff16148015611187575061117b6108e389608001518c60ff16612827565b63ffffffff168460ff16145b6111f95760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b61120d6109a28c60ff168a60e001516128ad565b67ffffffffffffffff168460ff1614801561124757506112376109a28960c001518c60ff16612937565b67ffffffffffffffff168460ff16145b6112b95760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b50919998505050505050505050565b600061131260405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61133660405180606001604052806000815260200160008152602001600081525090565b6113686040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6113a86040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6113b3848888611aa2565b60006113ca610477866000015187602001516129c1565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff83161790556040860151606087015191925061140d916129d6565b84528451606086015161142091906129eb565b84602001818152505061143b85604001518660200151612a01565b6040850152600061144b85610215565b90508160ff168161ffff16146114a35760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b6114b586608001518760a00151612a17565b8452855160a08701516114c89190612a2c565b8460200181815250506114e386608001518760200151612a42565b8460400181815250506114fe86604001518760a00151612a58565b84606001818152505061151986608001518760600151612a6e565b6080850152600061152985611975565b90508063ffffffff168360ff16146115835760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b6115958760c001518860e00151612a84565b8452865160e08801516115a89190612a99565b8460200181815250506115c38760c001518860200151612aaf565b8460400181815250506115de87604001518860e00151612ac5565b8460600181815250506115f98760c001518860600151612adb565b84608001818152505061161487608001518860e00151612af1565b8460a001818152505061162f8760c001518860a00151612b07565b60c0850152600061163f85610a65565b90508067ffffffffffffffff168460ff161461169d5760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b6116ae6104778c8a60200151612b1d565b60ff168460ff161480156116d757506116ce61047789600001518c612b32565b60ff168460ff16145b6117495760405162461bcd60e51b815260206004820152602760248201527f646976546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b61175d6108288c60ff168a60600151612b48565b61ffff168460ff1614801561178b575061178161082889604001518c60ff16612b5e565b61ffff168460ff16145b6117fd5760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6118116108e38c60ff168a60a00151612b73565b63ffffffff168460ff1614801561184357506118376108e389608001518c60ff16612b89565b63ffffffff168460ff16145b6118b55760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6118c96109a28c60ff168a60e00151612b9f565b67ffffffffffffffff168460ff1614801561190357506118f36109a28960c001518c60ff16612bb5565b67ffffffffffffffff168460ff16145b6112b95760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b60008061198583600001516121e5565b905061199483602001516121e5565b63ffffffff168163ffffffff161480156119c557506119b683604001516121e5565b63ffffffff168163ffffffff16145b80156119e857506119d983608001516121e5565b63ffffffff168163ffffffff16145b801561025d57506119fc83606001516121e5565b63ffffffff168163ffffffff16146102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4016102f1565b611aab82612bcb565b8352611ab681612bcb565b6020840152611ac760ff8316612c34565b6040840152611ad860ff8216612c34565b6060840152611ae960ff8316612c9e565b6080840152611afa60ff8216612c9e565b60a0840152611b0b60ff8316612d0a565b60c0840152611b1c60ff8216612d0a565b60e0909301929092525050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b8152600401611b839291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611ba2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fa919061316d565b60008082611bd5576000611bd8565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b60906044015b6020604051808303816000875af1158015611c40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c64919061316d565b9392505050565b60006064631d79e49a82611b35565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d02919061316d565b15159392505050565b600060646320cc408d611d2060018085612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084015b6020604051808303816000875af1158015611dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd1919061316d565b949350505050565b60006064630cfed5616001611b35565b600060646320cc408d611d2060028085612d7a565b600060646320cc408d611d206001600285612d7a565b600060646320cc408d611d206002600185612d7a565b600060646320cc408d611d2060038085612d7a565b600060646320cc408d611d206001600385612d7a565b600060646320cc408d611d206003600185612d7a565b600060646320cc408d611d206002600385612d7a565b600060646320cc408d611d206003600285612d7a565b600060646320cc408d611d2060048085612d7a565b600060646320cc408d611d206001600485612d7a565b600060646320cc408d611d206004600185612d7a565b600060646320cc408d611d206002600485612d7a565b600060646320cc408d611d206004600285612d7a565b600060646320cc408d611d206003600485612d7a565b600060646320cc408d611d206004600385612d7a565b600060646320cc408d611f4560018080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260ff8616604482015260648101859052608401611d8e565b600060646320cc408d611fcf6001806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905260ff85166064820152608401611d8e565b600060646320cc408d6120596002806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905261ffff8616604482015260648101859052608401611d8e565b600060646320cc408d6120e360028080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905261ffff85166064820152608401611d8e565b600060646320cc408d61216e6003806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905263ffffffff8616604482015260648101859052608401611d8e565b60006064630cfed5616003611b35565b600060646320cc408d61220b6003806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905263ffffffff85166064820152608401611d8e565b600060646320cc408d6122986004806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905267ffffffffffffffff8616604482015260648101859052608401611d8e565b60006064630cfed5616004611b35565b600060646320cc408d6123396004806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905267ffffffffffffffff85166064820152608401611d8e565b600060646386e3b7b96123c960018085612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064016020604051808303816000875af1158015611c40573d6000803e3d6000fd5b600060646386e3b7b96123c960028085612d7a565b600060646386e3b7b96123c96001600285612d7a565b600060646386e3b7b96123c96002600185612d7a565b600060646386e3b7b96123c960038085612d7a565b600060646386e3b7b96123c96001600385612d7a565b600060646386e3b7b96123c96003600185612d7a565b600060646386e3b7b96123c96002600385612d7a565b600060646386e3b7b96123c96003600285612d7a565b600060646386e3b7b96123c960048085612d7a565b600060646386e3b7b96123c96001600485612d7a565b600060646386e3b7b96123c96004600185612d7a565b600060646386e3b7b96123c96002600485612d7a565b600060646386e3b7b96123c96004600285612d7a565b600060646386e3b7b96123c96003600485612d7a565b600060646386e3b7b96123c96004600385612d7a565b600060646386e3b7b96125aa60018080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260ff8616602482015260448101859052606401611c21565b600060646386e3b7b961262d6001806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260ff85166044820152606401611c21565b600060646386e3b7b96126b06002806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015261ffff8616602482015260448101859052606401611c21565b600060646386e3b7b961273360028080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905261ffff85166044820152606401611c21565b600060646386e3b7b96127b76003806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015263ffffffff8616602482015260448101859052606401611c21565b600060646386e3b7b961283d6003806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905263ffffffff85166044820152606401611c21565b600060646386e3b7b96128c36004806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015267ffffffffffffffff8616602482015260448101859052606401611c21565b600060646386e3b7b961294d6004806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff85166044820152606401611c21565b60006064634e9ba4b56123c960018085612d7a565b60006064634e9ba4b56123c960028085612d7a565b60006064634e9ba4b56123c96001600285612d7a565b60006064634e9ba4b56123c96002600185612d7a565b60006064634e9ba4b56123c960038085612d7a565b60006064634e9ba4b56123c96001600385612d7a565b60006064634e9ba4b56123c96003600185612d7a565b60006064634e9ba4b56123c96002600385612d7a565b60006064634e9ba4b56123c96003600285612d7a565b60006064634e9ba4b56123c960048085612d7a565b60006064634e9ba4b56123c96001600485612d7a565b60006064634e9ba4b56123c96004600185612d7a565b60006064634e9ba4b56123c96002600485612d7a565b60006064634e9ba4b56123c96004600285612d7a565b60006064634e9ba4b56123c96003600485612d7a565b60006064634e9ba4b56123c96004600385612d7a565b60006064634e9ba4b56125aa60018080612d7a565b60006064634e9ba4b561262d6001806002612d7a565b60006064634e9ba4b56126b06002806001612d7a565b60006064634e9ba4b561273360028080612d7a565b60006064634e9ba4b56127b76003806001612d7a565b60006064634e9ba4b561283d6003806002612d7a565b60006064634e9ba4b56128c36004806001612d7a565b60006064634e9ba4b561294d6004806002612d7a565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611b83565b6000816002811115612d8e57612d8e61313e565b60ff166008846004811115612da557612da561313e565b61ffff16901b61ffff166010866004811115612dc357612dc361313e565b62ffffff16901b171760e81b949350505050565b604051610100810167ffffffffffffffff81118282101715612e22577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b600060608284031215612e3a57600080fd5b6040516060810181811067ffffffffffffffff82111715612e84577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508235815260208301356020820152604083013560408201528091505092915050565b80358015158114612ebb57600080fd5b919050565b600060208284031215612ed257600080fd5b611c6482612eab565b803560ff81168114612ebb57600080fd5b600080600060608486031215612f0157600080fd5b612f0a84612eab565b9250612f1860208501612edb565b9150612f2660408501612edb565b90509250925092565b600060e08284031215612f4157600080fd5b60405160e0810181811067ffffffffffffffff82111715612f8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c08201528091505092915050565b60008060408385031215612fed57600080fd5b612ff683612edb565b915061300460208401612edb565b90509250929050565b600060a0828403121561301f57600080fd5b60405160a0810181811067ffffffffffffffff82111715613069577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60008060008385036101408112156130bb57600080fd5b610100808212156130cb57600080fd5b6130d3612dd7565b9150853582526020860135602083015260408601356040830152606086013560608301526080860135608083015260a086013560a083015260c086013560c083015260e086013560e083015281945061312d818701612edb565b93505050612f266101208501612edb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561317f57600080fd5b505191905056fea164736f6c6343000813000a";
|
|
372
|
+
"0x608060405234801561001057600080fd5b50613193806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806392bba35611610081578063acb381691161005b578063acb38169146101c7578063d74e55e7146101ef578063ebb571fd1461020057600080fd5b806392bba3561461018f578063a103e4c0146101a1578063a609476a146101b457600080fd5b8063690ec3d9116100b2578063690ec3d91461012d5780636c74e7141461015057806380f937bc1461016357600080fd5b80632684f863146100d95780632e544aa0146100f75780632e5dda1e1461011d575b600080fd5b60005460ff165b60405160ff90911681526020015b60405180910390f35b61010a610105366004612e28565b610215565b60405161ffff90911681526020016100ee565b600054610100900460ff166100e0565b61014061013b366004612ec0565b610300565b60405190151581526020016100ee565b6100e061015e366004612eec565b610367565b610176610171366004612f2f565b610a65565b60405167ffffffffffffffff90911681526020016100ee565b6000546301000000900460ff16610140565b6100e06101af366004612fda565b610c08565b6100e06101c2366004612fda565b6112c8565b6101da6101d536600461300d565b611975565b60405163ffffffff90911681526020016100ee565b60005462010000900460ff166100e0565b61021361020e3660046130a4565b611aa2565b005b6000806102258360000151611b29565b90506102348360200151611b29565b61ffff168161ffff1614801561025d57506102528360400151611b29565b61ffff168161ffff16145b6102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b92915050565b60008061030c83611bc6565b9050600061031982611c6b565b905061032481611c7a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1663010000009215158302179081905560ff91900416949350505050565b60006103b160405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6103d560405180606001604052806000815260200160008152602001600081525090565b6104076040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6104476040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610452848888611aa2565b600061045d89611bc6565b9050600061047c6104778388600001518960200151611d0b565b611dd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff166201000060ff841602179055604087015160608801519192506104c791849190611de9565b8552855160608701516104db918491611dfe565b8560200181815250506104f78287604001518860200151611e14565b6040860152600061050786610215565b90508160ff168161ffff161461055f5760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b6105728388608001518960a00151611e2a565b8552865160a0880151610586918591611e3f565b8560200181815250506105a28388608001518960200151611e55565b8560400181815250506105be8388604001518960a00151611e6b565b8560600181815250506105da8388608001518960600151611e81565b608086015260006105ea86611975565b90508063ffffffff168360ff16146106445760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b610657848960c001518a60e00151611e97565b8552875160e089015161066b918691611eac565b856020018181525050610687848960c001518a60200151611ec2565b8560400181815250506106a38489604001518a60e00151611ed8565b8560600181815250506106bf848960c001518a60600151611eee565b8560800181815250506106db8489608001518a60e00151611f04565b8560a00181815250506106f7848960c001518a60a00151611f1a565b60c0860152600061070786610a65565b90508067ffffffffffffffff168460ff16146107655760405162461bcd60e51b815260206004820152601760248201527f6d7578546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b610777610477868e8c60200151611f30565b60ff168460ff161480156107a15750610798610477868b600001518e611fb9565b60ff168460ff16145b6108135760405162461bcd60e51b815260206004820152602760248201527f6d7578546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b61082d610828868e60ff168c60600151612043565b611b29565b61ffff168460ff1614801561085c5750610852610828868b604001518e60ff166120ce565b61ffff168460ff16145b6108ce5760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6108e86108e3868e60ff168c60a00151612158565b6121e5565b63ffffffff168460ff1614801561091b575061090f6108e3868b608001518e60ff166121f5565b63ffffffff168460ff16145b61098d5760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6109a76109a2868e60ff168c60e00151612282565b612313565b67ffffffffffffffff168460ff161480156109e257506109d26109a2868b60c001518e60ff16612323565b67ffffffffffffffff168460ff16145b610a545760405162461bcd60e51b815260206004820152602860248201527f6d7578546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b50919b9a5050505050505050505050565b600080610a758360000151612313565b9050610a848360200151612313565b67ffffffffffffffff168167ffffffffffffffff16148015610ac55750610aae8360400151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610af05750610ad98360800151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610b1b5750610b048360600151612313565b67ffffffffffffffff168167ffffffffffffffff16145b8015610b465750610b2f8360c00151612313565b67ffffffffffffffff168167ffffffffffffffff16145b801561025d5750610b5a8360a00151612313565b67ffffffffffffffff168167ffffffffffffffff16146102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4016102f1565b6000610c5260405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610c7660405180606001604052806000815260200160008152602001600081525090565b610ca86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b610ce86040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610cf3848888611aa2565b6000610d0a610477866000015187602001516123b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010060ff84160217905560408601516060870151919250610d519161244e565b845284516060860151610d649190612463565b846020018181525050610d7f85604001518660200151612479565b60408501526000610d8f85610215565b90508160ff168161ffff1614610de75760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b610df986608001518760a0015161248f565b8452855160a0870151610e0c91906124a4565b846020018181525050610e27866080015187602001516124ba565b846040018181525050610e4286604001518760a001516124d0565b846060018181525050610e5d866080015187606001516124e6565b60808501526000610e6d85611975565b90508063ffffffff168360ff1614610ec75760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b610ed98760c001518860e001516124fc565b8452865160e0880151610eec9190612511565b846020018181525050610f078760c001518860200151612527565b846040018181525050610f2287604001518860e0015161253d565b846060018181525050610f3d8760c001518860600151612553565b846080018181525050610f5887608001518860e00151612569565b8460a0018181525050610f738760c001518860a0015161257f565b60c08501526000610f8385610a65565b90508067ffffffffffffffff168460ff1614610fe15760405162461bcd60e51b815260206004820152601760248201527f72656d546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b610ff26104778c8a60200151612595565b60ff168460ff1614801561101b575061101261047789600001518c612617565b60ff168460ff16145b61108d5760405162461bcd60e51b815260206004820152602760248201527f72656d546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b6110a16108288c60ff168a6060015161269a565b61ffff168460ff161480156110cf57506110c561082889604001518c60ff1661271e565b61ffff168460ff16145b6111415760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6111556108e38c60ff168a60a001516127a1565b63ffffffff168460ff16148015611187575061117b6108e389608001518c60ff16612827565b63ffffffff168460ff16145b6111f95760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b61120d6109a28c60ff168a60e001516128ad565b67ffffffffffffffff168460ff1614801561124757506112376109a28960c001518c60ff16612937565b67ffffffffffffffff168460ff16145b6112b95760405162461bcd60e51b815260206004820152602860248201527f72656d546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b50919998505050505050505050565b600061131260405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61133660405180606001604052806000815260200160008152602001600081525090565b6113686040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6113a86040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6113b3848888611aa2565b60006113ca610477866000015187602001516129c1565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff83161790556040860151606087015191925061140d916129d6565b84528451606086015161142091906129eb565b84602001818152505061143b85604001518660200151612a01565b6040850152600061144b85610215565b90508160ff168161ffff16146114a35760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203136206661696c656400000000000000000060448201526064016102f1565b6114b586608001518760a00151612a17565b8452855160a08701516114c89190612a2c565b8460200181815250506114e386608001518760200151612a42565b8460400181815250506114fe86604001518760a00151612a58565b84606001818152505061151986608001518760600151612a6e565b6080850152600061152985611975565b90508063ffffffff168360ff16146115835760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203332206661696c656400000000000000000060448201526064016102f1565b6115958760c001518860e00151612a84565b8452865160e08801516115a89190612a99565b8460200181815250506115c38760c001518860200151612aaf565b8460400181815250506115de87604001518860e00151612ac5565b8460600181815250506115f98760c001518860600151612adb565b84608001818152505061161487608001518860e00151612af1565b8460a001818152505061162f8760c001518860a00151612b07565b60c0850152600061163f85610a65565b90508067ffffffffffffffff168460ff161461169d5760405162461bcd60e51b815260206004820152601760248201527f646976546573743a2063617374203634206661696c656400000000000000000060448201526064016102f1565b6116ae6104778c8a60200151612b1d565b60ff168460ff161480156116d757506116ce61047789600001518c612b32565b60ff168460ff16145b6117495760405162461bcd60e51b815260206004820152602760248201527f646976546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c65640000000000000000000000000000000000000000000000000060648201526084016102f1565b61175d6108288c60ff168a60600151612b48565b61ffff168460ff1614801561178b575061178161082889604001518c60ff16612b5e565b61ffff168460ff16145b6117fd5760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6118116108e38c60ff168a60a00151612b73565b63ffffffff168460ff1614801561184357506118376108e389608001518c60ff16612b89565b63ffffffff168460ff16145b6118b55760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b6118c96109a28c60ff168a60e00151612b9f565b67ffffffffffffffff168460ff1614801561190357506118f36109a28960c001518c60ff16612bb5565b67ffffffffffffffff168460ff16145b6112b95760405162461bcd60e51b815260206004820152602860248201527f646976546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c656400000000000000000000000000000000000000000000000060648201526084016102f1565b60008061198583600001516121e5565b905061199483602001516121e5565b63ffffffff168163ffffffff161480156119c557506119b683604001516121e5565b63ffffffff168163ffffffff16145b80156119e857506119d983608001516121e5565b63ffffffff168163ffffffff16145b801561025d57506119fc83606001516121e5565b63ffffffff168163ffffffff16146102fa5760405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4016102f1565b611aab82612bcb565b8352611ab681612bcb565b6020840152611ac760ff8316612c34565b6040840152611ad860ff8216612c34565b6060840152611ae960ff8316612c9e565b6080840152611afa60ff8216612c9e565b60a0840152611b0b60ff8316612d0a565b60c0840152611b1c60ff8216612d0a565b60e0909301929092525050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b8152600401611b839291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611ba2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fa919061316d565b60008082611bd5576000611bd8565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b60906044015b6020604051808303816000875af1158015611c40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c64919061316d565b9392505050565b60006064631d79e49a82611b35565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d02919061316d565b15159392505050565b600060646320cc408d611d2060018085612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084015b6020604051808303816000875af1158015611dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd1919061316d565b949350505050565b60006064630cfed5616001611b35565b600060646320cc408d611d2060028085612d7a565b600060646320cc408d611d206001600285612d7a565b600060646320cc408d611d206002600185612d7a565b600060646320cc408d611d2060038085612d7a565b600060646320cc408d611d206001600385612d7a565b600060646320cc408d611d206003600185612d7a565b600060646320cc408d611d206002600385612d7a565b600060646320cc408d611d206003600285612d7a565b600060646320cc408d611d2060048085612d7a565b600060646320cc408d611d206001600485612d7a565b600060646320cc408d611d206004600185612d7a565b600060646320cc408d611d206002600485612d7a565b600060646320cc408d611d206004600285612d7a565b600060646320cc408d611d206003600485612d7a565b600060646320cc408d611d206004600385612d7a565b600060646320cc408d611f4560018080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260ff8616604482015260648101859052608401611d8e565b600060646320cc408d611fcf6001806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905260ff85166064820152608401611d8e565b600060646320cc408d6120596002806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905261ffff8616604482015260648101859052608401611d8e565b600060646320cc408d6120e360028080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905261ffff85166064820152608401611d8e565b600060646320cc408d61216e6003806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905263ffffffff8616604482015260648101859052608401611d8e565b60006064630cfed5616003611b35565b600060646320cc408d61220b6003806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905263ffffffff85166064820152608401611d8e565b600060646320cc408d6122986004806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905267ffffffffffffffff8616604482015260648101859052608401611d8e565b60006064630cfed5616004611b35565b600060646320cc408d6123396004806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905267ffffffffffffffff85166064820152608401611d8e565b600060646386e3b7b96123c960018085612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064016020604051808303816000875af1158015611c40573d6000803e3d6000fd5b600060646386e3b7b96123c960028085612d7a565b600060646386e3b7b96123c96001600285612d7a565b600060646386e3b7b96123c96002600185612d7a565b600060646386e3b7b96123c960038085612d7a565b600060646386e3b7b96123c96001600385612d7a565b600060646386e3b7b96123c96003600185612d7a565b600060646386e3b7b96123c96002600385612d7a565b600060646386e3b7b96123c96003600285612d7a565b600060646386e3b7b96123c960048085612d7a565b600060646386e3b7b96123c96001600485612d7a565b600060646386e3b7b96123c96004600185612d7a565b600060646386e3b7b96123c96002600485612d7a565b600060646386e3b7b96123c96004600285612d7a565b600060646386e3b7b96123c96003600485612d7a565b600060646386e3b7b96123c96004600385612d7a565b600060646386e3b7b96125aa60018080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260ff8616602482015260448101859052606401611c21565b600060646386e3b7b961262d6001806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260ff85166044820152606401611c21565b600060646386e3b7b96126b06002806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015261ffff8616602482015260448101859052606401611c21565b600060646386e3b7b961273360028080612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905261ffff85166044820152606401611c21565b600060646386e3b7b96127b76003806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015263ffffffff8616602482015260448101859052606401611c21565b600060646386e3b7b961283d6003806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905263ffffffff85166044820152606401611c21565b600060646386e3b7b96128c36004806001612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015267ffffffffffffffff8616602482015260448101859052606401611c21565b600060646386e3b7b961294d6004806002612d7a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff85166044820152606401611c21565b60006064634e9ba4b56123c960018085612d7a565b60006064634e9ba4b56123c960028085612d7a565b60006064634e9ba4b56123c96001600285612d7a565b60006064634e9ba4b56123c96002600185612d7a565b60006064634e9ba4b56123c960038085612d7a565b60006064634e9ba4b56123c96001600385612d7a565b60006064634e9ba4b56123c96003600185612d7a565b60006064634e9ba4b56123c96002600385612d7a565b60006064634e9ba4b56123c96003600285612d7a565b60006064634e9ba4b56123c960048085612d7a565b60006064634e9ba4b56123c96001600485612d7a565b60006064634e9ba4b56123c96004600185612d7a565b60006064634e9ba4b56123c96002600485612d7a565b60006064634e9ba4b56123c96004600285612d7a565b60006064634e9ba4b56123c96003600485612d7a565b60006064634e9ba4b56123c96004600385612d7a565b60006064634e9ba4b56125aa60018080612d7a565b60006064634e9ba4b561262d6001806002612d7a565b60006064634e9ba4b56126b06002806001612d7a565b60006064634e9ba4b561273360028080612d7a565b60006064634e9ba4b56127b76003806001612d7a565b60006064634e9ba4b561283d6003806002612d7a565b60006064634e9ba4b56128c36004806001612d7a565b60006064634e9ba4b561294d6004806002612d7a565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611b83565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611b83565b6000816002811115612d8e57612d8e61313e565b60ff166008846006811115612da557612da561313e565b61ffff16901b61ffff166010866006811115612dc357612dc361313e565b62ffffff16901b171760e81b949350505050565b604051610100810167ffffffffffffffff81118282101715612e22577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b600060608284031215612e3a57600080fd5b6040516060810181811067ffffffffffffffff82111715612e84577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508235815260208301356020820152604083013560408201528091505092915050565b80358015158114612ebb57600080fd5b919050565b600060208284031215612ed257600080fd5b611c6482612eab565b803560ff81168114612ebb57600080fd5b600080600060608486031215612f0157600080fd5b612f0a84612eab565b9250612f1860208501612edb565b9150612f2660408501612edb565b90509250925092565b600060e08284031215612f4157600080fd5b60405160e0810181811067ffffffffffffffff82111715612f8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c08201528091505092915050565b60008060408385031215612fed57600080fd5b612ff683612edb565b915061300460208401612edb565b90509250929050565b600060a0828403121561301f57600080fd5b60405160a0810181811067ffffffffffffffff82111715613069577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60008060008385036101408112156130bb57600080fd5b610100808212156130cb57600080fd5b6130d3612dd7565b9150853582526020860135602083015260408601356040830152606086013560608301526080860135608083015260a086013560a083015260c086013560c083015260e086013560e083015281945061312d818701612edb565b93505050612f266101208501612edb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561317f57600080fd5b505191905056fea164736f6c6343000813000a";
|
|
373
373
|
|
|
374
374
|
type MiscellaneousTestsContractConstructorParams =
|
|
375
375
|
| [signer?: Signer]
|