@coti-io/coti-contracts 1.0.9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +18 -14
- package/README.md +3 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.sol +452 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.sol +490 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +432 -0
- package/contracts/disperse/disperseToken/MintDisperser.sol +120 -0
- package/contracts/disperse/disperseToken/TokenDisperser.sol +139 -0
- package/contracts/mocks/token/ERC20Mock.sol +19 -0
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +13 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +44 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +23 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +9 -4
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +39 -0
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +12 -0
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +122 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +55 -0
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +27 -0
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +267 -0
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +334 -0
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +93 -0
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +116 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +157 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +133 -0
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +137 -0
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +59 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +99 -0
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +7 -6
- package/contracts/node/CotiNodeRewards.sol +199 -0
- package/contracts/node/SoulboundNodeNFT.sol +519 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +318 -0
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +268 -0
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +251 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +16 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +17 -0
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +273 -40
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +17 -0
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +20 -0
- package/contracts/token/PrivateERC20/PrivateERC20.sol +861 -152
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +13 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +13 -0
- package/contracts/utils/mpc/MpcCore.sol +10891 -2449
- package/contracts/utils/mpc/MpcInterface.sol +7 -2
- package/hardhat/gasPriceBump.ts +60 -0
- package/hardhat.config.ts +60 -12
- package/package.json +21 -3
- package/scripts/deploySoulboundNodeNFT.ts +57 -0
- package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +327 -0
- package/test/token/PrivateERC20/PrivateERC20.test.ts +1109 -268
- package/test/utils/mpc/Bitwise128.test.ts +92 -0
- package/test/utils/mpc/Bitwise256.test.ts +101 -0
- package/test/utils/mpc/BuildInputText128.test.ts +398 -0
- package/test/utils/mpc/CheckedArithmetic128.test.ts +45 -0
- package/test/utils/mpc/CheckedArithmetic256.test.ts +45 -0
- package/test/utils/mpc/Comparison128.test.ts +48 -0
- package/test/utils/mpc/Comparison256.test.ts +48 -0
- package/test/utils/mpc/InvalidCiphertext.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext128.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext256.test.ts +201 -0
- package/test/utils/mpc/InvalidTransfer128.test.ts +166 -0
- package/test/utils/mpc/InvalidTransfer256.test.ts +158 -0
- package/test/utils/mpc/MinMax128.test.ts +44 -0
- package/test/utils/mpc/MinMax256.test.ts +44 -0
- package/test/utils/mpc/MinimalProxyDemo.test.ts +280 -0
- package/test/utils/mpc/MpcOperations.test.ts +589 -0
- package/test/utils/mpc/MpcOperations128.test.ts +632 -0
- package/test/utils/mpc/Mux128.test.ts +41 -0
- package/test/utils/mpc/Mux256.test.ts +41 -0
- package/test/utils/mpc/NegativeCases.test.ts +478 -0
- package/test/utils/mpc/NegativeCases128.test.ts +237 -0
- package/test/utils/mpc/NegativeCases256.test.ts +236 -0
- package/test/utils/mpc/OnBoard128.test.ts +90 -0
- package/test/utils/mpc/OnBoard256.test.ts +114 -0
- package/test/utils/mpc/Precompile128.test.ts +51 -0
- package/test/utils/mpc/Precompile256.test.ts +115 -0
- package/test/utils/mpc/ProxyValidation.test.ts +199 -0
- package/test/utils/mpc/Random128.test.ts +47 -0
- package/test/utils/mpc/Random256.test.ts +47 -0
- package/test/utils/mpc/Shift128.test.ts +41 -0
- package/test/utils/mpc/Shift256.test.ts +41 -0
- package/test/utils/mpc/Transfer128.test.ts +46 -0
- package/test/utils/mpc/Transfer256.test.ts +46 -0
- package/test/utils/mpc/TransferWithAllowance128.test.ts +48 -0
- package/test/utils/mpc/TransferWithAllowance256.test.ts +48 -0
- package/test/utils/mpc/UpgradeablePrivacyProxy.test.ts +307 -0
- package/test/utils/mpc/ValidateCiphertext.test.ts +221 -0
- package/test/utils/mpc/ValidateCiphertext256.test.ts +161 -0
- package/test/utils/mpc/ValidateCiphertext256Decryption.test.ts +383 -0
- package/test/utils/mpc/WalletEncryptionFailures.test.ts +494 -0
- package/test/utils/privateErc20Helpers.ts +97 -0
- package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -0
- package/typechain-types/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +206 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/contracts/disperse/disperseToken/TokenDisperser.ts +191 -0
- package/typechain-types/contracts/disperse/disperseToken/index.ts +6 -0
- package/typechain-types/contracts/disperse/index.ts +7 -0
- package/typechain-types/contracts/index.ts +2 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +77 -60
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +341 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +347 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.ts +186 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +186 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +260 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +260 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalImplementation.ts +259 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalProxy.ts +90 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +302 -0
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +322 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperations128TestContract.ts +388 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperationsTestContract.ts +455 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard128TestsContract.ts +166 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard256TestsContract.ts +194 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV1.ts +385 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV2.ts +441 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyProxy.ts +201 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random128TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random256TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.ts +198 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.ts +182 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.ts +257 -0
- package/typechain-types/contracts/mocks/utils/mpc/index.ts +32 -0
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +77 -60
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +77 -60
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory.ts +100 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +185 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +198 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/index.ts +5 -0
- package/typechain-types/factories/contracts/index.ts +1 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +179 -47
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +349 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +364 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +182 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +182 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +255 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +255 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +263 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +104 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +332 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +380 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +723 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1410 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +175 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +205 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +521 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +648 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +179 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +190 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +210 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +260 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +32 -0
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +7 -7
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
- package/typechain-types/hardhat.d.ts +702 -0
- package/typechain-types/index.ts +78 -0
- package/contracts/mocks/utils/mpc/README.md +0 -486
- package/contracts/package.json +0 -11
package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts
CHANGED
|
@@ -80,16 +80,40 @@ const _abi = [
|
|
|
80
80
|
type: "address",
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
|
+
components: [
|
|
84
|
+
{
|
|
85
|
+
internalType: "ctUint128",
|
|
86
|
+
name: "ciphertextHigh",
|
|
87
|
+
type: "uint256",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
internalType: "ctUint128",
|
|
91
|
+
name: "ciphertextLow",
|
|
92
|
+
type: "uint256",
|
|
93
|
+
},
|
|
94
|
+
],
|
|
83
95
|
indexed: false,
|
|
84
|
-
internalType: "
|
|
96
|
+
internalType: "struct ctUint256",
|
|
85
97
|
name: "ownerValue",
|
|
86
|
-
type: "
|
|
98
|
+
type: "tuple",
|
|
87
99
|
},
|
|
88
100
|
{
|
|
101
|
+
components: [
|
|
102
|
+
{
|
|
103
|
+
internalType: "ctUint128",
|
|
104
|
+
name: "ciphertextHigh",
|
|
105
|
+
type: "uint256",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
internalType: "ctUint128",
|
|
109
|
+
name: "ciphertextLow",
|
|
110
|
+
type: "uint256",
|
|
111
|
+
},
|
|
112
|
+
],
|
|
89
113
|
indexed: false,
|
|
90
|
-
internalType: "
|
|
114
|
+
internalType: "struct ctUint256",
|
|
91
115
|
name: "spenderValue",
|
|
92
|
-
type: "
|
|
116
|
+
type: "tuple",
|
|
93
117
|
},
|
|
94
118
|
],
|
|
95
119
|
name: "Approval",
|
|
@@ -111,16 +135,40 @@ const _abi = [
|
|
|
111
135
|
type: "address",
|
|
112
136
|
},
|
|
113
137
|
{
|
|
138
|
+
components: [
|
|
139
|
+
{
|
|
140
|
+
internalType: "ctUint128",
|
|
141
|
+
name: "ciphertextHigh",
|
|
142
|
+
type: "uint256",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
internalType: "ctUint128",
|
|
146
|
+
name: "ciphertextLow",
|
|
147
|
+
type: "uint256",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
114
150
|
indexed: false,
|
|
115
|
-
internalType: "
|
|
151
|
+
internalType: "struct ctUint256",
|
|
116
152
|
name: "senderValue",
|
|
117
|
-
type: "
|
|
153
|
+
type: "tuple",
|
|
118
154
|
},
|
|
119
155
|
{
|
|
156
|
+
components: [
|
|
157
|
+
{
|
|
158
|
+
internalType: "ctUint128",
|
|
159
|
+
name: "ciphertextHigh",
|
|
160
|
+
type: "uint256",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
internalType: "ctUint128",
|
|
164
|
+
name: "ciphertextLow",
|
|
165
|
+
type: "uint256",
|
|
166
|
+
},
|
|
167
|
+
],
|
|
120
168
|
indexed: false,
|
|
121
|
-
internalType: "
|
|
169
|
+
internalType: "struct ctUint256",
|
|
122
170
|
name: "receiverValue",
|
|
123
|
-
type: "
|
|
171
|
+
type: "tuple",
|
|
124
172
|
},
|
|
125
173
|
],
|
|
126
174
|
name: "Transfer",
|
|
@@ -161,7 +209,7 @@ const _abi = [
|
|
|
161
209
|
name: "allowance",
|
|
162
210
|
outputs: [
|
|
163
211
|
{
|
|
164
|
-
internalType: "
|
|
212
|
+
internalType: "gtUint256",
|
|
165
213
|
name: "",
|
|
166
214
|
type: "uint256",
|
|
167
215
|
},
|
|
@@ -187,19 +235,55 @@ const _abi = [
|
|
|
187
235
|
{
|
|
188
236
|
components: [
|
|
189
237
|
{
|
|
190
|
-
|
|
238
|
+
components: [
|
|
239
|
+
{
|
|
240
|
+
internalType: "ctUint128",
|
|
241
|
+
name: "ciphertextHigh",
|
|
242
|
+
type: "uint256",
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
internalType: "ctUint128",
|
|
246
|
+
name: "ciphertextLow",
|
|
247
|
+
type: "uint256",
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
internalType: "struct ctUint256",
|
|
191
251
|
name: "ciphertext",
|
|
192
|
-
type: "
|
|
252
|
+
type: "tuple",
|
|
193
253
|
},
|
|
194
254
|
{
|
|
195
|
-
|
|
255
|
+
components: [
|
|
256
|
+
{
|
|
257
|
+
internalType: "ctUint128",
|
|
258
|
+
name: "ciphertextHigh",
|
|
259
|
+
type: "uint256",
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
internalType: "ctUint128",
|
|
263
|
+
name: "ciphertextLow",
|
|
264
|
+
type: "uint256",
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
internalType: "struct ctUint256",
|
|
196
268
|
name: "ownerCiphertext",
|
|
197
|
-
type: "
|
|
269
|
+
type: "tuple",
|
|
198
270
|
},
|
|
199
271
|
{
|
|
200
|
-
|
|
272
|
+
components: [
|
|
273
|
+
{
|
|
274
|
+
internalType: "ctUint128",
|
|
275
|
+
name: "ciphertextHigh",
|
|
276
|
+
type: "uint256",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
internalType: "ctUint128",
|
|
280
|
+
name: "ciphertextLow",
|
|
281
|
+
type: "uint256",
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
internalType: "struct ctUint256",
|
|
201
285
|
name: "spenderCiphertext",
|
|
202
|
-
type: "
|
|
286
|
+
type: "tuple",
|
|
203
287
|
},
|
|
204
288
|
],
|
|
205
289
|
internalType: "struct IPrivateERC20.Allowance",
|
|
@@ -218,7 +302,7 @@ const _abi = [
|
|
|
218
302
|
type: "address",
|
|
219
303
|
},
|
|
220
304
|
{
|
|
221
|
-
internalType: "
|
|
305
|
+
internalType: "gtUint256",
|
|
222
306
|
name: "value",
|
|
223
307
|
type: "uint256",
|
|
224
308
|
},
|
|
@@ -244,9 +328,21 @@ const _abi = [
|
|
|
244
328
|
{
|
|
245
329
|
components: [
|
|
246
330
|
{
|
|
247
|
-
|
|
331
|
+
components: [
|
|
332
|
+
{
|
|
333
|
+
internalType: "ctUint128",
|
|
334
|
+
name: "ciphertextHigh",
|
|
335
|
+
type: "uint256",
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
internalType: "ctUint128",
|
|
339
|
+
name: "ciphertextLow",
|
|
340
|
+
type: "uint256",
|
|
341
|
+
},
|
|
342
|
+
],
|
|
343
|
+
internalType: "struct ctUint256",
|
|
248
344
|
name: "ciphertext",
|
|
249
|
-
type: "
|
|
345
|
+
type: "tuple",
|
|
250
346
|
},
|
|
251
347
|
{
|
|
252
348
|
internalType: "bytes",
|
|
@@ -254,7 +350,7 @@ const _abi = [
|
|
|
254
350
|
type: "bytes",
|
|
255
351
|
},
|
|
256
352
|
],
|
|
257
|
-
internalType: "struct
|
|
353
|
+
internalType: "struct itUint256",
|
|
258
354
|
name: "value",
|
|
259
355
|
type: "tuple",
|
|
260
356
|
},
|
|
@@ -281,9 +377,21 @@ const _abi = [
|
|
|
281
377
|
name: "balanceOf",
|
|
282
378
|
outputs: [
|
|
283
379
|
{
|
|
284
|
-
|
|
380
|
+
components: [
|
|
381
|
+
{
|
|
382
|
+
internalType: "ctUint128",
|
|
383
|
+
name: "ciphertextHigh",
|
|
384
|
+
type: "uint256",
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
internalType: "ctUint128",
|
|
388
|
+
name: "ciphertextLow",
|
|
389
|
+
type: "uint256",
|
|
390
|
+
},
|
|
391
|
+
],
|
|
392
|
+
internalType: "struct ctUint256",
|
|
285
393
|
name: "",
|
|
286
|
-
type: "
|
|
394
|
+
type: "tuple",
|
|
287
395
|
},
|
|
288
396
|
],
|
|
289
397
|
stateMutability: "view",
|
|
@@ -294,7 +402,7 @@ const _abi = [
|
|
|
294
402
|
name: "balanceOf",
|
|
295
403
|
outputs: [
|
|
296
404
|
{
|
|
297
|
-
internalType: "
|
|
405
|
+
internalType: "gtUint256",
|
|
298
406
|
name: "",
|
|
299
407
|
type: "uint256",
|
|
300
408
|
},
|
|
@@ -310,9 +418,9 @@ const _abi = [
|
|
|
310
418
|
type: "address",
|
|
311
419
|
},
|
|
312
420
|
{
|
|
313
|
-
internalType: "
|
|
421
|
+
internalType: "uint256",
|
|
314
422
|
name: "amount",
|
|
315
|
-
type: "
|
|
423
|
+
type: "uint256",
|
|
316
424
|
},
|
|
317
425
|
],
|
|
318
426
|
name: "burn",
|
|
@@ -341,9 +449,9 @@ const _abi = [
|
|
|
341
449
|
type: "address",
|
|
342
450
|
},
|
|
343
451
|
{
|
|
344
|
-
internalType: "
|
|
452
|
+
internalType: "uint256",
|
|
345
453
|
name: "amount",
|
|
346
|
-
type: "
|
|
454
|
+
type: "uint256",
|
|
347
455
|
},
|
|
348
456
|
],
|
|
349
457
|
name: "mint",
|
|
@@ -443,9 +551,21 @@ const _abi = [
|
|
|
443
551
|
{
|
|
444
552
|
components: [
|
|
445
553
|
{
|
|
446
|
-
|
|
554
|
+
components: [
|
|
555
|
+
{
|
|
556
|
+
internalType: "ctUint128",
|
|
557
|
+
name: "ciphertextHigh",
|
|
558
|
+
type: "uint256",
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
internalType: "ctUint128",
|
|
562
|
+
name: "ciphertextLow",
|
|
563
|
+
type: "uint256",
|
|
564
|
+
},
|
|
565
|
+
],
|
|
566
|
+
internalType: "struct ctUint256",
|
|
447
567
|
name: "ciphertext",
|
|
448
|
-
type: "
|
|
568
|
+
type: "tuple",
|
|
449
569
|
},
|
|
450
570
|
{
|
|
451
571
|
internalType: "bytes",
|
|
@@ -453,7 +573,7 @@ const _abi = [
|
|
|
453
573
|
type: "bytes",
|
|
454
574
|
},
|
|
455
575
|
],
|
|
456
|
-
internalType: "struct
|
|
576
|
+
internalType: "struct itUint256",
|
|
457
577
|
name: "value",
|
|
458
578
|
type: "tuple",
|
|
459
579
|
},
|
|
@@ -477,7 +597,7 @@ const _abi = [
|
|
|
477
597
|
type: "address",
|
|
478
598
|
},
|
|
479
599
|
{
|
|
480
|
-
internalType: "
|
|
600
|
+
internalType: "gtUint256",
|
|
481
601
|
name: "value",
|
|
482
602
|
type: "uint256",
|
|
483
603
|
},
|
|
@@ -506,21 +626,9 @@ const _abi = [
|
|
|
506
626
|
type: "address",
|
|
507
627
|
},
|
|
508
628
|
{
|
|
509
|
-
|
|
510
|
-
{
|
|
511
|
-
internalType: "ctUint64",
|
|
512
|
-
name: "ciphertext",
|
|
513
|
-
type: "uint256",
|
|
514
|
-
},
|
|
515
|
-
{
|
|
516
|
-
internalType: "bytes",
|
|
517
|
-
name: "signature",
|
|
518
|
-
type: "bytes",
|
|
519
|
-
},
|
|
520
|
-
],
|
|
521
|
-
internalType: "struct itUint64",
|
|
629
|
+
internalType: "gtUint256",
|
|
522
630
|
name: "value",
|
|
523
|
-
type: "
|
|
631
|
+
type: "uint256",
|
|
524
632
|
},
|
|
525
633
|
],
|
|
526
634
|
name: "transferFrom",
|
|
@@ -547,9 +655,33 @@ const _abi = [
|
|
|
547
655
|
type: "address",
|
|
548
656
|
},
|
|
549
657
|
{
|
|
550
|
-
|
|
658
|
+
components: [
|
|
659
|
+
{
|
|
660
|
+
components: [
|
|
661
|
+
{
|
|
662
|
+
internalType: "ctUint128",
|
|
663
|
+
name: "ciphertextHigh",
|
|
664
|
+
type: "uint256",
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
internalType: "ctUint128",
|
|
668
|
+
name: "ciphertextLow",
|
|
669
|
+
type: "uint256",
|
|
670
|
+
},
|
|
671
|
+
],
|
|
672
|
+
internalType: "struct ctUint256",
|
|
673
|
+
name: "ciphertext",
|
|
674
|
+
type: "tuple",
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
internalType: "bytes",
|
|
678
|
+
name: "signature",
|
|
679
|
+
type: "bytes",
|
|
680
|
+
},
|
|
681
|
+
],
|
|
682
|
+
internalType: "struct itUint256",
|
|
551
683
|
name: "value",
|
|
552
|
-
type: "
|
|
684
|
+
type: "tuple",
|
|
553
685
|
},
|
|
554
686
|
],
|
|
555
687
|
name: "transferFrom",
|
|
@@ -566,7 +698,7 @@ const _abi = [
|
|
|
566
698
|
] as const;
|
|
567
699
|
|
|
568
700
|
const _bytecode =
|
|
569
|
-
"0x60806040523480156200001157600080fd5b506040518060400160405280601081526020016f5072697661746545524332304d6f636b60801b81525060405180604001604052806005815260200164504532304d60d81b81525081600490816200006a919062000127565b50600562000079828262000127565b505050620001f3565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ad57607f821691505b602082108103620000ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012257600081815260208120601f850160051c81016020861015620000fd5750805b601f850160051c820191505b818110156200011e5782815560010162000109565b5050505b505050565b81516001600160401b0381111562000143576200014362000082565b6200015b8162000154845462000098565b84620000d4565b602080601f8311600181146200019357600084156200017a5750858301515b600019600386901b1c1916600185901b1785556200011e565b600085815260208120601f198616915b82811015620001c457888601518255948401946001909101908401620001a3565b5085821015620001e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61194a80620002036000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c8063313ce567116100cd57806396b2db3811610081578063a7d9ad6a11610066578063a7d9ad6a146102f9578063a9059cbb1461030c578063dd62ed3e1461031f57600080fd5b806396b2db38146102d3578063a42c0af9146102e657600080fd5b8063722713f7116100b2578063722713f7146102b05780638269bcc3146102b857806395d89b41146102cb57600080fd5b8063313ce5671461026757806370a082311461027657600080fd5b806313691c761161012457806323b872dd1161010957806323b872dd1461022e57806326a9b3f1146102415780632893c5b01461025457600080fd5b806313691c761461021257806318160ddd1461022757600080fd5b8063043d20851461015657806306fdde03146101b957806308a2032a146101ce578063095ea7b3146101ef575b600080fd5b61018f61016436600461146b565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152602081905260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c1610354565b6040516101b091906114ea565b6101e16101dc366004611515565b6103e6565b6040519081526020016101b0565b6102026101fd366004611573565b61041d565b60405190151581526020016101b0565b61022561022036600461159d565b610437565b005b60006101e1565b6101e161023c3660046115e1565b61044e565b61020261024f36600461161d565b610470565b61022561026236600461159d565b610524565b604051600681526020016101b0565b6101e161028436600461146b565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120015490565b6101e1610536565b6102026102c636600461146b565b610546565b6101c16105ca565b6101e16102e136600461161d565b6105d9565b6102026102f436600461164e565b61065c565b6101e161030736600461164e565b610684565b6101e161031a366004611573565b6106a1565b61033261032d36600461169c565b6106b7565b60408051825181526020808401519082015291810151908201526060016101b0565b606060048054610363906116cf565b80601f016020809104026020016040519081016040528092919081815260200182805461038f906116cf565b80156103dc5780601f106103b1576101008083540402835291602001916103dc565b820191906000526020600020905b8154815290600101906020018083116103bf57829003601f168201915b5050505050905090565b600033816103fb6103f6856117c3565b610736565b90506104088683836107e2565b6104138686836108cf565b9695505050505050565b60003361042b818585610981565b60019150505b92915050565b6104498261044483610b93565b610c03565b505050565b60003361045c8582856107e2565b6104678585856108cf565b95945050505050565b60008061047c33610c68565b905082156104d45733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902080546104c9906104c390610c9e565b83610cbb565b60019091015561042b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915290208054610513906104c390610c9e565b600290910155600191505092915050565b6104498261053183610b93565b610da0565b600061054133610dfe565b905090565b60008061055233610dfe565b33600090815260208190526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905590506105ab8184610cbb565b3360009081526001602081905260409091208101919091559392505050565b606060058054610363906116cf565b600081156106225733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915290205461061b90610c9e565b9050610431565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020908152604080832033845290915290205461061b90610c9e565b6000338161066c6103f6856117c3565b9050610679828683610981565b506001949350505050565b600033816106946103f6856117c3565b90506104678286836108cf565b6000336106af8185856108cf565b949350505050565b6106db60405180606001604052806000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff91821660009081526002602081815260408084209490951683529283529083902083516060810185528154815260018201549381019390935201549181019190915290565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e109261079f927f04000000000000000000000000000000000000000000000000000000000000009290916004016118b5565b6020604051808303816000875af11580156107be573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043191906118f6565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081205461081190610c9e565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526002602090815260408083209388168352929052908120549192509061085390610c9e565b905060006108718261086c67ffffffffffffffff610b93565b610e2d565b9050600061087f8486610ead565b9050600061088d8487610ead565b905060006108b76108a7856108a28686610ec2565b610ec2565b6108b1878a610ed6565b87610eeb565b90506108c4898983610981565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8416610926576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316610976576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b6106af848484610fb0565b73ffffffffffffffffffffffffffffffffffffffff83166109d1576040517fe602df050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b73ffffffffffffffffffffffffffffffffffffffff8216610a21576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b6000610a2c82611142565b90506000610a3985610c68565b90506000610a478483610cbb565b9050610a5285610c68565b91506000610a608584610cbb565b9050604051806060016040528085815260200183815260200182815250600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a78484604051610b82929190918252602082015260400190565b60405180910390a350505050505050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b609060440161079f565b600073ffffffffffffffffffffffffffffffffffffffff8316610c55576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b610c6183600084610fb0565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff80821660009081526020819052604081205490911680610431575090919050565b600081600003610cb2576104316000610b93565b6104318261119c565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e6891610d5d917f04000000000000000000000000000000000000000000000000000000000000009188916038016118b5565b6020604051808303816000875af1158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6191906118f6565b600073ffffffffffffffffffffffffffffffffffffffff8316610df2576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b610c6160008484610fb0565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812054610c6181610c9e565b60006064637c12a1eb610e42600480856111ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401610d5d565b6000606463dd148693610e42600480856111ac565b6000606463fb7da35f610e428380806111ac565b6000606463371d1bf2610e42600480856111ac565b600060646320cc408d610f00600480856111ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af1158015610f8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af91906118f6565b6000808281610fbf6001611209565b905073ffffffffffffffffffffffffffffffffffffffff8716611023576000610fe9600354610c9e565b9050610ff58187611268565b905061100081611142565b600355600061100e88610dfe565b905061101a8188611268565b9450505061106b565b600061102e88610dfe565b9050600061103b88610dfe565b9050600061104a83838a61127d565b9097509450905061105b8a8261133b565b6110658683610ed6565b94505050505b73ffffffffffffffffffffffffffffffffffffffff86166110b3576000611093600354610c9e565b905061109f8184610ed6565b90506110aa81611142565b600355506110bd565b6110bd868461133b565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44611116858b610cbb565b611120868b610cbb565b6040805192835260208301919091520160405180910390a39695505050505050565b6000606463c50c9c0260045b60f81b846040518363ffffffff1660e01b815260040161079f9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6000606463d2c135e5600461114e565b60008160028111156111c0576111c0611886565b60ff1660088460048111156111d7576111d7611886565b61ffff16901b61ffff1660108660048111156111f5576111f5611886565b62ffffff16901b171760e81b949350505050565b6000808261121857600061121b565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401610d5d565b60006064638c5d0150610e42600480856111ac565b6000808080808060646356c72d28611298600480808661138e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b9052606481018a90526084016060604051808303816000875af1158015611305573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611329919061190f565b919b909a509098509650505050505050565b600061134683610c68565b9050611352828261140e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526001602081815260409092208551815594909101519301929092555050565b60008160028111156113a2576113a2611886565b60ff1660088460048111156113b9576113b9611886565b61ffff16901b61ffff1660108660048111156113d7576113d7611886565b62ffffff16901b62ffffff1660188860048111156113f7576113f7611886565b63ffffffff16901b17171760e01b95945050505050565b604080518082019091526000808252602082015261142b83611142565b81526114378383610cbb565b602082015292915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461146657600080fd5b919050565b60006020828403121561147d57600080fd5b610c6182611442565b6000815180845260005b818110156114ac57602081850181015186830182015201611490565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c616020830184611486565b60006040828403121561150f57600080fd5b50919050565b60008060006060848603121561152a57600080fd5b61153384611442565b925061154160208501611442565b9150604084013567ffffffffffffffff81111561155d57600080fd5b611569868287016114fd565b9150509250925092565b6000806040838503121561158657600080fd5b61158f83611442565b946020939093013593505050565b600080604083850312156115b057600080fd5b6115b983611442565b9150602083013567ffffffffffffffff811681146115d657600080fd5b809150509250929050565b6000806000606084860312156115f657600080fd5b6115ff84611442565b925061160d60208501611442565b9150604084013590509250925092565b6000806040838503121561163057600080fd5b61163983611442565b9150602083013580151581146115d657600080fd5b6000806040838503121561166157600080fd5b61166a83611442565b9150602083013567ffffffffffffffff81111561168657600080fd5b611692858286016114fd565b9150509250929050565b600080604083850312156116af57600080fd5b6116b883611442565b91506116c660208401611442565b90509250929050565b600181811c908216806116e357607f821691505b60208210810361150f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561176e5761176e61171c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156117bb576117bb61171c565b604052919050565b6000604082360312156117d557600080fd5b6117dd61174b565b8235815260208084013567ffffffffffffffff808211156117fd57600080fd5b9085019036601f83011261181057600080fd5b8135818111156118225761182261171c565b611852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611774565b9150808252368482850101111561186857600080fd5b80848401858401376000908201840152918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fff00000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006104676060830184611486565b60006020828403121561190857600080fd5b5051919050565b60008060006060848603121561192457600080fd5b835192506020840151915060408401519050925092509256fea164736f6c6343000813000a";
|
|
701
|
+
"0x60806040523480156200001157600080fd5b506040518060400160405280601081526020016f5072697661746545524332304d6f636b60801b81525060405180604001604052806005815260200164504532304d60d81b81525081600590816200006a919062000127565b50600662000079828262000127565b505050620001f3565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ad57607f821691505b602082108103620000ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012257600081815260208120601f850160051c81016020861015620000fd5750805b601f850160051c820191505b818110156200011e5782815560010162000109565b5050505b505050565b81516001600160401b0381111562000143576200014362000082565b6200015b8162000154845462000098565b84620000d4565b602080601f8311600181146200019357600084156200017a5750858301515b600019600386901b1c1916600185901b1785556200011e565b600085815260208120601f198616915b82811015620001c457888601518255948401946001909101908401620001a3565b5085821015620001e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d5280620002036000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806370a08231116100cd57806395d89b41116100815780639dc29fac116100665780639dc29fac1461032d578063a9059cbb14610340578063dd62ed3e1461035357600080fd5b806395d89b411461031257806396b2db381461031a57600080fd5b80638269bcc3116100b25780638269bcc3146102d957806383ae57f4146102ec5780638e532c44146102ff57600080fd5b806370a082311461025f578063722713f7146102d157600080fd5b806323b872dd11610124578063313ce56711610109578063313ce5671461022857806340c10f19146102375780635d484ff81461024c57600080fd5b806323b872dd1461020257806326a9b3f11461021557600080fd5b8063043d20851461015657806306fdde03146101b9578063095ea7b3146101ce57806318160ddd146101f1575b600080fd5b61018f6101643660046117e2565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152602081905260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c16103a9565b6040516101b09190611861565b6101e16101dc366004611874565b61043b565b60405190151581526020016101b0565b60005b6040519081526020016101b0565b6101f461021036600461189e565b610455565b6101e16102233660046118da565b610479565b604051600681526020016101b0565b61024a610245366004611874565b610572565b005b6101f461025a36600461192e565b610589565b6102c461026d3660046117e2565b60408051808201909152600080825260208201525073ffffffffffffffffffffffffffffffffffffffff16600090815260016020908152604091829020825180840190935260028101548352600301549082015290565b6040516101b0919061198c565b6101f46105c0565b6101e16102e73660046117e2565b6105d0565b6101f46102fa3660046119a3565b610663565b6101e161030d3660046119a3565b610689565b6101c16106b1565b6101f46103283660046118da565b6106c0565b61024a61033b366004611874565b61076b565b6101f461034e366004611874565b61077d565b6103666103613660046119f1565b610793565b60408051825180518252602090810151818301528084015180518385015281015160608301529290910151805160808301529091015160a082015260c0016101b0565b6060600580546103b890611a24565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611a24565b80156104315780601f1061040657610100808354040283529160200191610431565b820191906000526020600020905b81548152906001019060200180831161041457829003601f168201915b5050505050905090565b60003361044981858561082e565b60019150505b92915050565b600033610463858285610a7b565b61046e858585610ba8565b9150505b9392505050565b60008061048533610c55565b905082156105005733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452825291829020825180840190935280548352600181015491830191909152906104ea906104e490610c8b565b83610cb7565b8051600283015560200151600390910155610449565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845282529182902082518084019093528054835260018101549183019190915290610557906104e490610c8b565b80516004830155602001516005909101555060019392505050565b6105848261057f83610da1565b610e47565b505050565b6000338161059e61059985611b18565b610ea5565b90506105ab868383610a7b565b6105b6868683610ba8565b9695505050505050565b60006105cb33610f15565b905090565b6000806105dc33610f15565b33600090815260208190526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905590506106358184610cb7565b3360009081526001602081815260409092208351600282015592909101516003909201919091559392505050565b6000338161067361059985611b18565b9050610680828683610ba8565b95945050505050565b6000338161069961059985611b18565b90506106a682868361082e565b506001949350505050565b6060600680546103b890611a24565b6000811561071d5733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452825291829020825180840190935280548352600101549082015261071690610c8b565b905061044f565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600260209081526040808320338452825291829020825180840190935280548352600101549082015261071690610c8b565b6105848261077883610da1565b610f5a565b60003361078b818585610ba8565b949350505050565b61079b611730565b5073ffffffffffffffffffffffffffffffffffffffff918216600090815260026020818152604080842094909516835292835290839020835160a08101855281546060820190815260018301546080830152815284518086018652928201548352600382015483850152808401929092528351808501855260048201548152600590910154928101929092529182015290565b73ffffffffffffffffffffffffffffffffffffffff8316610883576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166108d3576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161087a565b60006108de82610fb8565b905060006108eb85610c55565b905060006108f98483610cb7565b905061090485610c55565b915060006109128584610cb7565b9050604051806060016040528085815260200183815260200182815250600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000016000820151816000015560208201518160010155505060208201518160020160008201518160000155602082015181600101555050604082015181600401600082015181600001556020820151816001015550509050508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc88484604051610a6a929190611bfd565b60405180910390a350505050505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602081815260408084208151808301909252805482529092015490820152610ac090610c8b565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260026020908152604080832093881683529281528282208351808501909452805484526001015490830152919250610b1490610c8b565b90506000610b4a82610b457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610da1565b61108c565b90506000610b58848661114b565b90506000610b66848761114b565b90506000610b90610b8085610b7b8686611160565b611160565b610b8a878a611174565b87611189565b9050610b9d89898361082e565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8416610bfa576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161087a565b73ffffffffffffffffffffffffffffffffffffffff8316610c4a576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161087a565b61078b84848461124e565b73ffffffffffffffffffffffffffffffffffffffff8082166000908152602081905260408120549091168061044f575090919050565b8051600090158015610c9f57506020820151155b15610cae5761044f6000610da1565b61044f8261141c565b6040805180820190915260008082526020820152600080606463e5c83313600660f81b8787604051602001610d17919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610d4493929190611c52565b60408051808303816000875af1158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d869190611c93565b60408051808201909152918252602082015295945050505050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526024810182905260009060649063d9b60b60906044015b6020604051808303816000875af1158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044f9190611cb7565b600073ffffffffffffffffffffffffffffffffffffffff8316610e99576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161087a565b6104726000848461124e565b80518051602091820151918301516040517f0135e466000000000000000000000000000000000000000000000000000000008152600093606493630135e46693610e04937f0600000000000000000000000000000000000000000000000000000000000000939190600401611cd0565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160208181526040808420815180830190925280548252909201549082015261047281610c8b565b600073ffffffffffffffffffffffffffffffffffffffff8316610fac576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161087a565b6104728360008461124e565b60408051808201825260008082526020820181905291517f1f4491de0000000000000000000000000000000000000000000000000000000081527f06000000000000000000000000000000000000000000000000000000000000006004820152602481018490529091908190606490631f4491de9060440160408051808303816000875af115801561104e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110729190611c93565b604080518082019091529182526020820152949350505050565b60006064637c12a1eb6110a16006808561148f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064015b6020604051808303816000875af1158015611127573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104729190611cb7565b6000606463dd1486936110a16006808561148f565b6000606463fb7da35f6110a183808061148f565b6000606463371d1bf26110a16006808561148f565b600060646320cc408d61119e6006808561148f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af115801561122a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078b9190611cb7565b600080828161125d60016114ec565b905073ffffffffffffffffffffffffffffffffffffffff87166112e057604080518082019091526003548152600454602082015260009061129d90610c8b565b90506112a9818761154b565b90506112b481610fb8565b80516003556020015160045560006112cb88610f15565b90506112d7818861154b565b94505050611328565b60006112eb88610f15565b905060006112f888610f15565b9050600061130783838a611560565b909750945090506113188a8261161e565b6113228683611174565b94505050505b73ffffffffffffffffffffffffffffffffffffffff861661138f57604080518082019091526003548152600454602082015260009061136690610c8b565b90506113728184611174565b905061137d81610fb8565b80516003556020015160045550611399565b611399868461161e565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a36113f2858b610cb7565b6113fc868b610cb7565b60405161140a929190611bfd565b60405180910390a39695505050505050565b805160208201516040517f2d5831350000000000000000000000000000000000000000000000000000000081527f0600000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152600090606490632d583135908201610e04565b60008160028111156114a3576114a3611c23565b60ff1660088460068111156114ba576114ba611c23565b61ffff16901b61ffff1660108660068111156114d8576114d8611c23565b62ffffff16901b171760e81b949350505050565b600080826114fb5760006114fe565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401611108565b60006064638c5d01506110a16006808561148f565b6000808080808060646356c72d2861157b6006808086611688565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b9052606481018a90526084016060604051808303816000875af11580156115e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160c9190611d17565b919b909a509098509650505050505050565b600061162983610c55565b90506116358282611708565b73ffffffffffffffffffffffffffffffffffffffff909316600090815260016020818152604090922085518051825583015191810191909155938101518051600286015501516003909301929092555050565b600081600281111561169c5761169c611c23565b60ff1660088460068111156116b3576116b3611c23565b61ffff16901b61ffff1660108660068111156116d1576116d1611c23565b62ffffff16901b62ffffff1660188860068111156116f1576116f1611c23565b63ffffffff16901b17171760e01b95945050505050565b611710611797565b61171983610fb8565b81526117258383610cb7565b602082015292915050565b6040805160a08101909152600060608201818152608083019190915281908152602001611770604051806040016040528060008152602001600081525090565b8152602001611792604051806040016040528060008152602001600081525090565b905290565b6040805160808101825260009181018281526060820192909252908190611770565b803573ffffffffffffffffffffffffffffffffffffffff811681146117dd57600080fd5b919050565b6000602082840312156117f457600080fd5b610472826117b9565b6000815180845260005b8181101561182357602081850181015186830182015201611807565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061047260208301846117fd565b6000806040838503121561188757600080fd5b611890836117b9565b946020939093013593505050565b6000806000606084860312156118b357600080fd5b6118bc846117b9565b92506118ca602085016117b9565b9150604084013590509250925092565b600080604083850312156118ed57600080fd5b6118f6836117b9565b91506020830135801515811461190b57600080fd5b809150509250929050565b60006060828403121561192857600080fd5b50919050565b60008060006060848603121561194357600080fd5b61194c846117b9565b925061195a602085016117b9565b9150604084013567ffffffffffffffff81111561197657600080fd5b61198286828701611916565b9150509250925092565b81518152602080830151908201526040810161044f565b600080604083850312156119b657600080fd5b6119bf836117b9565b9150602083013567ffffffffffffffff8111156119db57600080fd5b6119e785828601611916565b9150509250929050565b60008060408385031215611a0457600080fd5b611a0d836117b9565b9150611a1b602084016117b9565b90509250929050565b600181811c90821680611a3857607f821691505b602082108103611928577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611ac357611ac3611a71565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611b1057611b10611a71565b604052919050565b60008136036060811215611b2b57600080fd5b611b33611aa0565b6040821215611b4157600080fd5b611b49611aa0565b84358152602080860135818301529082526040850135925067ffffffffffffffff80841115611b7757600080fd5b9285019236601f850112611b8a57600080fd5b833581811115611b9c57611b9c611a71565b611bcc837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611ac9565b91508082523683828701011115611be257600080fd5b80838601848401376000908201830152908201529392505050565b825181526020808401518183015282516040830152820151606082015260808101610472565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fff000000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061068060608301846117fd565b60008060408385031215611ca657600080fd5b505080516020909101519092909150565b600060208284031215611cc957600080fd5b5051919050565b7fff00000000000000000000000000000000000000000000000000000000000000851681528360208201528260408201526080606082015260006105b660808301846117fd565b600080600060608486031215611d2c57600080fd5b835192506020840151915060408401519050925092509256fea164736f6c6343000813000a";
|
|
570
702
|
|
|
571
703
|
type PrivateERC20MockConstructorParams =
|
|
572
704
|
| [signer?: Signer]
|