@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
|
@@ -69,16 +69,40 @@ const _abi = [
|
|
|
69
69
|
type: "address",
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
+
components: [
|
|
73
|
+
{
|
|
74
|
+
internalType: "ctUint128",
|
|
75
|
+
name: "ciphertextHigh",
|
|
76
|
+
type: "uint256",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
internalType: "ctUint128",
|
|
80
|
+
name: "ciphertextLow",
|
|
81
|
+
type: "uint256",
|
|
82
|
+
},
|
|
83
|
+
],
|
|
72
84
|
indexed: false,
|
|
73
|
-
internalType: "
|
|
85
|
+
internalType: "struct ctUint256",
|
|
74
86
|
name: "ownerValue",
|
|
75
|
-
type: "
|
|
87
|
+
type: "tuple",
|
|
76
88
|
},
|
|
77
89
|
{
|
|
90
|
+
components: [
|
|
91
|
+
{
|
|
92
|
+
internalType: "ctUint128",
|
|
93
|
+
name: "ciphertextHigh",
|
|
94
|
+
type: "uint256",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
internalType: "ctUint128",
|
|
98
|
+
name: "ciphertextLow",
|
|
99
|
+
type: "uint256",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
78
102
|
indexed: false,
|
|
79
|
-
internalType: "
|
|
103
|
+
internalType: "struct ctUint256",
|
|
80
104
|
name: "spenderValue",
|
|
81
|
-
type: "
|
|
105
|
+
type: "tuple",
|
|
82
106
|
},
|
|
83
107
|
],
|
|
84
108
|
name: "Approval",
|
|
@@ -100,16 +124,40 @@ const _abi = [
|
|
|
100
124
|
type: "address",
|
|
101
125
|
},
|
|
102
126
|
{
|
|
127
|
+
components: [
|
|
128
|
+
{
|
|
129
|
+
internalType: "ctUint128",
|
|
130
|
+
name: "ciphertextHigh",
|
|
131
|
+
type: "uint256",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
internalType: "ctUint128",
|
|
135
|
+
name: "ciphertextLow",
|
|
136
|
+
type: "uint256",
|
|
137
|
+
},
|
|
138
|
+
],
|
|
103
139
|
indexed: false,
|
|
104
|
-
internalType: "
|
|
140
|
+
internalType: "struct ctUint256",
|
|
105
141
|
name: "senderValue",
|
|
106
|
-
type: "
|
|
142
|
+
type: "tuple",
|
|
107
143
|
},
|
|
108
144
|
{
|
|
145
|
+
components: [
|
|
146
|
+
{
|
|
147
|
+
internalType: "ctUint128",
|
|
148
|
+
name: "ciphertextHigh",
|
|
149
|
+
type: "uint256",
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
internalType: "ctUint128",
|
|
153
|
+
name: "ciphertextLow",
|
|
154
|
+
type: "uint256",
|
|
155
|
+
},
|
|
156
|
+
],
|
|
109
157
|
indexed: false,
|
|
110
|
-
internalType: "
|
|
158
|
+
internalType: "struct ctUint256",
|
|
111
159
|
name: "receiverValue",
|
|
112
|
-
type: "
|
|
160
|
+
type: "tuple",
|
|
113
161
|
},
|
|
114
162
|
],
|
|
115
163
|
name: "Transfer",
|
|
@@ -150,7 +198,7 @@ const _abi = [
|
|
|
150
198
|
name: "allowance",
|
|
151
199
|
outputs: [
|
|
152
200
|
{
|
|
153
|
-
internalType: "
|
|
201
|
+
internalType: "gtUint256",
|
|
154
202
|
name: "",
|
|
155
203
|
type: "uint256",
|
|
156
204
|
},
|
|
@@ -176,19 +224,55 @@ const _abi = [
|
|
|
176
224
|
{
|
|
177
225
|
components: [
|
|
178
226
|
{
|
|
179
|
-
|
|
227
|
+
components: [
|
|
228
|
+
{
|
|
229
|
+
internalType: "ctUint128",
|
|
230
|
+
name: "ciphertextHigh",
|
|
231
|
+
type: "uint256",
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
internalType: "ctUint128",
|
|
235
|
+
name: "ciphertextLow",
|
|
236
|
+
type: "uint256",
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
internalType: "struct ctUint256",
|
|
180
240
|
name: "ciphertext",
|
|
181
|
-
type: "
|
|
241
|
+
type: "tuple",
|
|
182
242
|
},
|
|
183
243
|
{
|
|
184
|
-
|
|
244
|
+
components: [
|
|
245
|
+
{
|
|
246
|
+
internalType: "ctUint128",
|
|
247
|
+
name: "ciphertextHigh",
|
|
248
|
+
type: "uint256",
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
internalType: "ctUint128",
|
|
252
|
+
name: "ciphertextLow",
|
|
253
|
+
type: "uint256",
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
internalType: "struct ctUint256",
|
|
185
257
|
name: "ownerCiphertext",
|
|
186
|
-
type: "
|
|
258
|
+
type: "tuple",
|
|
187
259
|
},
|
|
188
260
|
{
|
|
189
|
-
|
|
261
|
+
components: [
|
|
262
|
+
{
|
|
263
|
+
internalType: "ctUint128",
|
|
264
|
+
name: "ciphertextHigh",
|
|
265
|
+
type: "uint256",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
internalType: "ctUint128",
|
|
269
|
+
name: "ciphertextLow",
|
|
270
|
+
type: "uint256",
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
internalType: "struct ctUint256",
|
|
190
274
|
name: "spenderCiphertext",
|
|
191
|
-
type: "
|
|
275
|
+
type: "tuple",
|
|
192
276
|
},
|
|
193
277
|
],
|
|
194
278
|
internalType: "struct IPrivateERC20.Allowance",
|
|
@@ -207,7 +291,7 @@ const _abi = [
|
|
|
207
291
|
type: "address",
|
|
208
292
|
},
|
|
209
293
|
{
|
|
210
|
-
internalType: "
|
|
294
|
+
internalType: "gtUint256",
|
|
211
295
|
name: "value",
|
|
212
296
|
type: "uint256",
|
|
213
297
|
},
|
|
@@ -233,9 +317,21 @@ const _abi = [
|
|
|
233
317
|
{
|
|
234
318
|
components: [
|
|
235
319
|
{
|
|
236
|
-
|
|
320
|
+
components: [
|
|
321
|
+
{
|
|
322
|
+
internalType: "ctUint128",
|
|
323
|
+
name: "ciphertextHigh",
|
|
324
|
+
type: "uint256",
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
internalType: "ctUint128",
|
|
328
|
+
name: "ciphertextLow",
|
|
329
|
+
type: "uint256",
|
|
330
|
+
},
|
|
331
|
+
],
|
|
332
|
+
internalType: "struct ctUint256",
|
|
237
333
|
name: "ciphertext",
|
|
238
|
-
type: "
|
|
334
|
+
type: "tuple",
|
|
239
335
|
},
|
|
240
336
|
{
|
|
241
337
|
internalType: "bytes",
|
|
@@ -243,7 +339,7 @@ const _abi = [
|
|
|
243
339
|
type: "bytes",
|
|
244
340
|
},
|
|
245
341
|
],
|
|
246
|
-
internalType: "struct
|
|
342
|
+
internalType: "struct itUint256",
|
|
247
343
|
name: "value",
|
|
248
344
|
type: "tuple",
|
|
249
345
|
},
|
|
@@ -270,9 +366,21 @@ const _abi = [
|
|
|
270
366
|
name: "balanceOf",
|
|
271
367
|
outputs: [
|
|
272
368
|
{
|
|
273
|
-
|
|
369
|
+
components: [
|
|
370
|
+
{
|
|
371
|
+
internalType: "ctUint128",
|
|
372
|
+
name: "ciphertextHigh",
|
|
373
|
+
type: "uint256",
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
internalType: "ctUint128",
|
|
377
|
+
name: "ciphertextLow",
|
|
378
|
+
type: "uint256",
|
|
379
|
+
},
|
|
380
|
+
],
|
|
381
|
+
internalType: "struct ctUint256",
|
|
274
382
|
name: "",
|
|
275
|
-
type: "
|
|
383
|
+
type: "tuple",
|
|
276
384
|
},
|
|
277
385
|
],
|
|
278
386
|
stateMutability: "view",
|
|
@@ -283,7 +391,7 @@ const _abi = [
|
|
|
283
391
|
name: "balanceOf",
|
|
284
392
|
outputs: [
|
|
285
393
|
{
|
|
286
|
-
internalType: "
|
|
394
|
+
internalType: "gtUint256",
|
|
287
395
|
name: "",
|
|
288
396
|
type: "uint256",
|
|
289
397
|
},
|
|
@@ -396,9 +504,21 @@ const _abi = [
|
|
|
396
504
|
{
|
|
397
505
|
components: [
|
|
398
506
|
{
|
|
399
|
-
|
|
507
|
+
components: [
|
|
508
|
+
{
|
|
509
|
+
internalType: "ctUint128",
|
|
510
|
+
name: "ciphertextHigh",
|
|
511
|
+
type: "uint256",
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
internalType: "ctUint128",
|
|
515
|
+
name: "ciphertextLow",
|
|
516
|
+
type: "uint256",
|
|
517
|
+
},
|
|
518
|
+
],
|
|
519
|
+
internalType: "struct ctUint256",
|
|
400
520
|
name: "ciphertext",
|
|
401
|
-
type: "
|
|
521
|
+
type: "tuple",
|
|
402
522
|
},
|
|
403
523
|
{
|
|
404
524
|
internalType: "bytes",
|
|
@@ -406,7 +526,7 @@ const _abi = [
|
|
|
406
526
|
type: "bytes",
|
|
407
527
|
},
|
|
408
528
|
],
|
|
409
|
-
internalType: "struct
|
|
529
|
+
internalType: "struct itUint256",
|
|
410
530
|
name: "value",
|
|
411
531
|
type: "tuple",
|
|
412
532
|
},
|
|
@@ -430,7 +550,7 @@ const _abi = [
|
|
|
430
550
|
type: "address",
|
|
431
551
|
},
|
|
432
552
|
{
|
|
433
|
-
internalType: "
|
|
553
|
+
internalType: "gtUint256",
|
|
434
554
|
name: "value",
|
|
435
555
|
type: "uint256",
|
|
436
556
|
},
|
|
@@ -459,21 +579,9 @@ const _abi = [
|
|
|
459
579
|
type: "address",
|
|
460
580
|
},
|
|
461
581
|
{
|
|
462
|
-
|
|
463
|
-
{
|
|
464
|
-
internalType: "ctUint64",
|
|
465
|
-
name: "ciphertext",
|
|
466
|
-
type: "uint256",
|
|
467
|
-
},
|
|
468
|
-
{
|
|
469
|
-
internalType: "bytes",
|
|
470
|
-
name: "signature",
|
|
471
|
-
type: "bytes",
|
|
472
|
-
},
|
|
473
|
-
],
|
|
474
|
-
internalType: "struct itUint64",
|
|
582
|
+
internalType: "gtUint256",
|
|
475
583
|
name: "value",
|
|
476
|
-
type: "
|
|
584
|
+
type: "uint256",
|
|
477
585
|
},
|
|
478
586
|
],
|
|
479
587
|
name: "transferFrom",
|
|
@@ -500,9 +608,33 @@ const _abi = [
|
|
|
500
608
|
type: "address",
|
|
501
609
|
},
|
|
502
610
|
{
|
|
503
|
-
|
|
611
|
+
components: [
|
|
612
|
+
{
|
|
613
|
+
components: [
|
|
614
|
+
{
|
|
615
|
+
internalType: "ctUint128",
|
|
616
|
+
name: "ciphertextHigh",
|
|
617
|
+
type: "uint256",
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
internalType: "ctUint128",
|
|
621
|
+
name: "ciphertextLow",
|
|
622
|
+
type: "uint256",
|
|
623
|
+
},
|
|
624
|
+
],
|
|
625
|
+
internalType: "struct ctUint256",
|
|
626
|
+
name: "ciphertext",
|
|
627
|
+
type: "tuple",
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
internalType: "bytes",
|
|
631
|
+
name: "signature",
|
|
632
|
+
type: "bytes",
|
|
633
|
+
},
|
|
634
|
+
],
|
|
635
|
+
internalType: "struct itUint256",
|
|
504
636
|
name: "value",
|
|
505
|
-
type: "
|
|
637
|
+
type: "tuple",
|
|
506
638
|
},
|
|
507
639
|
],
|
|
508
640
|
name: "transferFrom",
|
|
@@ -584,6 +584,35 @@ const _abi = [
|
|
|
584
584
|
stateMutability: "nonpayable",
|
|
585
585
|
type: "function",
|
|
586
586
|
},
|
|
587
|
+
{
|
|
588
|
+
inputs: [
|
|
589
|
+
{
|
|
590
|
+
internalType: "bytes1",
|
|
591
|
+
name: "metaData",
|
|
592
|
+
type: "bytes1",
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
internalType: "uint256",
|
|
596
|
+
name: "gt",
|
|
597
|
+
type: "uint256",
|
|
598
|
+
},
|
|
599
|
+
],
|
|
600
|
+
name: "OffBoard256",
|
|
601
|
+
outputs: [
|
|
602
|
+
{
|
|
603
|
+
internalType: "uint256",
|
|
604
|
+
name: "ctHigh",
|
|
605
|
+
type: "uint256",
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
internalType: "uint256",
|
|
609
|
+
name: "ctLow",
|
|
610
|
+
type: "uint256",
|
|
611
|
+
},
|
|
612
|
+
],
|
|
613
|
+
stateMutability: "nonpayable",
|
|
614
|
+
type: "function",
|
|
615
|
+
},
|
|
587
616
|
{
|
|
588
617
|
inputs: [
|
|
589
618
|
{
|
|
@@ -613,6 +642,69 @@ const _abi = [
|
|
|
613
642
|
stateMutability: "nonpayable",
|
|
614
643
|
type: "function",
|
|
615
644
|
},
|
|
645
|
+
{
|
|
646
|
+
inputs: [
|
|
647
|
+
{
|
|
648
|
+
internalType: "bytes1",
|
|
649
|
+
name: "metaData",
|
|
650
|
+
type: "bytes1",
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
internalType: "uint256",
|
|
654
|
+
name: "ct",
|
|
655
|
+
type: "uint256",
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
internalType: "bytes",
|
|
659
|
+
name: "addr",
|
|
660
|
+
type: "bytes",
|
|
661
|
+
},
|
|
662
|
+
],
|
|
663
|
+
name: "OffBoardToUser256",
|
|
664
|
+
outputs: [
|
|
665
|
+
{
|
|
666
|
+
internalType: "uint256",
|
|
667
|
+
name: "ctHigh",
|
|
668
|
+
type: "uint256",
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
internalType: "uint256",
|
|
672
|
+
name: "ctLow",
|
|
673
|
+
type: "uint256",
|
|
674
|
+
},
|
|
675
|
+
],
|
|
676
|
+
stateMutability: "nonpayable",
|
|
677
|
+
type: "function",
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
inputs: [
|
|
681
|
+
{
|
|
682
|
+
internalType: "bytes1",
|
|
683
|
+
name: "metaData",
|
|
684
|
+
type: "bytes1",
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
internalType: "uint256",
|
|
688
|
+
name: "ctHigh",
|
|
689
|
+
type: "uint256",
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
internalType: "uint256",
|
|
693
|
+
name: "ctLow",
|
|
694
|
+
type: "uint256",
|
|
695
|
+
},
|
|
696
|
+
],
|
|
697
|
+
name: "OnBoard",
|
|
698
|
+
outputs: [
|
|
699
|
+
{
|
|
700
|
+
internalType: "uint256",
|
|
701
|
+
name: "result",
|
|
702
|
+
type: "uint256",
|
|
703
|
+
},
|
|
704
|
+
],
|
|
705
|
+
stateMutability: "nonpayable",
|
|
706
|
+
type: "function",
|
|
707
|
+
},
|
|
616
708
|
{
|
|
617
709
|
inputs: [
|
|
618
710
|
{
|
|
@@ -991,6 +1083,40 @@ const _abi = [
|
|
|
991
1083
|
stateMutability: "nonpayable",
|
|
992
1084
|
type: "function",
|
|
993
1085
|
},
|
|
1086
|
+
{
|
|
1087
|
+
inputs: [
|
|
1088
|
+
{
|
|
1089
|
+
internalType: "bytes1",
|
|
1090
|
+
name: "metaData",
|
|
1091
|
+
type: "bytes1",
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
internalType: "uint256",
|
|
1095
|
+
name: "ciphertextHigh",
|
|
1096
|
+
type: "uint256",
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
internalType: "uint256",
|
|
1100
|
+
name: "ciphertextLow",
|
|
1101
|
+
type: "uint256",
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
internalType: "bytes",
|
|
1105
|
+
name: "signature",
|
|
1106
|
+
type: "bytes",
|
|
1107
|
+
},
|
|
1108
|
+
],
|
|
1109
|
+
name: "ValidateCiphertext",
|
|
1110
|
+
outputs: [
|
|
1111
|
+
{
|
|
1112
|
+
internalType: "uint256",
|
|
1113
|
+
name: "result",
|
|
1114
|
+
type: "uint256",
|
|
1115
|
+
},
|
|
1116
|
+
],
|
|
1117
|
+
stateMutability: "nonpayable",
|
|
1118
|
+
type: "function",
|
|
1119
|
+
},
|
|
994
1120
|
{
|
|
995
1121
|
inputs: [
|
|
996
1122
|
{
|