@coti-io/coti-contracts 1.2.0 → 1.3.1
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 +1 -1
- package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
- package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
- package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
- package/contracts/messaging/PrivateMessaging.sol +456 -0
- package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
- package/contracts/mocks/messaging/PrivateMessagingHarness.sol +54 -0
- package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +31 -0
- package/contracts/mocks/token/ERC20DecimalsMock.sol +21 -0
- package/contracts/mocks/token/ERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +9 -4
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
- package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
- package/contracts/node/CotiNodeRewards.sol +3 -3
- package/contracts/node/SoulboundNodeNFT.sol +23 -24
- package/contracts/onboard/AccountOnboard.sol +1 -1
- package/contracts/oracle/CotiPriceConsumer.sol +103 -0
- package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
- package/contracts/oracle/IStdReference.sol +26 -0
- package/contracts/pod/IInbox.sol +231 -0
- package/contracts/pod/IInboxMiner.sol +53 -0
- package/contracts/pod/InboxUser.sol +29 -0
- package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
- package/contracts/pod/PodNetworkConstants.sol +30 -0
- package/contracts/pod/examples/MpcAdder.sol +57 -0
- package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
- package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
- package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
- package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
- package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
- package/contracts/pod/manifest.json +52 -0
- package/contracts/pod/mpc/PodLib.sol +10 -0
- package/contracts/pod/mpc/PodLib128.sol +361 -0
- package/contracts/pod/mpc/PodLib256.sol +361 -0
- package/contracts/pod/mpc/PodLib64.sol +385 -0
- package/contracts/pod/mpc/PodLibBase.sol +72 -0
- package/contracts/pod/mpc/PodUser.sol +58 -0
- package/contracts/pod/mpc/PodUserFuji.sol +14 -0
- package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
- package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
- package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
- package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
- package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
- package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
- package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
- package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
- package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
- package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
- package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
- package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
- package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
- package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
- package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
- package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
- package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
- package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
- package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
- package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
- package/contracts/pod/token/erc7984/README.md +60 -0
- package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
- package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
- package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
- package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
- package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
- package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
- package/contracts/pod/utils/IWrappedNative.sol +11 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +376 -94
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +210 -162
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +242 -160
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +8 -2
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +8 -2
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +8 -2
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +8 -2
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +8 -2
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +8 -2
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
- package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
- package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
- package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
- package/contracts/token/points/CotiTokenPoints004.sol +43 -0
- package/contracts/utils/mpc/MpcCore.sol +610 -1
- package/contracts/utils/mpc/MpcInterface.sol +1 -1
- package/hardhat.config.ts +9 -15
- package/package.json +4 -4
- package/scripts/add-bridge-operators.cjs +87 -0
- package/scripts/deploy-coti-price-consumer-mainnet.cjs +49 -0
- package/scripts/deployCotiNodeRewards.ts +51 -0
- package/scripts/deployCotiTokenPoints004.ts +61 -0
- package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
- package/scripts/redeploy-private-and-bridges.cjs +201 -0
- package/scripts/set-bridge-limits-mainnet.cjs +177 -0
- package/scripts/verify-mainnet-private-bridges.cjs +289 -0
- package/scripts/verifyCotiTokenPoints004.ts +123 -0
- package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
- package/sonar-project.properties +11 -0
- package/test/messaging/PrivateMessaging.test.ts +158 -0
- package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
- package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
- package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1665 -0
- package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +162 -239
- package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
- package/test/utils/mpc/NegativeCases.test.ts +3 -3
- package/test/utils/mpc/Precompile.test.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +324 -0
- package/typechain-types/@openzeppelin/contracts/access/AccessControlEnumerable.ts +361 -0
- package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +292 -0
- package/typechain-types/@openzeppelin/contracts/access/IAccessControlEnumerable.ts +329 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/security/Pausable.ts +150 -0
- package/typechain-types/@openzeppelin/contracts/security/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +286 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +3 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/ERC721.ts +420 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.ts +420 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +3 -0
- package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
- package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
- package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.ts +735 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.ts +734 -0
- package/typechain-types/contracts/disperse/coinByRatio/index.ts +2 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +22 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
- package/typechain-types/contracts/index.ts +8 -0
- package/typechain-types/contracts/messaging/PrivateMessaging.ts +871 -0
- package/typechain-types/contracts/messaging/index.ts +4 -0
- package/typechain-types/contracts/mocks/index.ts +4 -0
- package/typechain-types/contracts/mocks/messaging/PrivateMessagingHarness.ts +951 -0
- package/typechain-types/contracts/mocks/messaging/index.ts +4 -0
- package/typechain-types/contracts/mocks/oracle/CotiPriceConsumerMock.ts +163 -0
- package/typechain-types/contracts/mocks/oracle/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +305 -0
- package/typechain-types/contracts/mocks/token/ERC20Mock.ts +324 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1906 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +1296 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +1270 -0
- package/typechain-types/contracts/mocks/{utils/mpc/Bitwise128BitTestsContract.ts → token/PrivateERC20/PrivateERC20GtCallerMock.ts} +47 -67
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +757 -25
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted.ts +102 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock.ts +154 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.ts +155 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.ts +107 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.ts +100 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +10 -0
- package/typechain-types/contracts/mocks/token/index.ts +2 -0
- package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +6 -6
- package/typechain-types/contracts/node/CotiNodeRewards.ts +566 -0
- package/typechain-types/contracts/node/SoulboundNodeNFT.sol/IERC5192.ts +123 -0
- package/typechain-types/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT.ts +975 -0
- package/typechain-types/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
- package/typechain-types/contracts/node/index.ts +6 -0
- package/typechain-types/contracts/oracle/CotiPriceConsumer.ts +256 -0
- package/typechain-types/contracts/oracle/ICotiPriceConsumer.ts +119 -0
- package/typechain-types/contracts/oracle/IStdReference.ts +136 -0
- package/typechain-types/contracts/oracle/index.ts +6 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +1642 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1884 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1906 -0
- package/typechain-types/contracts/privacyBridge/index.ts +13 -0
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +439 -19
- package/typechain-types/contracts/token/PrivateERC20/ITokenReceiver.ts +100 -0
- package/typechain-types/contracts/token/PrivateERC20/ITokenReceiverEncrypted.ts +99 -0
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +763 -15
- package/typechain-types/contracts/token/PrivateERC20/index.ts +4 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +1270 -0
- package/typechain-types/contracts/token/PrivateERC20/tokens/index.ts +10 -0
- package/typechain-types/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +250 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +218 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/security/Pausable__factory.ts +61 -0
- package/typechain-types/factories/@openzeppelin/contracts/security/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +330 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +455 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.ts +355 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/extensions/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +2 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +802 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +749 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +2 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable__factory.ts +35 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +41 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +1 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/index.ts +4 -0
- package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1035 -0
- package/typechain-types/factories/contracts/messaging/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/index.ts +2 -0
- package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1161 -0
- package/typechain-types/factories/contracts/mocks/messaging/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/oracle/CotiPriceConsumerMock__factory.ts +159 -0
- package/typechain-types/factories/contracts/mocks/oracle/index.ts +4 -0
- package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +432 -0
- package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +430 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock__factory.ts +125 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +1885 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1540 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1492 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +165 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +794 -52
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/IPrivateERC20TransferAndCallEncrypted__factory.ts +54 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/PrivateERC20ReentrantReceiverMock__factory.ts +159 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock__factory.ts +164 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock__factory.ts +130 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock__factory.ts +102 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +9 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/index.ts +2 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
- 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 +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +4 -22
- package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +576 -0
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/IERC5192__factory.ts +54 -0
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +1072 -0
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/node/index.ts +5 -0
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
- package/typechain-types/factories/contracts/oracle/CotiPriceConsumer__factory.ts +295 -0
- package/typechain-types/factories/contracts/oracle/ICotiPriceConsumer__factory.ts +73 -0
- package/typechain-types/factories/contracts/oracle/IStdReference__factory.ts +107 -0
- package/typechain-types/factories/contracts/oracle/index.ts +6 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +1753 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals__factory.ts +38 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +1766 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1444 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1870 -0
- package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +481 -35
- package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiverEncrypted__factory.ts +53 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/ITokenReceiver__factory.ts +54 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +812 -52
- package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1471 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1477 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1468 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1471 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1471 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1471 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1477 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
- package/typechain-types/factories/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +1414 -118
- package/typechain-types/index.ts +138 -2
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +0 -341
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +0 -347
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +0 -186
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +0 -260
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +0 -260
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +0 -302
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +0 -322
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +0 -349
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +0 -364
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +0 -182
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +0 -182
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +0 -255
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +0 -255
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +0 -332
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +0 -380
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
// SPDX-License-Identifier: UNLICENSED
|
|
2
|
+
pragma solidity ^0.8.20;
|
|
3
|
+
|
|
4
|
+
import "../../utils/mpc/MpcCore.sol";
|
|
5
|
+
|
|
6
|
+
import "../IInbox.sol";
|
|
7
|
+
import "../mpccodec/MpcAbiCodec.sol";
|
|
8
|
+
import "./coti-side/IPodExecutorOps.sol";
|
|
9
|
+
import "./PodLibBase.sol";
|
|
10
|
+
|
|
11
|
+
/// @title PodLib256
|
|
12
|
+
/// @notice 256-bit POD MPC helpers (`itUint256` / `ctUint256`).
|
|
13
|
+
abstract contract PodLib256 is PodLibBase {
|
|
14
|
+
using MpcAbiCodec for MpcAbiCodec.MpcMethodCallContext;
|
|
15
|
+
|
|
16
|
+
function add256(
|
|
17
|
+
itUint256 memory a,
|
|
18
|
+
itUint256 memory b,
|
|
19
|
+
address cOwner,
|
|
20
|
+
bytes4 callbackSelector,
|
|
21
|
+
bytes4 errorSelector,
|
|
22
|
+
uint256 totalValueWei,
|
|
23
|
+
uint256 callbackFeeLocalWei
|
|
24
|
+
) internal returns (bytes32) {
|
|
25
|
+
return _sendThree256(IPodExecutor256.add256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function sub256(
|
|
29
|
+
itUint256 memory a,
|
|
30
|
+
itUint256 memory b,
|
|
31
|
+
address cOwner,
|
|
32
|
+
bytes4 callbackSelector,
|
|
33
|
+
bytes4 errorSelector,
|
|
34
|
+
uint256 totalValueWei,
|
|
35
|
+
uint256 callbackFeeLocalWei
|
|
36
|
+
) internal returns (bytes32) {
|
|
37
|
+
return _sendThree256(IPodExecutor256.sub256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function mul256(
|
|
41
|
+
itUint256 memory a,
|
|
42
|
+
itUint256 memory b,
|
|
43
|
+
address cOwner,
|
|
44
|
+
bytes4 callbackSelector,
|
|
45
|
+
bytes4 errorSelector,
|
|
46
|
+
uint256 totalValueWei,
|
|
47
|
+
uint256 callbackFeeLocalWei
|
|
48
|
+
) internal returns (bytes32) {
|
|
49
|
+
return _sendThree256(IPodExecutor256.mul256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/// @notice Wrapping multiply modulo 2^256. Use only when downstream logic is defined over uint256 modular arithmetic.
|
|
53
|
+
function mulWrapping256(
|
|
54
|
+
itUint256 memory a,
|
|
55
|
+
itUint256 memory b,
|
|
56
|
+
address cOwner,
|
|
57
|
+
bytes4 callbackSelector,
|
|
58
|
+
bytes4 errorSelector,
|
|
59
|
+
uint256 totalValueWei,
|
|
60
|
+
uint256 callbackFeeLocalWei
|
|
61
|
+
) internal returns (bytes32) {
|
|
62
|
+
return _sendThree256(IPodExecutor256.mulWrapping256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function and256(
|
|
66
|
+
itUint256 memory a,
|
|
67
|
+
itUint256 memory b,
|
|
68
|
+
address cOwner,
|
|
69
|
+
bytes4 callbackSelector,
|
|
70
|
+
bytes4 errorSelector,
|
|
71
|
+
uint256 totalValueWei,
|
|
72
|
+
uint256 callbackFeeLocalWei
|
|
73
|
+
) internal returns (bytes32) {
|
|
74
|
+
return _sendThree256(IPodExecutor256.and256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function or256(
|
|
78
|
+
itUint256 memory a,
|
|
79
|
+
itUint256 memory b,
|
|
80
|
+
address cOwner,
|
|
81
|
+
bytes4 callbackSelector,
|
|
82
|
+
bytes4 errorSelector,
|
|
83
|
+
uint256 totalValueWei,
|
|
84
|
+
uint256 callbackFeeLocalWei
|
|
85
|
+
) internal returns (bytes32) {
|
|
86
|
+
return _sendThree256(IPodExecutor256.or256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function xor256(
|
|
90
|
+
itUint256 memory a,
|
|
91
|
+
itUint256 memory b,
|
|
92
|
+
address cOwner,
|
|
93
|
+
bytes4 callbackSelector,
|
|
94
|
+
bytes4 errorSelector,
|
|
95
|
+
uint256 totalValueWei,
|
|
96
|
+
uint256 callbackFeeLocalWei
|
|
97
|
+
) internal returns (bytes32) {
|
|
98
|
+
return _sendThree256(IPodExecutor256.xor256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function min256(
|
|
102
|
+
itUint256 memory a,
|
|
103
|
+
itUint256 memory b,
|
|
104
|
+
address cOwner,
|
|
105
|
+
bytes4 callbackSelector,
|
|
106
|
+
bytes4 errorSelector,
|
|
107
|
+
uint256 totalValueWei,
|
|
108
|
+
uint256 callbackFeeLocalWei
|
|
109
|
+
) internal returns (bytes32) {
|
|
110
|
+
return _sendThree256(IPodExecutor256.min256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function max256(
|
|
114
|
+
itUint256 memory a,
|
|
115
|
+
itUint256 memory b,
|
|
116
|
+
address cOwner,
|
|
117
|
+
bytes4 callbackSelector,
|
|
118
|
+
bytes4 errorSelector,
|
|
119
|
+
uint256 totalValueWei,
|
|
120
|
+
uint256 callbackFeeLocalWei
|
|
121
|
+
) internal returns (bytes32) {
|
|
122
|
+
return _sendThree256(IPodExecutor256.max256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function eq256(
|
|
126
|
+
itUint256 memory a,
|
|
127
|
+
itUint256 memory b,
|
|
128
|
+
address cOwner,
|
|
129
|
+
bytes4 callbackSelector,
|
|
130
|
+
bytes4 errorSelector,
|
|
131
|
+
uint256 totalValueWei,
|
|
132
|
+
uint256 callbackFeeLocalWei
|
|
133
|
+
) internal returns (bytes32) {
|
|
134
|
+
return _sendThree256(IPodExecutor256.eq256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function ne256(
|
|
138
|
+
itUint256 memory a,
|
|
139
|
+
itUint256 memory b,
|
|
140
|
+
address cOwner,
|
|
141
|
+
bytes4 callbackSelector,
|
|
142
|
+
bytes4 errorSelector,
|
|
143
|
+
uint256 totalValueWei,
|
|
144
|
+
uint256 callbackFeeLocalWei
|
|
145
|
+
) internal returns (bytes32) {
|
|
146
|
+
return _sendThree256(IPodExecutor256.ne256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function ge256(
|
|
150
|
+
itUint256 memory a,
|
|
151
|
+
itUint256 memory b,
|
|
152
|
+
address cOwner,
|
|
153
|
+
bytes4 callbackSelector,
|
|
154
|
+
bytes4 errorSelector,
|
|
155
|
+
uint256 totalValueWei,
|
|
156
|
+
uint256 callbackFeeLocalWei
|
|
157
|
+
) internal returns (bytes32) {
|
|
158
|
+
return _sendThree256(IPodExecutor256.ge256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function gt256(
|
|
162
|
+
itUint256 memory a,
|
|
163
|
+
itUint256 memory b,
|
|
164
|
+
address cOwner,
|
|
165
|
+
bytes4 callbackSelector,
|
|
166
|
+
bytes4 errorSelector,
|
|
167
|
+
uint256 totalValueWei,
|
|
168
|
+
uint256 callbackFeeLocalWei
|
|
169
|
+
) internal returns (bytes32) {
|
|
170
|
+
return _sendThree256(IPodExecutor256.gt256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function le256(
|
|
174
|
+
itUint256 memory a,
|
|
175
|
+
itUint256 memory b,
|
|
176
|
+
address cOwner,
|
|
177
|
+
bytes4 callbackSelector,
|
|
178
|
+
bytes4 errorSelector,
|
|
179
|
+
uint256 totalValueWei,
|
|
180
|
+
uint256 callbackFeeLocalWei
|
|
181
|
+
) internal returns (bytes32) {
|
|
182
|
+
return _sendThree256(IPodExecutor256.le256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
function lt256(
|
|
186
|
+
itUint256 memory a,
|
|
187
|
+
itUint256 memory b,
|
|
188
|
+
address cOwner,
|
|
189
|
+
bytes4 callbackSelector,
|
|
190
|
+
bytes4 errorSelector,
|
|
191
|
+
uint256 totalValueWei,
|
|
192
|
+
uint256 callbackFeeLocalWei
|
|
193
|
+
) internal returns (bytes32) {
|
|
194
|
+
return _sendThree256(IPodExecutor256.lt256.selector, a, b, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function mux256(
|
|
198
|
+
itBool memory bit,
|
|
199
|
+
itUint256 memory a,
|
|
200
|
+
itUint256 memory b,
|
|
201
|
+
address cOwner,
|
|
202
|
+
bytes4 callbackSelector,
|
|
203
|
+
bytes4 errorSelector,
|
|
204
|
+
uint256 totalValueWei,
|
|
205
|
+
uint256 callbackFeeLocalWei
|
|
206
|
+
) internal returns (bytes32) {
|
|
207
|
+
return _forwardTwoWay(
|
|
208
|
+
_buildMpcMux256(bit, a, b, cOwner),
|
|
209
|
+
callbackSelector,
|
|
210
|
+
errorSelector,
|
|
211
|
+
totalValueWei,
|
|
212
|
+
callbackFeeLocalWei
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function _buildMpcMux256(
|
|
217
|
+
itBool memory bit,
|
|
218
|
+
itUint256 memory a,
|
|
219
|
+
itUint256 memory b,
|
|
220
|
+
address cOwner
|
|
221
|
+
) private pure returns (IInbox.MpcMethodCall memory) {
|
|
222
|
+
return MpcAbiCodec.create(IPodExecutor256.mux256.selector, 4)
|
|
223
|
+
.addArgument(bit)
|
|
224
|
+
.addArgument(a)
|
|
225
|
+
.addArgument(b)
|
|
226
|
+
.addArgument(cOwner)
|
|
227
|
+
.build();
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function shl256(
|
|
231
|
+
itUint256 memory a,
|
|
232
|
+
uint8 s,
|
|
233
|
+
address cOwner,
|
|
234
|
+
bytes4 callbackSelector,
|
|
235
|
+
bytes4 errorSelector,
|
|
236
|
+
uint256 totalValueWei,
|
|
237
|
+
uint256 callbackFeeLocalWei
|
|
238
|
+
) internal returns (bytes32) {
|
|
239
|
+
return _sendShift256(
|
|
240
|
+
IPodExecutor256.shl256.selector, a, s, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function shr256(
|
|
245
|
+
itUint256 memory a,
|
|
246
|
+
uint8 s,
|
|
247
|
+
address cOwner,
|
|
248
|
+
bytes4 callbackSelector,
|
|
249
|
+
bytes4 errorSelector,
|
|
250
|
+
uint256 totalValueWei,
|
|
251
|
+
uint256 callbackFeeLocalWei
|
|
252
|
+
) internal returns (bytes32) {
|
|
253
|
+
return _sendShift256(
|
|
254
|
+
IPodExecutor256.shr256.selector, a, s, cOwner, callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/// @dev Callback `data` is `abi.encode(uint256)` plaintext (executor decrypts MPC rand on COTI).
|
|
259
|
+
function rand256(
|
|
260
|
+
address cOwner,
|
|
261
|
+
bytes4 callbackSelector,
|
|
262
|
+
bytes4 errorSelector,
|
|
263
|
+
uint256 totalValueWei,
|
|
264
|
+
uint256 callbackFeeLocalWei
|
|
265
|
+
) internal returns (bytes32) {
|
|
266
|
+
return _forwardTwoWay(
|
|
267
|
+
_buildMpcRand256(cOwner), callbackSelector, errorSelector, totalValueWei, callbackFeeLocalWei
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/// @dev Callback `data` is `abi.encode(uint256)` plaintext.
|
|
272
|
+
function randBoundedBits256(
|
|
273
|
+
uint8 numBits,
|
|
274
|
+
address cOwner,
|
|
275
|
+
bytes4 callbackSelector,
|
|
276
|
+
bytes4 errorSelector,
|
|
277
|
+
uint256 totalValueWei,
|
|
278
|
+
uint256 callbackFeeLocalWei
|
|
279
|
+
) internal returns (bytes32) {
|
|
280
|
+
return _forwardTwoWay(
|
|
281
|
+
_buildMpcRandBoundedBits256(numBits, cOwner),
|
|
282
|
+
callbackSelector,
|
|
283
|
+
errorSelector,
|
|
284
|
+
totalValueWei,
|
|
285
|
+
callbackFeeLocalWei
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
function _buildMpcRand256(address cOwner) private pure returns (IInbox.MpcMethodCall memory) {
|
|
290
|
+
return MpcAbiCodec.create(IPodExecutor256.rand256.selector, 1).addArgument(cOwner).build();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
function _buildMpcRandBoundedBits256(uint8 numBits, address cOwner)
|
|
294
|
+
private
|
|
295
|
+
pure
|
|
296
|
+
returns (IInbox.MpcMethodCall memory)
|
|
297
|
+
{
|
|
298
|
+
return MpcAbiCodec.create(IPodExecutor256.randBoundedBits256.selector, 2)
|
|
299
|
+
.addArgument(uint256(uint8(numBits)))
|
|
300
|
+
.addArgument(cOwner)
|
|
301
|
+
.build();
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
function _buildMpcThree256(bytes4 selector, itUint256 memory a, itUint256 memory b, address cOwner)
|
|
305
|
+
private
|
|
306
|
+
pure
|
|
307
|
+
returns (IInbox.MpcMethodCall memory)
|
|
308
|
+
{
|
|
309
|
+
return MpcAbiCodec.create(selector, 3).addArgument(a).addArgument(b).addArgument(cOwner).build();
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function _buildMpcShift256(bytes4 selector, itUint256 memory a, uint8 s, address cOwner)
|
|
313
|
+
private
|
|
314
|
+
pure
|
|
315
|
+
returns (IInbox.MpcMethodCall memory)
|
|
316
|
+
{
|
|
317
|
+
return MpcAbiCodec.create(selector, 3)
|
|
318
|
+
.addArgument(a)
|
|
319
|
+
.addArgument(uint256(uint8(s)))
|
|
320
|
+
.addArgument(cOwner)
|
|
321
|
+
.build();
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
function _sendThree256(
|
|
325
|
+
bytes4 selector,
|
|
326
|
+
itUint256 memory a,
|
|
327
|
+
itUint256 memory b,
|
|
328
|
+
address cOwner,
|
|
329
|
+
bytes4 callbackSelector,
|
|
330
|
+
bytes4 errorSelector,
|
|
331
|
+
uint256 totalValueWei,
|
|
332
|
+
uint256 callbackFeeLocalWei
|
|
333
|
+
) private returns (bytes32) {
|
|
334
|
+
return _forwardTwoWay(
|
|
335
|
+
_buildMpcThree256(selector, a, b, cOwner),
|
|
336
|
+
callbackSelector,
|
|
337
|
+
errorSelector,
|
|
338
|
+
totalValueWei,
|
|
339
|
+
callbackFeeLocalWei
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
function _sendShift256(
|
|
344
|
+
bytes4 selector,
|
|
345
|
+
itUint256 memory a,
|
|
346
|
+
uint8 s,
|
|
347
|
+
address cOwner,
|
|
348
|
+
bytes4 callbackSelector,
|
|
349
|
+
bytes4 errorSelector,
|
|
350
|
+
uint256 totalValueWei,
|
|
351
|
+
uint256 callbackFeeLocalWei
|
|
352
|
+
) private returns (bytes32) {
|
|
353
|
+
return _forwardTwoWay(
|
|
354
|
+
_buildMpcShift256(selector, a, s, cOwner),
|
|
355
|
+
callbackSelector,
|
|
356
|
+
errorSelector,
|
|
357
|
+
totalValueWei,
|
|
358
|
+
callbackFeeLocalWei
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
}
|