@coti-io/coti-contracts 1.1.0 → 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 +10780 -4962
- 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/Arithmetic128TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128TestsContract.ts +179 -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/Comparison128TestsContract.ts +278 -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/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 -8
- 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/Arithmetic128TestsContract__factory.ts +330 -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/Bitwise128TestsContract__factory.ts +184 -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/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/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/Miscellaneous1TestsContract__factory.ts +1 -1
- 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 -8
- 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 +638 -80
- package/typechain-types/index.ts +78 -16
- package/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.sol +0 -260
- package/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.sol +0 -264
- package/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Comparison128BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Comparison256BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.sol +0 -185
- package/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.sol +0 -190
- package/contracts/mocks/utils/mpc/README.md +0 -486
- package/test/utils/mpc/Unsigned128BitIntegers.test.ts +0 -945
- package/test/utils/mpc/Unsigned256BitIntegers.test.ts +0 -1124
- package/test/utils/mpc/helpers.ts +0 -77
package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts
CHANGED
|
@@ -246,7 +246,7 @@ const _abi = [
|
|
|
246
246
|
] as const;
|
|
247
247
|
|
|
248
248
|
const _bytecode =
|
|
249
|
-
"0x6080604052600080546001600160801b031916905534801561002057600080fd5b50611a1f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80639266057811610076578063d3d8aff41161005b578063d3d8aff414610284578063dbc221d0146102a2578063dfbba08f146102b557600080fd5b8063926605781461025d578063aacc5a171461027257600080fd5b806334c7c817116100a757806334c7c81714610202578063598f9579146102295780635adb57781461025557600080fd5b8063103bdb87146100c3578063276b8288146101dd575b600080fd5b6000546040805160ff70010000000000000000000000000000000084048116151582527101000000000000000000000000000000000084048116151560208301527201000000000000000000000000000000000000840481161515928201929092527301000000000000000000000000000000000000008304821615156060820152740100000000000000000000000000000000000000008304821615156080820152750100000000000000000000000000000000000000000083048216151560a082015276010000000000000000000000000000000000000000000083048216151560c08201527701000000000000000000000000000000000000000000000090920416151560e0820152610100015b60405180910390f35b6101f06101eb366004611675565b6102c8565b60405160ff90911681526020016101d4565b6000547801000000000000000000000000000000000000000000000000900460ff166101f0565b61023c610237366004611723565b610731565b60405167ffffffffffffffff90911681526020016101d4565b61023c610744565b61027061026b36600461174e565b610756565b005b60005467ffffffffffffffff1661023c565b60005468010000000000000000900467ffffffffffffffff1661023c565b6102706102b03660046117d8565b610a39565b61023c6102c336600461186c565b610b11565b60006102e7604051806040016040528060008152602001606081525090565b878152604080516020601f860181900481028201810190925284815290859085908190840183828082843760009201829052506020808701959095526040805180820190915290815260609481019490945250610342915050565b878152604080516020601f87018190048102820181019092528581529086908690819084018382808284376000920182905250602080870195909552604080518082019091529081526060948101949094525061039d915050565b878152604080516020601f8801819004810282018101909252868152908790879081908401838280828437600092018290525060208087019590955260408051808201909152908152606094810194909452506103f8915050565b878152604080516020601f8901819004810282018101909252878152908890889081908401838280828437600092019190915250505050602082015261044561044085610ef5565b610f89565b6000805460ff929092167801000000000000000000000000000000000000000000000000027fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff9092169190911781556104a56104a085610fe3565b610ff3565b6000549091507801000000000000000000000000000000000000000000000000900460ff1661ffff821614610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682031362062697473206661696c6564000060648201526084015b60405180910390fd5b600061057461056f85611003565b611013565b6000549091507801000000000000000000000000000000000000000000000000900460ff1663ffffffff82161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682033322062697473206661696c656400006064820152608401610558565b600061064061063b85611023565b611033565b6000549091507801000000000000000000000000000000000000000000000000900460ff1667ffffffffffffffff8216146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682036342062697473206661696c656400006064820152608401610558565b50506000547801000000000000000000000000000000000000000000000000900460ff169c9b505050505050505050505050565b600061073e600183610b11565b92915050565b6000610751600080610b11565b905090565b600061076184611043565b9050600061076e84611043565b9050600061077b84611043565b905061078f61078a84846110e7565b611180565b60008054911515700100000000000000000000000000000000027fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff9092169190911790556107e061078a8484611211565b6000805491151571010000000000000000000000000000000000027fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff90921691909117905561083261078a8484611225565b600080549115157201000000000000000000000000000000000000027fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff90921691909117905561088461078a84611239565b60008054911515730100000000000000000000000000000000000000027fffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffff9092169190911790556108d861078a8484611248565b6000805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90921691909117905561092d61078a848461125c565b600080549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921691909117905561098461078a828585611270565b60008054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092169190911781556109d78461133c565b90506109e561078a8261134b565b6000805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff90921691909117905550505050505050565b60005b82811015610b0b57600160ff83161b8482600a8110610a5d57610a5d61189f565b602002015167ffffffffffffffff1610610af9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f72616e646f6d546573743a2072616e646f6d206661696c65642c206f7574206f60448201527f6620626f756e64730000000000000000000000000000000000000000000000006064820152608401610558565b80610b03816118ce565b915050610a3c565b50505050565b6000600a610b1d611656565b84610b715760005b82811015610b6657610b3861078a61135a565b8282600a8110610b4a57610b4a61189f565b9115156020909202015280610b5e816118ce565b915050610b25565b50610b7181836113ef565b610b79611656565b85610b8357600a92505b60005b83811015610c145786610bcc57610b9e6104406114d4565b60ff168282600a8110610bb357610bb361189f565b67ffffffffffffffff9092166020929092020152610c02565b610bd8610440876114e4565b60ff168282600a8110610bed57610bed61189f565b67ffffffffffffffff90921660209290920201525b80610c0c816118ce565b915050610b86565b508515610c2657610c26818487610a39565b610c308184611541565b85610c3a57600392505b60005b83811015610ccd5786610c8457610c556104a0611599565b61ffff168282600a8110610c6b57610c6b61189f565b67ffffffffffffffff9092166020929092020152610cbb565b610c906104a0876115a9565b61ffff168282600a8110610ca657610ca661189f565b67ffffffffffffffff90921660209290920201525b80610cc5816118ce565b915050610c3d565b508515610cdf57610cdf818487610a39565b610ce98184611541565b85610cf357600392505b60005b83811015610d8a5786610d3f57610d0e61056f6115b9565b63ffffffff168282600a8110610d2657610d2661189f565b67ffffffffffffffff9092166020929092020152610d78565b610d4b61056f876115c9565b63ffffffff168282600a8110610d6357610d6361189f565b67ffffffffffffffff90921660209290920201525b80610d82816118ce565b915050610cf6565b508515610d9c57610d9c818487610a39565b610da68184611541565b85610db057600292505b60005b83811015610e3b5786610df657610dcb61063b6115d9565b8282600a8110610ddd57610ddd61189f565b67ffffffffffffffff9092166020929092020152610e29565b610e0261063b876115e9565b8282600a8110610e1457610e1461189f565b67ffffffffffffffff90921660209290920201525b80610e33816118ce565b915050610db3565b508515610e9957610e4d818487610a39565b80516000805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055610ed4565b8051600080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9092169190911790555b610ede8184611541565b505060005467ffffffffffffffff16949350505050565b6000606463e4f36e1060015b845160208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152610f469360f81b92919060040161195c565b6020604051808303816000875af1158015610f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e91906119f9565b60006064630cfed56160015b60f81b846040518363ffffffff1660e01b8152600401610f469291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6000606463e4f36e106002610f01565b60006064630cfed5616002610f95565b6000606463e4f36e106003610f01565b60006064630cfed5616003610f95565b6000606463e4f36e106004610f01565b60006064630cfed5616004610f95565b60008082611052576000611055565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b60906044016020604051808303816000875af11580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906119f9565b9392505050565b6000606463fe9c73d16110fb8380806115f9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064016020604051808303816000875af11580156110bc573d6000803e3d6000fd5b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af11580156111e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120891906119f9565b15159392505050565b6000606463fb7da35f6110fb8380806115f9565b60006064636f962e2c6110fb8380806115f9565b60006064631d79e49a82610f95565b60006064637c12a1eb6110fb8380806115f9565b600060646342094c566110fb8380806115f9565b600060646320cc408d6112848380806115f9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af1158015611310573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133491906119f9565b949350505050565b6000606463c50c9c0282610f95565b6000606463d2c135e582610f95565b6000606463134eb890825b60f81b6040518263ffffffff1660e01b81526004016113ac91907fff0000000000000000000000000000000000000000000000000000000000000091909116815260200190565b6020604051808303816000875af11580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075191906119f9565b6001805b8281101561143f578381600a811061140d5761140d61189f565b602002015184519015159015150361142d5781611429816118ce565b9250505b80611437816118ce565b9150506113f3565b508181036114cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f72616e646f6d546573743a2072616e646f6d206661696c65642c20616c6c207660448201527f616c75657320617265207468652073616d6500000000000000000000000000006064820152608401610558565b505050565b6000606463134eb8906001611365565b6000606463072d17fc60015b60f81b846040518363ffffffff1660e01b8152600401610f469291907fff0000000000000000000000000000000000000000000000000000000000000092909216825260ff16602082015260400190565b6001805b8281101561143f578381600a811061155f5761155f61189f565b6020020151845167ffffffffffffffff9182169116036115875781611583816118ce565b9250505b80611591816118ce565b915050611545565b6000606463134eb8906002611365565b6000606463072d17fc60026114f0565b6000606463134eb8906003611365565b6000606463072d17fc60036114f0565b6000606463134eb8906004611365565b6000606463072d17fc60046114f0565b600081600281111561160d5761160d61192d565b60ff1660088460048111156116245761162461192d565b61ffff16901b61ffff1660108660048111156116425761164261192d565b62ffffff16901b171760e81b949350505050565b604051806101400160405280600a906020820280368337509192915050565b60008060008060008060a0878903121561168e57600080fd5b86359550602087013594506040870135935060608701359250608087013567ffffffffffffffff808211156116c257600080fd5b818901915089601f8301126116d657600080fd5b8135818111156116e557600080fd5b8a60208285010111156116f757600080fd5b6020830194508093505050509295509295509295565b803560ff8116811461171e57600080fd5b919050565b60006020828403121561173557600080fd5b6110e08261170d565b8035801515811461171e57600080fd5b60008060006060848603121561176357600080fd5b61176c8461173e565b925061177a6020850161173e565b91506117886040850161173e565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803567ffffffffffffffff8116811461171e57600080fd5b600080600061018084860312156117ee57600080fd5b84601f8501126117fd57600080fd5b60405161014080820182811067ffffffffffffffff8211171561182257611822611791565b6040528501818782111561183557600080fd5b865b8281101561185657611848816117c0565b825260209182019101611837565b509194503592506117889050610160850161170d565b6000806040838503121561187f57600080fd5b6118888361173e565b91506118966020840161170d565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611926577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fff000000000000000000000000000000000000000000000000000000000000008416815260006020848184015260606040840152835180606085015260005b818110156119b85785810183015185820160800152820161199c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050949350505050565b600060208284031215611a0b57600080fd5b505191905056fea164736f6c6343000813000a";
|
|
249
|
+
"0x6080604052600080546001600160801b031916905534801561002057600080fd5b50611a1f806100306000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80639266057811610076578063d3d8aff41161005b578063d3d8aff414610284578063dbc221d0146102a2578063dfbba08f146102b557600080fd5b8063926605781461025d578063aacc5a171461027257600080fd5b806334c7c817116100a757806334c7c81714610202578063598f9579146102295780635adb57781461025557600080fd5b8063103bdb87146100c3578063276b8288146101dd575b600080fd5b6000546040805160ff70010000000000000000000000000000000084048116151582527101000000000000000000000000000000000084048116151560208301527201000000000000000000000000000000000000840481161515928201929092527301000000000000000000000000000000000000008304821615156060820152740100000000000000000000000000000000000000008304821615156080820152750100000000000000000000000000000000000000000083048216151560a082015276010000000000000000000000000000000000000000000083048216151560c08201527701000000000000000000000000000000000000000000000090920416151560e0820152610100015b60405180910390f35b6101f06101eb366004611675565b6102c8565b60405160ff90911681526020016101d4565b6000547801000000000000000000000000000000000000000000000000900460ff166101f0565b61023c610237366004611723565b610731565b60405167ffffffffffffffff90911681526020016101d4565b61023c610744565b61027061026b36600461174e565b610756565b005b60005467ffffffffffffffff1661023c565b60005468010000000000000000900467ffffffffffffffff1661023c565b6102706102b03660046117d8565b610a39565b61023c6102c336600461186c565b610b11565b60006102e7604051806040016040528060008152602001606081525090565b878152604080516020601f860181900481028201810190925284815290859085908190840183828082843760009201829052506020808701959095526040805180820190915290815260609481019490945250610342915050565b878152604080516020601f87018190048102820181019092528581529086908690819084018382808284376000920182905250602080870195909552604080518082019091529081526060948101949094525061039d915050565b878152604080516020601f8801819004810282018101909252868152908790879081908401838280828437600092018290525060208087019590955260408051808201909152908152606094810194909452506103f8915050565b878152604080516020601f8901819004810282018101909252878152908890889081908401838280828437600092019190915250505050602082015261044561044085610ef5565b610f89565b6000805460ff929092167801000000000000000000000000000000000000000000000000027fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff9092169190911781556104a56104a085610fe3565b610ff3565b6000549091507801000000000000000000000000000000000000000000000000900460ff1661ffff821614610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682031362062697473206661696c6564000060648201526084015b60405180910390fd5b600061057461056f85611003565b611013565b6000549091507801000000000000000000000000000000000000000000000000900460ff1663ffffffff82161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682033322062697473206661696c656400006064820152608401610558565b600061064061063b85611023565b611033565b6000549091507801000000000000000000000000000000000000000000000000900460ff1667ffffffffffffffff8216146106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f76616c696461746543697068657274657874546573743a2076616c696461746560448201527f4369706865727465787420776974682036342062697473206661696c656400006064820152608401610558565b50506000547801000000000000000000000000000000000000000000000000900460ff169c9b505050505050505050505050565b600061073e600183610b11565b92915050565b6000610751600080610b11565b905090565b600061076184611043565b9050600061076e84611043565b9050600061077b84611043565b905061078f61078a84846110e7565b611180565b60008054911515700100000000000000000000000000000000027fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff9092169190911790556107e061078a8484611211565b6000805491151571010000000000000000000000000000000000027fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff90921691909117905561083261078a8484611225565b600080549115157201000000000000000000000000000000000000027fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff90921691909117905561088461078a84611239565b60008054911515730100000000000000000000000000000000000000027fffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffff9092169190911790556108d861078a8484611248565b6000805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90921691909117905561092d61078a848461125c565b600080549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921691909117905561098461078a828585611270565b60008054911515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff9092169190911781556109d78461133c565b90506109e561078a8261134b565b6000805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff90921691909117905550505050505050565b60005b82811015610b0b57600160ff83161b8482600a8110610a5d57610a5d61189f565b602002015167ffffffffffffffff1610610af9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f72616e646f6d546573743a2072616e646f6d206661696c65642c206f7574206f60448201527f6620626f756e64730000000000000000000000000000000000000000000000006064820152608401610558565b80610b03816118ce565b915050610a3c565b50505050565b6000600a610b1d611656565b84610b715760005b82811015610b6657610b3861078a61135a565b8282600a8110610b4a57610b4a61189f565b9115156020909202015280610b5e816118ce565b915050610b25565b50610b7181836113ef565b610b79611656565b85610b8357600a92505b60005b83811015610c145786610bcc57610b9e6104406114d4565b60ff168282600a8110610bb357610bb361189f565b67ffffffffffffffff9092166020929092020152610c02565b610bd8610440876114e4565b60ff168282600a8110610bed57610bed61189f565b67ffffffffffffffff90921660209290920201525b80610c0c816118ce565b915050610b86565b508515610c2657610c26818487610a39565b610c308184611541565b85610c3a57600392505b60005b83811015610ccd5786610c8457610c556104a0611599565b61ffff168282600a8110610c6b57610c6b61189f565b67ffffffffffffffff9092166020929092020152610cbb565b610c906104a0876115a9565b61ffff168282600a8110610ca657610ca661189f565b67ffffffffffffffff90921660209290920201525b80610cc5816118ce565b915050610c3d565b508515610cdf57610cdf818487610a39565b610ce98184611541565b85610cf357600392505b60005b83811015610d8a5786610d3f57610d0e61056f6115b9565b63ffffffff168282600a8110610d2657610d2661189f565b67ffffffffffffffff9092166020929092020152610d78565b610d4b61056f876115c9565b63ffffffff168282600a8110610d6357610d6361189f565b67ffffffffffffffff90921660209290920201525b80610d82816118ce565b915050610cf6565b508515610d9c57610d9c818487610a39565b610da68184611541565b85610db057600292505b60005b83811015610e3b5786610df657610dcb61063b6115d9565b8282600a8110610ddd57610ddd61189f565b67ffffffffffffffff9092166020929092020152610e29565b610e0261063b876115e9565b8282600a8110610e1457610e1461189f565b67ffffffffffffffff90921660209290920201525b80610e33816118ce565b915050610db3565b508515610e9957610e4d818487610a39565b80516000805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055610ed4565b8051600080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9092169190911790555b610ede8184611541565b505060005467ffffffffffffffff16949350505050565b6000606463e4f36e1060015b845160208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152610f469360f81b92919060040161195c565b6020604051808303816000875af1158015610f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e91906119f9565b60006064630cfed56160015b60f81b846040518363ffffffff1660e01b8152600401610f469291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6000606463e4f36e106002610f01565b60006064630cfed5616002610f95565b6000606463e4f36e106003610f01565b60006064630cfed5616003610f95565b6000606463e4f36e106004610f01565b60006064630cfed5616004610f95565b60008082611052576000611055565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b60906044016020604051808303816000875af11580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e091906119f9565b9392505050565b6000606463fe9c73d16110fb8380806115f9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064016020604051808303816000875af11580156110bc573d6000803e3d6000fd5b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af11580156111e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120891906119f9565b15159392505050565b6000606463fb7da35f6110fb8380806115f9565b60006064636f962e2c6110fb8380806115f9565b60006064631d79e49a82610f95565b60006064637c12a1eb6110fb8380806115f9565b600060646342094c566110fb8380806115f9565b600060646320cc408d6112848380806115f9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af1158015611310573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133491906119f9565b949350505050565b6000606463c50c9c0282610f95565b6000606463d2c135e582610f95565b6000606463134eb890825b60f81b6040518263ffffffff1660e01b81526004016113ac91907fff0000000000000000000000000000000000000000000000000000000000000091909116815260200190565b6020604051808303816000875af11580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075191906119f9565b6001805b8281101561143f578381600a811061140d5761140d61189f565b602002015184519015159015150361142d5781611429816118ce565b9250505b80611437816118ce565b9150506113f3565b508181036114cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f72616e646f6d546573743a2072616e646f6d206661696c65642c20616c6c207660448201527f616c75657320617265207468652073616d6500000000000000000000000000006064820152608401610558565b505050565b6000606463134eb8906001611365565b6000606463072d17fc60015b60f81b846040518363ffffffff1660e01b8152600401610f469291907fff0000000000000000000000000000000000000000000000000000000000000092909216825260ff16602082015260400190565b6001805b8281101561143f578381600a811061155f5761155f61189f565b6020020151845167ffffffffffffffff9182169116036115875781611583816118ce565b9250505b80611591816118ce565b915050611545565b6000606463134eb8906002611365565b6000606463072d17fc60026114f0565b6000606463134eb8906003611365565b6000606463072d17fc60036114f0565b6000606463134eb8906004611365565b6000606463072d17fc60046114f0565b600081600281111561160d5761160d61192d565b60ff1660088460068111156116245761162461192d565b61ffff16901b61ffff1660108660068111156116425761164261192d565b62ffffff16901b171760e81b949350505050565b604051806101400160405280600a906020820280368337509192915050565b60008060008060008060a0878903121561168e57600080fd5b86359550602087013594506040870135935060608701359250608087013567ffffffffffffffff808211156116c257600080fd5b818901915089601f8301126116d657600080fd5b8135818111156116e557600080fd5b8a60208285010111156116f757600080fd5b6020830194508093505050509295509295509295565b803560ff8116811461171e57600080fd5b919050565b60006020828403121561173557600080fd5b6110e08261170d565b8035801515811461171e57600080fd5b60008060006060848603121561176357600080fd5b61176c8461173e565b925061177a6020850161173e565b91506117886040850161173e565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803567ffffffffffffffff8116811461171e57600080fd5b600080600061018084860312156117ee57600080fd5b84601f8501126117fd57600080fd5b60405161014080820182811067ffffffffffffffff8211171561182257611822611791565b6040528501818782111561183557600080fd5b865b8281101561185657611848816117c0565b825260209182019101611837565b509194503592506117889050610160850161170d565b6000806040838503121561187f57600080fd5b6118888361173e565b91506118966020840161170d565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611926577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fff000000000000000000000000000000000000000000000000000000000000008416815260006020848184015260606040840152835180606085015260005b818110156119b85785810183015185820160800152820161199c565b5060006080828601015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050949350505050565b600060208284031215611a0b57600080fd5b505191905056fea164736f6c6343000813000a";
|
|
250
250
|
|
|
251
251
|
type Miscellaneous1TestsContractConstructorParams =
|
|
252
252
|
| [signer?: Signer]
|
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]
|