@coti-io/coti-contracts 1.1.0 → 1.3.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 +19 -15
- 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/messaging/PrivateMessaging.sol +456 -0
- 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 +19 -0
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +18 -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/oracle/CotiPriceConsumer.sol +103 -0
- package/contracts/oracle/ICotiPriceConsumer.sol +15 -0
- package/contracts/oracle/IStdReference.sol +26 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +600 -0
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +316 -0
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +333 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +22 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +23 -0
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +23 -0
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +23 -0
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +23 -0
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +23 -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 +63 -12
- package/package.json +22 -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/deploySoulboundNodeNFT.ts +57 -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/sonar-project.properties +11 -0
- package/test/messaging/PrivateMessaging.test.ts +158 -0
- package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +1663 -0
- package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +250 -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/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/Ownable.ts +153 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +8 -0
- package/typechain-types/@openzeppelin/contracts/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 +330 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +286 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -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/token/index.ts +2 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -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 +6 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IOwnable.ts +95 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +228 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +6 -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 +10 -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 +349 -0
- package/typechain-types/contracts/mocks/token/ERC20Mock.ts +368 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.ts +108 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +1892 -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/token/PrivateERC20/PrivateERC20GtCallerMock.ts +166 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +827 -78
- 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/utils/mpc/{Arithmetic128BitTestsContract.ts → Arithmetic128TestsContract.ts} +96 -126
- package/typechain-types/contracts/mocks/utils/mpc/{Arithmetic256BitTestsContract.ts → Arithmetic256TestsContract.ts} +97 -133
- package/typechain-types/contracts/mocks/utils/mpc/{Bitwise128BitTestsContract.ts → Bitwise128TestsContract.ts} +52 -59
- package/typechain-types/contracts/mocks/utils/mpc/{Bitwise256BitTestsContract.ts → Bitwise256TestsContract.ts} +52 -59
- 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 → Comparison128TestsContract.ts} +115 -97
- package/typechain-types/contracts/mocks/utils/mpc/{Comparison256BitTestsContract.ts → Comparison256TestsContract.ts} +115 -97
- 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/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 +1628 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +1870 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/IHasDecimals.ts +84 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +1892 -0
- package/typechain-types/contracts/privacyBridge/index.ts +13 -0
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +507 -70
- 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 +833 -68
- 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/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControlEnumerable__factory.ts +276 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +229 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControlEnumerable__factory.ts +244 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +197 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +8 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +2 -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 +356 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +247 -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 +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +416 -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/token/index.ts +1 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +791 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +711 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +6 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -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 +203 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +6 -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 +5 -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 +394 -0
- package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +392 -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 +1797 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +1514 -0
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +1466 -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 +975 -127
- 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 +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 +10 -28
- package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +549 -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 +947 -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 +1676 -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 +1678 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +1367 -0
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +1782 -0
- package/typechain-types/factories/contracts/privacyBridge/index.ts +12 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +639 -61
- 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 +986 -120
- package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +3 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +1445 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +1451 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +1442 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +1445 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +1445 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +1445 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +1451 -0
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/index.ts +10 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
- package/typechain-types/hardhat.d.ts +1772 -278
- package/typechain-types/index.ts +182 -16
- package/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.sol +0 -260
- package/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.sol +0 -264
- package/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Comparison128BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Comparison256BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.sol +0 -185
- package/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.sol +0 -190
- package/contracts/mocks/utils/mpc/README.md +0 -486
- package/test/utils/mpc/Unsigned128BitIntegers.test.ts +0 -945
- package/test/utils/mpc/Unsigned256BitIntegers.test.ts +0 -1124
- package/test/utils/mpc/helpers.ts +0 -77
- package/typechain-types/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
package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts
CHANGED
|
@@ -31,6 +31,11 @@ const _abi = [
|
|
|
31
31
|
name: "ERC20InvalidApprover",
|
|
32
32
|
type: "error",
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [],
|
|
36
|
+
name: "ERC20InvalidMetadata",
|
|
37
|
+
type: "error",
|
|
38
|
+
},
|
|
34
39
|
{
|
|
35
40
|
inputs: [
|
|
36
41
|
{
|
|
@@ -64,6 +69,82 @@ const _abi = [
|
|
|
64
69
|
name: "ERC20InvalidSpender",
|
|
65
70
|
type: "error",
|
|
66
71
|
},
|
|
72
|
+
{
|
|
73
|
+
inputs: [
|
|
74
|
+
{
|
|
75
|
+
internalType: "address",
|
|
76
|
+
name: "account",
|
|
77
|
+
type: "address",
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
name: "ERC20SelfTransferNotAllowed",
|
|
81
|
+
type: "error",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
inputs: [],
|
|
85
|
+
name: "ERC20UnsafeApprove",
|
|
86
|
+
type: "error",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
inputs: [],
|
|
90
|
+
name: "PublicAmountsDisabled",
|
|
91
|
+
type: "error",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
inputs: [
|
|
95
|
+
{
|
|
96
|
+
internalType: "address",
|
|
97
|
+
name: "to",
|
|
98
|
+
type: "address",
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
name: "TransferAndCallRequiresContract",
|
|
102
|
+
type: "error",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
anonymous: false,
|
|
106
|
+
inputs: [
|
|
107
|
+
{
|
|
108
|
+
indexed: true,
|
|
109
|
+
internalType: "address",
|
|
110
|
+
name: "account",
|
|
111
|
+
type: "address",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
indexed: true,
|
|
115
|
+
internalType: "address",
|
|
116
|
+
name: "newAddress",
|
|
117
|
+
type: "address",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
name: "AccountEncryptionAddressSet",
|
|
121
|
+
type: "event",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
anonymous: false,
|
|
125
|
+
inputs: [
|
|
126
|
+
{
|
|
127
|
+
indexed: true,
|
|
128
|
+
internalType: "address",
|
|
129
|
+
name: "owner",
|
|
130
|
+
type: "address",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
indexed: true,
|
|
134
|
+
internalType: "address",
|
|
135
|
+
name: "spender",
|
|
136
|
+
type: "address",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
indexed: false,
|
|
140
|
+
internalType: "bool",
|
|
141
|
+
name: "isSpender",
|
|
142
|
+
type: "bool",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
name: "AllowanceReencrypted",
|
|
146
|
+
type: "event",
|
|
147
|
+
},
|
|
67
148
|
{
|
|
68
149
|
anonymous: false,
|
|
69
150
|
inputs: [
|
|
@@ -80,21 +161,133 @@ const _abi = [
|
|
|
80
161
|
type: "address",
|
|
81
162
|
},
|
|
82
163
|
{
|
|
164
|
+
components: [
|
|
165
|
+
{
|
|
166
|
+
internalType: "ctUint128",
|
|
167
|
+
name: "ciphertextHigh",
|
|
168
|
+
type: "uint256",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
internalType: "ctUint128",
|
|
172
|
+
name: "ciphertextLow",
|
|
173
|
+
type: "uint256",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
83
176
|
indexed: false,
|
|
84
|
-
internalType: "
|
|
177
|
+
internalType: "struct ctUint256",
|
|
85
178
|
name: "ownerValue",
|
|
86
|
-
type: "
|
|
179
|
+
type: "tuple",
|
|
87
180
|
},
|
|
88
181
|
{
|
|
182
|
+
components: [
|
|
183
|
+
{
|
|
184
|
+
internalType: "ctUint128",
|
|
185
|
+
name: "ciphertextHigh",
|
|
186
|
+
type: "uint256",
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
internalType: "ctUint128",
|
|
190
|
+
name: "ciphertextLow",
|
|
191
|
+
type: "uint256",
|
|
192
|
+
},
|
|
193
|
+
],
|
|
89
194
|
indexed: false,
|
|
90
|
-
internalType: "
|
|
195
|
+
internalType: "struct ctUint256",
|
|
91
196
|
name: "spenderValue",
|
|
92
|
-
type: "
|
|
197
|
+
type: "tuple",
|
|
93
198
|
},
|
|
94
199
|
],
|
|
95
200
|
name: "Approval",
|
|
96
201
|
type: "event",
|
|
97
202
|
},
|
|
203
|
+
{
|
|
204
|
+
anonymous: false,
|
|
205
|
+
inputs: [
|
|
206
|
+
{
|
|
207
|
+
indexed: false,
|
|
208
|
+
internalType: "bool",
|
|
209
|
+
name: "enabled",
|
|
210
|
+
type: "bool",
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
name: "PublicAmountsEnabledSet",
|
|
214
|
+
type: "event",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
anonymous: false,
|
|
218
|
+
inputs: [
|
|
219
|
+
{
|
|
220
|
+
indexed: true,
|
|
221
|
+
internalType: "bytes32",
|
|
222
|
+
name: "role",
|
|
223
|
+
type: "bytes32",
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
indexed: true,
|
|
227
|
+
internalType: "bytes32",
|
|
228
|
+
name: "previousAdminRole",
|
|
229
|
+
type: "bytes32",
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
indexed: true,
|
|
233
|
+
internalType: "bytes32",
|
|
234
|
+
name: "newAdminRole",
|
|
235
|
+
type: "bytes32",
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
name: "RoleAdminChanged",
|
|
239
|
+
type: "event",
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
anonymous: false,
|
|
243
|
+
inputs: [
|
|
244
|
+
{
|
|
245
|
+
indexed: true,
|
|
246
|
+
internalType: "bytes32",
|
|
247
|
+
name: "role",
|
|
248
|
+
type: "bytes32",
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
indexed: true,
|
|
252
|
+
internalType: "address",
|
|
253
|
+
name: "account",
|
|
254
|
+
type: "address",
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
indexed: true,
|
|
258
|
+
internalType: "address",
|
|
259
|
+
name: "sender",
|
|
260
|
+
type: "address",
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
name: "RoleGranted",
|
|
264
|
+
type: "event",
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
anonymous: false,
|
|
268
|
+
inputs: [
|
|
269
|
+
{
|
|
270
|
+
indexed: true,
|
|
271
|
+
internalType: "bytes32",
|
|
272
|
+
name: "role",
|
|
273
|
+
type: "bytes32",
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
indexed: true,
|
|
277
|
+
internalType: "address",
|
|
278
|
+
name: "account",
|
|
279
|
+
type: "address",
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
indexed: true,
|
|
283
|
+
internalType: "address",
|
|
284
|
+
name: "sender",
|
|
285
|
+
type: "address",
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
name: "RoleRevoked",
|
|
289
|
+
type: "event",
|
|
290
|
+
},
|
|
98
291
|
{
|
|
99
292
|
anonymous: false,
|
|
100
293
|
inputs: [
|
|
@@ -111,21 +304,71 @@ const _abi = [
|
|
|
111
304
|
type: "address",
|
|
112
305
|
},
|
|
113
306
|
{
|
|
307
|
+
components: [
|
|
308
|
+
{
|
|
309
|
+
internalType: "ctUint128",
|
|
310
|
+
name: "ciphertextHigh",
|
|
311
|
+
type: "uint256",
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
internalType: "ctUint128",
|
|
315
|
+
name: "ciphertextLow",
|
|
316
|
+
type: "uint256",
|
|
317
|
+
},
|
|
318
|
+
],
|
|
114
319
|
indexed: false,
|
|
115
|
-
internalType: "
|
|
320
|
+
internalType: "struct ctUint256",
|
|
116
321
|
name: "senderValue",
|
|
117
|
-
type: "
|
|
322
|
+
type: "tuple",
|
|
118
323
|
},
|
|
119
324
|
{
|
|
325
|
+
components: [
|
|
326
|
+
{
|
|
327
|
+
internalType: "ctUint128",
|
|
328
|
+
name: "ciphertextHigh",
|
|
329
|
+
type: "uint256",
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
internalType: "ctUint128",
|
|
333
|
+
name: "ciphertextLow",
|
|
334
|
+
type: "uint256",
|
|
335
|
+
},
|
|
336
|
+
],
|
|
120
337
|
indexed: false,
|
|
121
|
-
internalType: "
|
|
338
|
+
internalType: "struct ctUint256",
|
|
122
339
|
name: "receiverValue",
|
|
123
|
-
type: "
|
|
340
|
+
type: "tuple",
|
|
124
341
|
},
|
|
125
342
|
],
|
|
126
343
|
name: "Transfer",
|
|
127
344
|
type: "event",
|
|
128
345
|
},
|
|
346
|
+
{
|
|
347
|
+
inputs: [],
|
|
348
|
+
name: "DEFAULT_ADMIN_ROLE",
|
|
349
|
+
outputs: [
|
|
350
|
+
{
|
|
351
|
+
internalType: "bytes32",
|
|
352
|
+
name: "",
|
|
353
|
+
type: "bytes32",
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
stateMutability: "view",
|
|
357
|
+
type: "function",
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
inputs: [],
|
|
361
|
+
name: "MINTER_ROLE",
|
|
362
|
+
outputs: [
|
|
363
|
+
{
|
|
364
|
+
internalType: "bytes32",
|
|
365
|
+
name: "",
|
|
366
|
+
type: "bytes32",
|
|
367
|
+
},
|
|
368
|
+
],
|
|
369
|
+
stateMutability: "view",
|
|
370
|
+
type: "function",
|
|
371
|
+
},
|
|
129
372
|
{
|
|
130
373
|
inputs: [
|
|
131
374
|
{
|
|
@@ -157,57 +400,508 @@ const _abi = [
|
|
|
157
400
|
name: "isSpender",
|
|
158
401
|
type: "bool",
|
|
159
402
|
},
|
|
160
|
-
],
|
|
161
|
-
name: "allowance",
|
|
162
|
-
outputs: [
|
|
403
|
+
],
|
|
404
|
+
name: "allowance",
|
|
405
|
+
outputs: [
|
|
406
|
+
{
|
|
407
|
+
internalType: "gtUint256",
|
|
408
|
+
name: "",
|
|
409
|
+
type: "uint256",
|
|
410
|
+
},
|
|
411
|
+
],
|
|
412
|
+
stateMutability: "nonpayable",
|
|
413
|
+
type: "function",
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
inputs: [
|
|
417
|
+
{
|
|
418
|
+
internalType: "address",
|
|
419
|
+
name: "owner",
|
|
420
|
+
type: "address",
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
internalType: "address",
|
|
424
|
+
name: "spender",
|
|
425
|
+
type: "address",
|
|
426
|
+
},
|
|
427
|
+
],
|
|
428
|
+
name: "allowance",
|
|
429
|
+
outputs: [
|
|
430
|
+
{
|
|
431
|
+
components: [
|
|
432
|
+
{
|
|
433
|
+
components: [
|
|
434
|
+
{
|
|
435
|
+
internalType: "ctUint128",
|
|
436
|
+
name: "ciphertextHigh",
|
|
437
|
+
type: "uint256",
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
internalType: "ctUint128",
|
|
441
|
+
name: "ciphertextLow",
|
|
442
|
+
type: "uint256",
|
|
443
|
+
},
|
|
444
|
+
],
|
|
445
|
+
internalType: "struct ctUint256",
|
|
446
|
+
name: "ciphertext",
|
|
447
|
+
type: "tuple",
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
components: [
|
|
451
|
+
{
|
|
452
|
+
internalType: "ctUint128",
|
|
453
|
+
name: "ciphertextHigh",
|
|
454
|
+
type: "uint256",
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
internalType: "ctUint128",
|
|
458
|
+
name: "ciphertextLow",
|
|
459
|
+
type: "uint256",
|
|
460
|
+
},
|
|
461
|
+
],
|
|
462
|
+
internalType: "struct ctUint256",
|
|
463
|
+
name: "ownerCiphertext",
|
|
464
|
+
type: "tuple",
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
components: [
|
|
468
|
+
{
|
|
469
|
+
internalType: "ctUint128",
|
|
470
|
+
name: "ciphertextHigh",
|
|
471
|
+
type: "uint256",
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
internalType: "ctUint128",
|
|
475
|
+
name: "ciphertextLow",
|
|
476
|
+
type: "uint256",
|
|
477
|
+
},
|
|
478
|
+
],
|
|
479
|
+
internalType: "struct ctUint256",
|
|
480
|
+
name: "spenderCiphertext",
|
|
481
|
+
type: "tuple",
|
|
482
|
+
},
|
|
483
|
+
],
|
|
484
|
+
internalType: "struct IPrivateERC20.Allowance",
|
|
485
|
+
name: "",
|
|
486
|
+
type: "tuple",
|
|
487
|
+
},
|
|
488
|
+
],
|
|
489
|
+
stateMutability: "view",
|
|
490
|
+
type: "function",
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
inputs: [
|
|
494
|
+
{
|
|
495
|
+
internalType: "address",
|
|
496
|
+
name: "spender",
|
|
497
|
+
type: "address",
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
internalType: "uint256",
|
|
501
|
+
name: "value",
|
|
502
|
+
type: "uint256",
|
|
503
|
+
},
|
|
504
|
+
],
|
|
505
|
+
name: "approve",
|
|
506
|
+
outputs: [],
|
|
507
|
+
stateMutability: "nonpayable",
|
|
508
|
+
type: "function",
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
inputs: [
|
|
512
|
+
{
|
|
513
|
+
internalType: "address",
|
|
514
|
+
name: "spender",
|
|
515
|
+
type: "address",
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
components: [
|
|
519
|
+
{
|
|
520
|
+
components: [
|
|
521
|
+
{
|
|
522
|
+
internalType: "ctUint128",
|
|
523
|
+
name: "ciphertextHigh",
|
|
524
|
+
type: "uint256",
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
internalType: "ctUint128",
|
|
528
|
+
name: "ciphertextLow",
|
|
529
|
+
type: "uint256",
|
|
530
|
+
},
|
|
531
|
+
],
|
|
532
|
+
internalType: "struct ctUint256",
|
|
533
|
+
name: "ciphertext",
|
|
534
|
+
type: "tuple",
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
internalType: "bytes",
|
|
538
|
+
name: "signature",
|
|
539
|
+
type: "bytes",
|
|
540
|
+
},
|
|
541
|
+
],
|
|
542
|
+
internalType: "struct itUint256",
|
|
543
|
+
name: "value",
|
|
544
|
+
type: "tuple",
|
|
545
|
+
},
|
|
546
|
+
],
|
|
547
|
+
name: "approve",
|
|
548
|
+
outputs: [],
|
|
549
|
+
stateMutability: "nonpayable",
|
|
550
|
+
type: "function",
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
inputs: [
|
|
554
|
+
{
|
|
555
|
+
internalType: "address",
|
|
556
|
+
name: "spender",
|
|
557
|
+
type: "address",
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
internalType: "gtUint256",
|
|
561
|
+
name: "value",
|
|
562
|
+
type: "uint256",
|
|
563
|
+
},
|
|
564
|
+
],
|
|
565
|
+
name: "approveGT",
|
|
566
|
+
outputs: [],
|
|
567
|
+
stateMutability: "nonpayable",
|
|
568
|
+
type: "function",
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
inputs: [
|
|
572
|
+
{
|
|
573
|
+
internalType: "address",
|
|
574
|
+
name: "account",
|
|
575
|
+
type: "address",
|
|
576
|
+
},
|
|
577
|
+
],
|
|
578
|
+
name: "balanceOf",
|
|
579
|
+
outputs: [
|
|
580
|
+
{
|
|
581
|
+
components: [
|
|
582
|
+
{
|
|
583
|
+
internalType: "ctUint128",
|
|
584
|
+
name: "ciphertextHigh",
|
|
585
|
+
type: "uint256",
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
internalType: "ctUint128",
|
|
589
|
+
name: "ciphertextLow",
|
|
590
|
+
type: "uint256",
|
|
591
|
+
},
|
|
592
|
+
],
|
|
593
|
+
internalType: "struct ctUint256",
|
|
594
|
+
name: "",
|
|
595
|
+
type: "tuple",
|
|
596
|
+
},
|
|
597
|
+
],
|
|
598
|
+
stateMutability: "view",
|
|
599
|
+
type: "function",
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
inputs: [],
|
|
603
|
+
name: "balanceOf",
|
|
604
|
+
outputs: [
|
|
605
|
+
{
|
|
606
|
+
internalType: "gtUint256",
|
|
607
|
+
name: "",
|
|
608
|
+
type: "uint256",
|
|
609
|
+
},
|
|
610
|
+
],
|
|
611
|
+
stateMutability: "nonpayable",
|
|
612
|
+
type: "function",
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
inputs: [
|
|
616
|
+
{
|
|
617
|
+
internalType: "uint256",
|
|
618
|
+
name: "amount",
|
|
619
|
+
type: "uint256",
|
|
620
|
+
},
|
|
621
|
+
],
|
|
622
|
+
name: "burn",
|
|
623
|
+
outputs: [],
|
|
624
|
+
stateMutability: "nonpayable",
|
|
625
|
+
type: "function",
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
inputs: [
|
|
629
|
+
{
|
|
630
|
+
components: [
|
|
631
|
+
{
|
|
632
|
+
components: [
|
|
633
|
+
{
|
|
634
|
+
internalType: "ctUint128",
|
|
635
|
+
name: "ciphertextHigh",
|
|
636
|
+
type: "uint256",
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
internalType: "ctUint128",
|
|
640
|
+
name: "ciphertextLow",
|
|
641
|
+
type: "uint256",
|
|
642
|
+
},
|
|
643
|
+
],
|
|
644
|
+
internalType: "struct ctUint256",
|
|
645
|
+
name: "ciphertext",
|
|
646
|
+
type: "tuple",
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
internalType: "bytes",
|
|
650
|
+
name: "signature",
|
|
651
|
+
type: "bytes",
|
|
652
|
+
},
|
|
653
|
+
],
|
|
654
|
+
internalType: "struct itUint256",
|
|
655
|
+
name: "amount",
|
|
656
|
+
type: "tuple",
|
|
657
|
+
},
|
|
658
|
+
],
|
|
659
|
+
name: "burn",
|
|
660
|
+
outputs: [],
|
|
661
|
+
stateMutability: "nonpayable",
|
|
662
|
+
type: "function",
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
inputs: [
|
|
666
|
+
{
|
|
667
|
+
internalType: "address",
|
|
668
|
+
name: "account",
|
|
669
|
+
type: "address",
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
internalType: "uint256",
|
|
673
|
+
name: "amount",
|
|
674
|
+
type: "uint256",
|
|
675
|
+
},
|
|
676
|
+
],
|
|
677
|
+
name: "burn",
|
|
678
|
+
outputs: [],
|
|
679
|
+
stateMutability: "nonpayable",
|
|
680
|
+
type: "function",
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
inputs: [
|
|
684
|
+
{
|
|
685
|
+
internalType: "gtUint256",
|
|
686
|
+
name: "gtAmount",
|
|
687
|
+
type: "uint256",
|
|
688
|
+
},
|
|
689
|
+
],
|
|
690
|
+
name: "burnGt",
|
|
691
|
+
outputs: [],
|
|
692
|
+
stateMutability: "nonpayable",
|
|
693
|
+
type: "function",
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
inputs: [],
|
|
697
|
+
name: "decimals",
|
|
698
|
+
outputs: [
|
|
699
|
+
{
|
|
700
|
+
internalType: "uint8",
|
|
701
|
+
name: "",
|
|
702
|
+
type: "uint8",
|
|
703
|
+
},
|
|
704
|
+
],
|
|
705
|
+
stateMutability: "pure",
|
|
706
|
+
type: "function",
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
inputs: [
|
|
710
|
+
{
|
|
711
|
+
internalType: "address",
|
|
712
|
+
name: "spender",
|
|
713
|
+
type: "address",
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
internalType: "uint256",
|
|
717
|
+
name: "subtractedValue",
|
|
718
|
+
type: "uint256",
|
|
719
|
+
},
|
|
720
|
+
],
|
|
721
|
+
name: "decreaseAllowance",
|
|
722
|
+
outputs: [],
|
|
723
|
+
stateMutability: "nonpayable",
|
|
724
|
+
type: "function",
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
inputs: [
|
|
728
|
+
{
|
|
729
|
+
internalType: "address",
|
|
730
|
+
name: "spender",
|
|
731
|
+
type: "address",
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
components: [
|
|
735
|
+
{
|
|
736
|
+
components: [
|
|
737
|
+
{
|
|
738
|
+
internalType: "ctUint128",
|
|
739
|
+
name: "ciphertextHigh",
|
|
740
|
+
type: "uint256",
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
internalType: "ctUint128",
|
|
744
|
+
name: "ciphertextLow",
|
|
745
|
+
type: "uint256",
|
|
746
|
+
},
|
|
747
|
+
],
|
|
748
|
+
internalType: "struct ctUint256",
|
|
749
|
+
name: "ciphertext",
|
|
750
|
+
type: "tuple",
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
internalType: "bytes",
|
|
754
|
+
name: "signature",
|
|
755
|
+
type: "bytes",
|
|
756
|
+
},
|
|
757
|
+
],
|
|
758
|
+
internalType: "struct itUint256",
|
|
759
|
+
name: "subtractedValue",
|
|
760
|
+
type: "tuple",
|
|
761
|
+
},
|
|
762
|
+
],
|
|
763
|
+
name: "decreaseAllowance",
|
|
764
|
+
outputs: [],
|
|
765
|
+
stateMutability: "nonpayable",
|
|
766
|
+
type: "function",
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
inputs: [
|
|
770
|
+
{
|
|
771
|
+
internalType: "address",
|
|
772
|
+
name: "spender",
|
|
773
|
+
type: "address",
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
internalType: "gtUint256",
|
|
777
|
+
name: "subtractedValue",
|
|
778
|
+
type: "uint256",
|
|
779
|
+
},
|
|
780
|
+
],
|
|
781
|
+
name: "decreaseAllowanceGT",
|
|
782
|
+
outputs: [],
|
|
783
|
+
stateMutability: "nonpayable",
|
|
784
|
+
type: "function",
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
inputs: [
|
|
788
|
+
{
|
|
789
|
+
internalType: "bytes32",
|
|
790
|
+
name: "role",
|
|
791
|
+
type: "bytes32",
|
|
792
|
+
},
|
|
793
|
+
],
|
|
794
|
+
name: "getRoleAdmin",
|
|
795
|
+
outputs: [
|
|
796
|
+
{
|
|
797
|
+
internalType: "bytes32",
|
|
798
|
+
name: "",
|
|
799
|
+
type: "bytes32",
|
|
800
|
+
},
|
|
801
|
+
],
|
|
802
|
+
stateMutability: "view",
|
|
803
|
+
type: "function",
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
inputs: [
|
|
807
|
+
{
|
|
808
|
+
internalType: "bytes32",
|
|
809
|
+
name: "role",
|
|
810
|
+
type: "bytes32",
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
internalType: "address",
|
|
814
|
+
name: "account",
|
|
815
|
+
type: "address",
|
|
816
|
+
},
|
|
817
|
+
],
|
|
818
|
+
name: "grantRole",
|
|
819
|
+
outputs: [],
|
|
820
|
+
stateMutability: "nonpayable",
|
|
821
|
+
type: "function",
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
inputs: [
|
|
825
|
+
{
|
|
826
|
+
internalType: "bytes32",
|
|
827
|
+
name: "role",
|
|
828
|
+
type: "bytes32",
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
internalType: "address",
|
|
832
|
+
name: "account",
|
|
833
|
+
type: "address",
|
|
834
|
+
},
|
|
835
|
+
],
|
|
836
|
+
name: "hasRole",
|
|
837
|
+
outputs: [
|
|
838
|
+
{
|
|
839
|
+
internalType: "bool",
|
|
840
|
+
name: "",
|
|
841
|
+
type: "bool",
|
|
842
|
+
},
|
|
843
|
+
],
|
|
844
|
+
stateMutability: "view",
|
|
845
|
+
type: "function",
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
inputs: [
|
|
849
|
+
{
|
|
850
|
+
internalType: "address",
|
|
851
|
+
name: "spender",
|
|
852
|
+
type: "address",
|
|
853
|
+
},
|
|
163
854
|
{
|
|
164
|
-
internalType: "
|
|
165
|
-
name: "",
|
|
855
|
+
internalType: "uint256",
|
|
856
|
+
name: "addedValue",
|
|
166
857
|
type: "uint256",
|
|
167
858
|
},
|
|
168
859
|
],
|
|
860
|
+
name: "increaseAllowance",
|
|
861
|
+
outputs: [],
|
|
169
862
|
stateMutability: "nonpayable",
|
|
170
863
|
type: "function",
|
|
171
864
|
},
|
|
172
865
|
{
|
|
173
866
|
inputs: [
|
|
174
|
-
{
|
|
175
|
-
internalType: "address",
|
|
176
|
-
name: "owner",
|
|
177
|
-
type: "address",
|
|
178
|
-
},
|
|
179
867
|
{
|
|
180
868
|
internalType: "address",
|
|
181
869
|
name: "spender",
|
|
182
870
|
type: "address",
|
|
183
871
|
},
|
|
184
|
-
],
|
|
185
|
-
name: "allowance",
|
|
186
|
-
outputs: [
|
|
187
872
|
{
|
|
188
873
|
components: [
|
|
189
874
|
{
|
|
190
|
-
|
|
875
|
+
components: [
|
|
876
|
+
{
|
|
877
|
+
internalType: "ctUint128",
|
|
878
|
+
name: "ciphertextHigh",
|
|
879
|
+
type: "uint256",
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
internalType: "ctUint128",
|
|
883
|
+
name: "ciphertextLow",
|
|
884
|
+
type: "uint256",
|
|
885
|
+
},
|
|
886
|
+
],
|
|
887
|
+
internalType: "struct ctUint256",
|
|
191
888
|
name: "ciphertext",
|
|
192
|
-
type: "
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
internalType: "ctUint64",
|
|
196
|
-
name: "ownerCiphertext",
|
|
197
|
-
type: "uint256",
|
|
889
|
+
type: "tuple",
|
|
198
890
|
},
|
|
199
891
|
{
|
|
200
|
-
internalType: "
|
|
201
|
-
name: "
|
|
202
|
-
type: "
|
|
892
|
+
internalType: "bytes",
|
|
893
|
+
name: "signature",
|
|
894
|
+
type: "bytes",
|
|
203
895
|
},
|
|
204
896
|
],
|
|
205
|
-
internalType: "struct
|
|
206
|
-
name: "",
|
|
897
|
+
internalType: "struct itUint256",
|
|
898
|
+
name: "addedValue",
|
|
207
899
|
type: "tuple",
|
|
208
900
|
},
|
|
209
901
|
],
|
|
210
|
-
|
|
902
|
+
name: "increaseAllowance",
|
|
903
|
+
outputs: [],
|
|
904
|
+
stateMutability: "nonpayable",
|
|
211
905
|
type: "function",
|
|
212
906
|
},
|
|
213
907
|
{
|
|
@@ -218,19 +912,31 @@ const _abi = [
|
|
|
218
912
|
type: "address",
|
|
219
913
|
},
|
|
220
914
|
{
|
|
221
|
-
internalType: "
|
|
222
|
-
name: "
|
|
915
|
+
internalType: "gtUint256",
|
|
916
|
+
name: "addedValue",
|
|
223
917
|
type: "uint256",
|
|
224
918
|
},
|
|
225
919
|
],
|
|
226
|
-
name: "
|
|
227
|
-
outputs: [
|
|
920
|
+
name: "increaseAllowanceGT",
|
|
921
|
+
outputs: [],
|
|
922
|
+
stateMutability: "nonpayable",
|
|
923
|
+
type: "function",
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
inputs: [
|
|
228
927
|
{
|
|
229
|
-
internalType: "
|
|
230
|
-
name: "",
|
|
231
|
-
type: "
|
|
928
|
+
internalType: "address",
|
|
929
|
+
name: "account",
|
|
930
|
+
type: "address",
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
internalType: "uint256",
|
|
934
|
+
name: "amount",
|
|
935
|
+
type: "uint256",
|
|
232
936
|
},
|
|
233
937
|
],
|
|
938
|
+
name: "mint",
|
|
939
|
+
outputs: [],
|
|
234
940
|
stateMutability: "nonpayable",
|
|
235
941
|
type: "function",
|
|
236
942
|
},
|
|
@@ -238,15 +944,27 @@ const _abi = [
|
|
|
238
944
|
inputs: [
|
|
239
945
|
{
|
|
240
946
|
internalType: "address",
|
|
241
|
-
name: "
|
|
947
|
+
name: "to",
|
|
242
948
|
type: "address",
|
|
243
949
|
},
|
|
244
950
|
{
|
|
245
951
|
components: [
|
|
246
952
|
{
|
|
247
|
-
|
|
953
|
+
components: [
|
|
954
|
+
{
|
|
955
|
+
internalType: "ctUint128",
|
|
956
|
+
name: "ciphertextHigh",
|
|
957
|
+
type: "uint256",
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
internalType: "ctUint128",
|
|
961
|
+
name: "ciphertextLow",
|
|
962
|
+
type: "uint256",
|
|
963
|
+
},
|
|
964
|
+
],
|
|
965
|
+
internalType: "struct ctUint256",
|
|
248
966
|
name: "ciphertext",
|
|
249
|
-
type: "
|
|
967
|
+
type: "tuple",
|
|
250
968
|
},
|
|
251
969
|
{
|
|
252
970
|
internalType: "bytes",
|
|
@@ -254,19 +972,13 @@ const _abi = [
|
|
|
254
972
|
type: "bytes",
|
|
255
973
|
},
|
|
256
974
|
],
|
|
257
|
-
internalType: "struct
|
|
258
|
-
name: "
|
|
975
|
+
internalType: "struct itUint256",
|
|
976
|
+
name: "amount",
|
|
259
977
|
type: "tuple",
|
|
260
978
|
},
|
|
261
979
|
],
|
|
262
|
-
name: "
|
|
263
|
-
outputs: [
|
|
264
|
-
{
|
|
265
|
-
internalType: "bool",
|
|
266
|
-
name: "",
|
|
267
|
-
type: "bool",
|
|
268
|
-
},
|
|
269
|
-
],
|
|
980
|
+
name: "mint",
|
|
981
|
+
outputs: [],
|
|
270
982
|
stateMutability: "nonpayable",
|
|
271
983
|
type: "function",
|
|
272
984
|
},
|
|
@@ -274,16 +986,28 @@ const _abi = [
|
|
|
274
986
|
inputs: [
|
|
275
987
|
{
|
|
276
988
|
internalType: "address",
|
|
277
|
-
name: "
|
|
989
|
+
name: "to",
|
|
278
990
|
type: "address",
|
|
279
991
|
},
|
|
992
|
+
{
|
|
993
|
+
internalType: "gtUint256",
|
|
994
|
+
name: "gtAmount",
|
|
995
|
+
type: "uint256",
|
|
996
|
+
},
|
|
280
997
|
],
|
|
281
|
-
name: "
|
|
998
|
+
name: "mintGt",
|
|
999
|
+
outputs: [],
|
|
1000
|
+
stateMutability: "nonpayable",
|
|
1001
|
+
type: "function",
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
inputs: [],
|
|
1005
|
+
name: "name",
|
|
282
1006
|
outputs: [
|
|
283
1007
|
{
|
|
284
|
-
internalType: "
|
|
1008
|
+
internalType: "string",
|
|
285
1009
|
name: "",
|
|
286
|
-
type: "
|
|
1010
|
+
type: "string",
|
|
287
1011
|
},
|
|
288
1012
|
],
|
|
289
1013
|
stateMutability: "view",
|
|
@@ -291,15 +1015,15 @@ const _abi = [
|
|
|
291
1015
|
},
|
|
292
1016
|
{
|
|
293
1017
|
inputs: [],
|
|
294
|
-
name: "
|
|
1018
|
+
name: "publicAmountsEnabled",
|
|
295
1019
|
outputs: [
|
|
296
1020
|
{
|
|
297
|
-
internalType: "
|
|
1021
|
+
internalType: "bool",
|
|
298
1022
|
name: "",
|
|
299
|
-
type: "
|
|
1023
|
+
type: "bool",
|
|
300
1024
|
},
|
|
301
1025
|
],
|
|
302
|
-
stateMutability: "
|
|
1026
|
+
stateMutability: "view",
|
|
303
1027
|
type: "function",
|
|
304
1028
|
},
|
|
305
1029
|
{
|
|
@@ -310,93 +1034,106 @@ const _abi = [
|
|
|
310
1034
|
type: "address",
|
|
311
1035
|
},
|
|
312
1036
|
{
|
|
313
|
-
internalType: "
|
|
314
|
-
name: "
|
|
315
|
-
type: "
|
|
1037
|
+
internalType: "bool",
|
|
1038
|
+
name: "isSpender",
|
|
1039
|
+
type: "bool",
|
|
316
1040
|
},
|
|
317
1041
|
],
|
|
318
|
-
name: "
|
|
1042
|
+
name: "reencryptAllowance",
|
|
319
1043
|
outputs: [],
|
|
320
1044
|
stateMutability: "nonpayable",
|
|
321
1045
|
type: "function",
|
|
322
1046
|
},
|
|
323
1047
|
{
|
|
324
|
-
inputs: [
|
|
325
|
-
name: "decimals",
|
|
326
|
-
outputs: [
|
|
1048
|
+
inputs: [
|
|
327
1049
|
{
|
|
328
|
-
internalType: "
|
|
329
|
-
name: "",
|
|
330
|
-
type: "
|
|
1050
|
+
internalType: "bytes32",
|
|
1051
|
+
name: "role",
|
|
1052
|
+
type: "bytes32",
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
internalType: "address",
|
|
1056
|
+
name: "account",
|
|
1057
|
+
type: "address",
|
|
331
1058
|
},
|
|
332
1059
|
],
|
|
333
|
-
|
|
1060
|
+
name: "renounceRole",
|
|
1061
|
+
outputs: [],
|
|
1062
|
+
stateMutability: "nonpayable",
|
|
334
1063
|
type: "function",
|
|
335
1064
|
},
|
|
336
1065
|
{
|
|
337
1066
|
inputs: [
|
|
1067
|
+
{
|
|
1068
|
+
internalType: "bytes32",
|
|
1069
|
+
name: "role",
|
|
1070
|
+
type: "bytes32",
|
|
1071
|
+
},
|
|
338
1072
|
{
|
|
339
1073
|
internalType: "address",
|
|
340
1074
|
name: "account",
|
|
341
1075
|
type: "address",
|
|
342
1076
|
},
|
|
343
|
-
{
|
|
344
|
-
internalType: "uint64",
|
|
345
|
-
name: "amount",
|
|
346
|
-
type: "uint64",
|
|
347
|
-
},
|
|
348
1077
|
],
|
|
349
|
-
name: "
|
|
1078
|
+
name: "revokeRole",
|
|
350
1079
|
outputs: [],
|
|
351
1080
|
stateMutability: "nonpayable",
|
|
352
1081
|
type: "function",
|
|
353
1082
|
},
|
|
354
1083
|
{
|
|
355
|
-
inputs: [
|
|
356
|
-
|
|
1084
|
+
inputs: [
|
|
1085
|
+
{
|
|
1086
|
+
internalType: "address",
|
|
1087
|
+
name: "offBoardAddress",
|
|
1088
|
+
type: "address",
|
|
1089
|
+
},
|
|
1090
|
+
],
|
|
1091
|
+
name: "setAccountEncryptionAddress",
|
|
357
1092
|
outputs: [
|
|
358
1093
|
{
|
|
359
|
-
internalType: "
|
|
1094
|
+
internalType: "bool",
|
|
360
1095
|
name: "",
|
|
361
|
-
type: "
|
|
1096
|
+
type: "bool",
|
|
362
1097
|
},
|
|
363
1098
|
],
|
|
364
|
-
stateMutability: "
|
|
1099
|
+
stateMutability: "nonpayable",
|
|
365
1100
|
type: "function",
|
|
366
1101
|
},
|
|
367
1102
|
{
|
|
368
1103
|
inputs: [
|
|
369
|
-
{
|
|
370
|
-
internalType: "address",
|
|
371
|
-
name: "account",
|
|
372
|
-
type: "address",
|
|
373
|
-
},
|
|
374
1104
|
{
|
|
375
1105
|
internalType: "bool",
|
|
376
|
-
name: "
|
|
1106
|
+
name: "enabled",
|
|
377
1107
|
type: "bool",
|
|
378
1108
|
},
|
|
379
1109
|
],
|
|
380
|
-
name: "
|
|
1110
|
+
name: "setPublicAmountsEnabled",
|
|
1111
|
+
outputs: [],
|
|
1112
|
+
stateMutability: "nonpayable",
|
|
1113
|
+
type: "function",
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
inputs: [],
|
|
1117
|
+
name: "supplyCap",
|
|
381
1118
|
outputs: [
|
|
382
1119
|
{
|
|
383
|
-
internalType: "
|
|
1120
|
+
internalType: "uint256",
|
|
384
1121
|
name: "",
|
|
385
|
-
type: "
|
|
1122
|
+
type: "uint256",
|
|
386
1123
|
},
|
|
387
1124
|
],
|
|
388
|
-
stateMutability: "
|
|
1125
|
+
stateMutability: "view",
|
|
389
1126
|
type: "function",
|
|
390
1127
|
},
|
|
391
1128
|
{
|
|
392
1129
|
inputs: [
|
|
393
1130
|
{
|
|
394
|
-
internalType: "
|
|
395
|
-
name: "
|
|
396
|
-
type: "
|
|
1131
|
+
internalType: "bytes4",
|
|
1132
|
+
name: "interfaceId",
|
|
1133
|
+
type: "bytes4",
|
|
397
1134
|
},
|
|
398
1135
|
],
|
|
399
|
-
name: "
|
|
1136
|
+
name: "supportsInterface",
|
|
400
1137
|
outputs: [
|
|
401
1138
|
{
|
|
402
1139
|
internalType: "bool",
|
|
@@ -404,7 +1141,7 @@ const _abi = [
|
|
|
404
1141
|
type: "bool",
|
|
405
1142
|
},
|
|
406
1143
|
],
|
|
407
|
-
stateMutability: "
|
|
1144
|
+
stateMutability: "view",
|
|
408
1145
|
type: "function",
|
|
409
1146
|
},
|
|
410
1147
|
{
|
|
@@ -443,9 +1180,21 @@ const _abi = [
|
|
|
443
1180
|
{
|
|
444
1181
|
components: [
|
|
445
1182
|
{
|
|
446
|
-
|
|
1183
|
+
components: [
|
|
1184
|
+
{
|
|
1185
|
+
internalType: "ctUint128",
|
|
1186
|
+
name: "ciphertextHigh",
|
|
1187
|
+
type: "uint256",
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
internalType: "ctUint128",
|
|
1191
|
+
name: "ciphertextLow",
|
|
1192
|
+
type: "uint256",
|
|
1193
|
+
},
|
|
1194
|
+
],
|
|
1195
|
+
internalType: "struct ctUint256",
|
|
447
1196
|
name: "ciphertext",
|
|
448
|
-
type: "
|
|
1197
|
+
type: "tuple",
|
|
449
1198
|
},
|
|
450
1199
|
{
|
|
451
1200
|
internalType: "bytes",
|
|
@@ -453,19 +1202,31 @@ const _abi = [
|
|
|
453
1202
|
type: "bytes",
|
|
454
1203
|
},
|
|
455
1204
|
],
|
|
456
|
-
internalType: "struct
|
|
1205
|
+
internalType: "struct itUint256",
|
|
457
1206
|
name: "value",
|
|
458
1207
|
type: "tuple",
|
|
459
1208
|
},
|
|
460
1209
|
],
|
|
461
1210
|
name: "transfer",
|
|
462
|
-
outputs: [
|
|
1211
|
+
outputs: [],
|
|
1212
|
+
stateMutability: "nonpayable",
|
|
1213
|
+
type: "function",
|
|
1214
|
+
},
|
|
1215
|
+
{
|
|
1216
|
+
inputs: [
|
|
463
1217
|
{
|
|
464
|
-
internalType: "
|
|
465
|
-
name: "",
|
|
1218
|
+
internalType: "address",
|
|
1219
|
+
name: "to",
|
|
1220
|
+
type: "address",
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
internalType: "uint256",
|
|
1224
|
+
name: "value",
|
|
466
1225
|
type: "uint256",
|
|
467
1226
|
},
|
|
468
1227
|
],
|
|
1228
|
+
name: "transfer",
|
|
1229
|
+
outputs: [],
|
|
469
1230
|
stateMutability: "nonpayable",
|
|
470
1231
|
type: "function",
|
|
471
1232
|
},
|
|
@@ -477,19 +1238,88 @@ const _abi = [
|
|
|
477
1238
|
type: "address",
|
|
478
1239
|
},
|
|
479
1240
|
{
|
|
480
|
-
|
|
481
|
-
|
|
1241
|
+
components: [
|
|
1242
|
+
{
|
|
1243
|
+
components: [
|
|
1244
|
+
{
|
|
1245
|
+
internalType: "ctUint128",
|
|
1246
|
+
name: "ciphertextHigh",
|
|
1247
|
+
type: "uint256",
|
|
1248
|
+
},
|
|
1249
|
+
{
|
|
1250
|
+
internalType: "ctUint128",
|
|
1251
|
+
name: "ciphertextLow",
|
|
1252
|
+
type: "uint256",
|
|
1253
|
+
},
|
|
1254
|
+
],
|
|
1255
|
+
internalType: "struct ctUint256",
|
|
1256
|
+
name: "ciphertext",
|
|
1257
|
+
type: "tuple",
|
|
1258
|
+
},
|
|
1259
|
+
{
|
|
1260
|
+
internalType: "bytes",
|
|
1261
|
+
name: "signature",
|
|
1262
|
+
type: "bytes",
|
|
1263
|
+
},
|
|
1264
|
+
],
|
|
1265
|
+
internalType: "struct itUint256",
|
|
1266
|
+
name: "amount",
|
|
1267
|
+
type: "tuple",
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
internalType: "bytes",
|
|
1271
|
+
name: "data",
|
|
1272
|
+
type: "bytes",
|
|
1273
|
+
},
|
|
1274
|
+
],
|
|
1275
|
+
name: "transferAndCall",
|
|
1276
|
+
outputs: [],
|
|
1277
|
+
stateMutability: "nonpayable",
|
|
1278
|
+
type: "function",
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
inputs: [
|
|
1282
|
+
{
|
|
1283
|
+
internalType: "address",
|
|
1284
|
+
name: "to",
|
|
1285
|
+
type: "address",
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
internalType: "uint256",
|
|
1289
|
+
name: "amount",
|
|
482
1290
|
type: "uint256",
|
|
483
1291
|
},
|
|
1292
|
+
{
|
|
1293
|
+
internalType: "bytes",
|
|
1294
|
+
name: "data",
|
|
1295
|
+
type: "bytes",
|
|
1296
|
+
},
|
|
484
1297
|
],
|
|
485
|
-
name: "
|
|
486
|
-
outputs: [
|
|
1298
|
+
name: "transferAndCall",
|
|
1299
|
+
outputs: [],
|
|
1300
|
+
stateMutability: "nonpayable",
|
|
1301
|
+
type: "function",
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
inputs: [
|
|
487
1305
|
{
|
|
488
|
-
internalType: "
|
|
489
|
-
name: "",
|
|
1306
|
+
internalType: "address",
|
|
1307
|
+
name: "from",
|
|
1308
|
+
type: "address",
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
internalType: "address",
|
|
1312
|
+
name: "to",
|
|
1313
|
+
type: "address",
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
internalType: "uint256",
|
|
1317
|
+
name: "value",
|
|
490
1318
|
type: "uint256",
|
|
491
1319
|
},
|
|
492
1320
|
],
|
|
1321
|
+
name: "transferFrom",
|
|
1322
|
+
outputs: [],
|
|
493
1323
|
stateMutability: "nonpayable",
|
|
494
1324
|
type: "function",
|
|
495
1325
|
},
|
|
@@ -508,9 +1338,21 @@ const _abi = [
|
|
|
508
1338
|
{
|
|
509
1339
|
components: [
|
|
510
1340
|
{
|
|
511
|
-
|
|
1341
|
+
components: [
|
|
1342
|
+
{
|
|
1343
|
+
internalType: "ctUint128",
|
|
1344
|
+
name: "ciphertextHigh",
|
|
1345
|
+
type: "uint256",
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
internalType: "ctUint128",
|
|
1349
|
+
name: "ciphertextLow",
|
|
1350
|
+
type: "uint256",
|
|
1351
|
+
},
|
|
1352
|
+
],
|
|
1353
|
+
internalType: "struct ctUint256",
|
|
512
1354
|
name: "ciphertext",
|
|
513
|
-
type: "
|
|
1355
|
+
type: "tuple",
|
|
514
1356
|
},
|
|
515
1357
|
{
|
|
516
1358
|
internalType: "bytes",
|
|
@@ -518,19 +1360,13 @@ const _abi = [
|
|
|
518
1360
|
type: "bytes",
|
|
519
1361
|
},
|
|
520
1362
|
],
|
|
521
|
-
internalType: "struct
|
|
1363
|
+
internalType: "struct itUint256",
|
|
522
1364
|
name: "value",
|
|
523
1365
|
type: "tuple",
|
|
524
1366
|
},
|
|
525
1367
|
],
|
|
526
1368
|
name: "transferFrom",
|
|
527
|
-
outputs: [
|
|
528
|
-
{
|
|
529
|
-
internalType: "gtBool",
|
|
530
|
-
name: "",
|
|
531
|
-
type: "uint256",
|
|
532
|
-
},
|
|
533
|
-
],
|
|
1369
|
+
outputs: [],
|
|
534
1370
|
stateMutability: "nonpayable",
|
|
535
1371
|
type: "function",
|
|
536
1372
|
},
|
|
@@ -547,26 +1383,38 @@ const _abi = [
|
|
|
547
1383
|
type: "address",
|
|
548
1384
|
},
|
|
549
1385
|
{
|
|
550
|
-
internalType: "
|
|
1386
|
+
internalType: "gtUint256",
|
|
551
1387
|
name: "value",
|
|
552
1388
|
type: "uint256",
|
|
553
1389
|
},
|
|
554
1390
|
],
|
|
555
|
-
name: "
|
|
556
|
-
outputs: [
|
|
1391
|
+
name: "transferFromGT",
|
|
1392
|
+
outputs: [],
|
|
1393
|
+
stateMutability: "nonpayable",
|
|
1394
|
+
type: "function",
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
inputs: [
|
|
557
1398
|
{
|
|
558
|
-
internalType: "
|
|
559
|
-
name: "",
|
|
1399
|
+
internalType: "address",
|
|
1400
|
+
name: "to",
|
|
1401
|
+
type: "address",
|
|
1402
|
+
},
|
|
1403
|
+
{
|
|
1404
|
+
internalType: "gtUint256",
|
|
1405
|
+
name: "value",
|
|
560
1406
|
type: "uint256",
|
|
561
1407
|
},
|
|
562
1408
|
],
|
|
1409
|
+
name: "transferGT",
|
|
1410
|
+
outputs: [],
|
|
563
1411
|
stateMutability: "nonpayable",
|
|
564
1412
|
type: "function",
|
|
565
1413
|
},
|
|
566
1414
|
] as const;
|
|
567
1415
|
|
|
568
1416
|
const _bytecode =
|
|
569
|
-
"0x60806040523480156200001157600080fd5b506040518060400160405280601081526020016f5072697661746545524332304d6f636b60801b81525060405180604001604052806005815260200164504532304d60d81b81525081600490816200006a919062000127565b50600562000079828262000127565b505050620001f3565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ad57607f821691505b602082108103620000ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012257600081815260208120601f850160051c81016020861015620000fd5750805b601f850160051c820191505b818110156200011e5782815560010162000109565b5050505b505050565b81516001600160401b0381111562000143576200014362000082565b6200015b8162000154845462000098565b84620000d4565b602080601f8311600181146200019357600084156200017a5750858301515b600019600386901b1c1916600185901b1785556200011e565b600085815260208120601f198616915b82811015620001c457888601518255948401946001909101908401620001a3565b5085821015620001e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61194a80620002036000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c8063313ce567116100cd57806396b2db3811610081578063a7d9ad6a11610066578063a7d9ad6a146102f9578063a9059cbb1461030c578063dd62ed3e1461031f57600080fd5b806396b2db38146102d3578063a42c0af9146102e657600080fd5b8063722713f7116100b2578063722713f7146102b05780638269bcc3146102b857806395d89b41146102cb57600080fd5b8063313ce5671461026757806370a082311461027657600080fd5b806313691c761161012457806323b872dd1161010957806323b872dd1461022e57806326a9b3f1146102415780632893c5b01461025457600080fd5b806313691c761461021257806318160ddd1461022757600080fd5b8063043d20851461015657806306fdde03146101b957806308a2032a146101ce578063095ea7b3146101ef575b600080fd5b61018f61016436600461146b565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152602081905260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c1610354565b6040516101b091906114ea565b6101e16101dc366004611515565b6103e6565b6040519081526020016101b0565b6102026101fd366004611573565b61041d565b60405190151581526020016101b0565b61022561022036600461159d565b610437565b005b60006101e1565b6101e161023c3660046115e1565b61044e565b61020261024f36600461161d565b610470565b61022561026236600461159d565b610524565b604051600681526020016101b0565b6101e161028436600461146b565b73ffffffffffffffffffffffffffffffffffffffff166000908152600160208190526040909120015490565b6101e1610536565b6102026102c636600461146b565b610546565b6101c16105ca565b6101e16102e136600461161d565b6105d9565b6102026102f436600461164e565b61065c565b6101e161030736600461164e565b610684565b6101e161031a366004611573565b6106a1565b61033261032d36600461169c565b6106b7565b60408051825181526020808401519082015291810151908201526060016101b0565b606060048054610363906116cf565b80601f016020809104026020016040519081016040528092919081815260200182805461038f906116cf565b80156103dc5780601f106103b1576101008083540402835291602001916103dc565b820191906000526020600020905b8154815290600101906020018083116103bf57829003601f168201915b5050505050905090565b600033816103fb6103f6856117c3565b610736565b90506104088683836107e2565b6104138686836108cf565b9695505050505050565b60003361042b818585610981565b60019150505b92915050565b6104498261044483610b93565b610c03565b505050565b60003361045c8582856107e2565b6104678585856108cf565b95945050505050565b60008061047c33610c68565b905082156104d45733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902080546104c9906104c390610c9e565b83610cbb565b60019091015561042b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915290208054610513906104c390610c9e565b600290910155600191505092915050565b6104498261053183610b93565b610da0565b600061054133610dfe565b905090565b60008061055233610dfe565b33600090815260208190526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905590506105ab8184610cbb565b3360009081526001602081905260409091208101919091559392505050565b606060058054610363906116cf565b600081156106225733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915290205461061b90610c9e565b9050610431565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020908152604080832033845290915290205461061b90610c9e565b6000338161066c6103f6856117c3565b9050610679828683610981565b506001949350505050565b600033816106946103f6856117c3565b90506104678286836108cf565b6000336106af8185856108cf565b949350505050565b6106db60405180606001604052806000815260200160008152602001600081525090565b5073ffffffffffffffffffffffffffffffffffffffff91821660009081526002602081815260408084209490951683529283529083902083516060810185528154815260018201549381019390935201549181019190915290565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e109261079f927f04000000000000000000000000000000000000000000000000000000000000009290916004016118b5565b6020604051808303816000875af11580156107be573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043191906118f6565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081205461081190610c9e565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526002602090815260408083209388168352929052908120549192509061085390610c9e565b905060006108718261086c67ffffffffffffffff610b93565b610e2d565b9050600061087f8486610ead565b9050600061088d8487610ead565b905060006108b76108a7856108a28686610ec2565b610ec2565b6108b1878a610ed6565b87610eeb565b90506108c4898983610981565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8416610926576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316610976576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b6106af848484610fb0565b73ffffffffffffffffffffffffffffffffffffffff83166109d1576040517fe602df050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b73ffffffffffffffffffffffffffffffffffffffff8216610a21576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b6000610a2c82611142565b90506000610a3985610c68565b90506000610a478483610cbb565b9050610a5285610c68565b91506000610a608584610cbb565b9050604051806060016040528085815260200183815260200182815250600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a78484604051610b82929190918252602082015260400190565b60405180910390a350505050505050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b609060440161079f565b600073ffffffffffffffffffffffffffffffffffffffff8316610c55576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b610c6183600084610fb0565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff80821660009081526020819052604081205490911680610431575090919050565b600081600003610cb2576104316000610b93565b6104318261119c565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e6891610d5d917f04000000000000000000000000000000000000000000000000000000000000009188916038016118b5565b6020604051808303816000875af1158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6191906118f6565b600073ffffffffffffffffffffffffffffffffffffffff8316610df2576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161091d565b610c6160008484610fb0565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812054610c6181610c9e565b60006064637c12a1eb610e42600480856111ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401610d5d565b6000606463dd148693610e42600480856111ac565b6000606463fb7da35f610e428380806111ac565b6000606463371d1bf2610e42600480856111ac565b600060646320cc408d610f00600480856111ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084016020604051808303816000875af1158015610f8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af91906118f6565b6000808281610fbf6001611209565b905073ffffffffffffffffffffffffffffffffffffffff8716611023576000610fe9600354610c9e565b9050610ff58187611268565b905061100081611142565b600355600061100e88610dfe565b905061101a8188611268565b9450505061106b565b600061102e88610dfe565b9050600061103b88610dfe565b9050600061104a83838a61127d565b9097509450905061105b8a8261133b565b6110658683610ed6565b94505050505b73ffffffffffffffffffffffffffffffffffffffff86166110b3576000611093600354610c9e565b905061109f8184610ed6565b90506110aa81611142565b600355506110bd565b6110bd868461133b565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44611116858b610cbb565b611120868b610cbb565b6040805192835260208301919091520160405180910390a39695505050505050565b6000606463c50c9c0260045b60f81b846040518363ffffffff1660e01b815260040161079f9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6000606463d2c135e5600461114e565b60008160028111156111c0576111c0611886565b60ff1660088460048111156111d7576111d7611886565b61ffff16901b61ffff1660108660048111156111f5576111f5611886565b62ffffff16901b171760e81b949350505050565b6000808261121857600061121b565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401610d5d565b60006064638c5d0150610e42600480856111ac565b6000808080808060646356c72d28611298600480808661138e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b9052606481018a90526084016060604051808303816000875af1158015611305573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611329919061190f565b919b909a509098509650505050505050565b600061134683610c68565b9050611352828261140e565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526001602081815260409092208551815594909101519301929092555050565b60008160028111156113a2576113a2611886565b60ff1660088460048111156113b9576113b9611886565b61ffff16901b61ffff1660108660048111156113d7576113d7611886565b62ffffff16901b62ffffff1660188860048111156113f7576113f7611886565b63ffffffff16901b17171760e01b95945050505050565b604080518082019091526000808252602082015261142b83611142565b81526114378383610cbb565b602082015292915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461146657600080fd5b919050565b60006020828403121561147d57600080fd5b610c6182611442565b6000815180845260005b818110156114ac57602081850181015186830182015201611490565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610c616020830184611486565b60006040828403121561150f57600080fd5b50919050565b60008060006060848603121561152a57600080fd5b61153384611442565b925061154160208501611442565b9150604084013567ffffffffffffffff81111561155d57600080fd5b611569868287016114fd565b9150509250925092565b6000806040838503121561158657600080fd5b61158f83611442565b946020939093013593505050565b600080604083850312156115b057600080fd5b6115b983611442565b9150602083013567ffffffffffffffff811681146115d657600080fd5b809150509250929050565b6000806000606084860312156115f657600080fd5b6115ff84611442565b925061160d60208501611442565b9150604084013590509250925092565b6000806040838503121561163057600080fd5b61163983611442565b9150602083013580151581146115d657600080fd5b6000806040838503121561166157600080fd5b61166a83611442565b9150602083013567ffffffffffffffff81111561168657600080fd5b611692858286016114fd565b9150509250929050565b600080604083850312156116af57600080fd5b6116b883611442565b91506116c660208401611442565b90509250929050565b600181811c908216806116e357607f821691505b60208210810361150f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561176e5761176e61171c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156117bb576117bb61171c565b604052919050565b6000604082360312156117d557600080fd5b6117dd61174b565b8235815260208084013567ffffffffffffffff808211156117fd57600080fd5b9085019036601f83011261181057600080fd5b8135818111156118225761182261171c565b611852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611774565b9150808252368482850101111561186857600080fd5b80848401858401376000908201840152918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fff00000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006104676060830184611486565b60006020828403121561190857600080fd5b5051919050565b60008060006060848603121561192457600080fd5b835192506020840151915060408401519050925092509256fea164736f6c6343000813000a";
|
|
1417
|
+
"0x608034620003a35760406001600160401b0382820181811184821017620002a45782526010835260206f5072697661746545524332304d6f636b60801b8185015282519183830183811082821117620002a45784526005835264504532304d60d81b82840152600192838055855115620003925780511562000392578551828111620002a457600854968588811c9816801562000387575b8589101462000283578190601f9889811162000330575b508590898311600114620002c657600092620002ba575b5050600019600383901b1c191690851b176008555b8051918211620002a4576009548481811c9116801562000299575b84821014620002835786811162000237575b5082958211600114620001ce57948192939495600092620001c2575b5050600019600383901b1c191690831b176009555b60008052600081528260002033600052815260ff8360002054161562000173575b5060ff19600254161760025551613edf9081620003a98239f35b600080526000815282600020903360005252816000208160ff19825416179055333360007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a43862000159565b01519050388062000123565b601f198216956009600052836000209160005b888110620002215750838697989695961062000207575b505050811b0160095562000138565b015160001960f88460031b161c19169055388080620001f8565b81830151845592860192918501918501620001e1565b6009600052836000208780850160051c82019286861062000279575b0160051c019085905b8281106200026c57505062000107565b600081550185906200025c565b9250819262000253565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000f5565b634e487b7160e01b600052604160045260246000fd5b015190503880620000c5565b90879350601f198316916008600052876000209260005b89828210620003195750508411620002ff575b505050811b01600855620000da565b015160001960f88460031b161c19169055388080620002f0565b8385015186558b97909501949384019301620002dd565b9091506008600052856000208980850160051c8201928886106200037d575b918991869594930160051c01915b8281106200036d575050620000ae565b600081558594508991016200035d565b925081926200034f565b97607f169762000097565b8451631251828960e31b8152600490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed14611d2a57806301ffc9a714611c54578063043d208514611bed5780630564c4cf14611b6a57806306fdde0314611a9d578063095ea7b31461198257806318160ddd14610a2f57806323b872dd1461189c578063248a9ca31461187357806326a9b3f11461170c5780632f2ff15d1461163a578063313ce5671461161e57806336568abe146115575780633826c5801461142b57806338e071bc146113df57806339509351146113865780633c96e77c146112c25780634000aea01461112857806340c10f19146110f957806342966c68146110c55780634faa7ebf146110a15780635d484ff814610f6457806368c7a25d14610f1057806370a0823114610e89578063722713f714610e625780638269bcc314610d6c57806383ae57f414610d2457806384813e9314610cd15780638e532c4414610c775780638f770ad014610c5a57806391d1485414610c0957806395d89b4114610ab757806396b2db3814610a825780639dc29fac14610a4a578063a217fddf14610a2f578063a457c2d7146109d6578063a9059cbb14610950578063b485441d14610901578063b935980914610886578063c183b7fc14610824578063d18468361461050a578063d5391393146104cb578063d547741f1461048e578063dd62ed3e14610313578063e4f75ce7146102955763fb2205ca1461021a57600080fd5b346102915761022836611e3e565b919092610233611e91565b61023b612529565b73ffffffffffffffffffffffffffffffffffffffff84161561027b57846102748561026e6102693688612598565b61390e565b90612c96565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b5034610291576102a436611e3e565b9190926102af612529565b73ffffffffffffffffffffffffffffffffffffffff8416156102e45784610274856102dd6102693688612598565b9033613285565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50903461029157806003193601126102915761032d611d50565b90610336611d78565b8151926103428461222e565b82519361034e85612279565b86855260209487868201528152835161036681612279565b8781528786820152858201528380519161037f83612279565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff80911691821561045f571690811561043057858492849260c0985260058452828220908252835220916103fa8151956103d68761222e565b6103df85612716565b87526103ed60028601612716565b9484880195865201612716565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102915780600319360112610291576104c891356104c360016104b2611d78565b938387528660205286200154612111565b6122f2565b80f35b505034610506578160031936011261050657602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b5091903461050657602090816003193601126102915783359081151580920361082057838052838352808420338552835260ff8185205416156105a0577fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f9394507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b849150836105ad336123d2565b90808351906105bb82612295565b604282528682019260603685378251156107f457603084538251906001918210156107c85790607860218501536041915b81831161071e575050506106c357604861067c93859361068b936106bf97519687937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c8601526106478c8251928391603789019101611d9b565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190611d9b565b010360288101855201836122b1565b519384937f08c379a00000000000000000000000000000000000000000000000000000000085528401526024830190611dbe565b0390fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561079c577f3031323334353637383961626364656600000000000000000000000000000000901a61075b8587612392565b53881c928015610770576000190191906105ec565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b503461029157816003193601126102915761083d611d50565b91610846612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108705783610274602435853361281f565b9083602492519163ec442f0560e01b8352820152fd5b503461029157816003193601126102915761089f611d50565b916108a8612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108d2578361027460243585336133b6565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50346102915761091036611e3e565b91909261091b612529565b73ffffffffffffffffffffffffffffffffffffffff8416156102e45784610274856109496102693688612598565b90336133b6565b5034610291578160031936011261029157610969611d50565b91610972612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108705760ff60025416156109b05783610274846109a9602435613c06565b903361281f565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b50346102915781600319360112610291576109ef611d50565b916109f8612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108d25760ff60025416156109b0578361027484610949602435613c06565b50503461050657816003193601126105065751908152602090f35b50503461050657600319360112610a7f57610274610a66611d50565b610a6e612529565b610a79602435613c06565b90612edf565b80fd5b505034610506578060031936011261050657602090610ab0610aa2611d50565b610aaa611e01565b90612734565b9051908152f35b509134610a7f5780600319360112610a7f578151918160095492600184811c91818616958615610bff575b6020968785108114610bd3578899509688969785829a529182600014610b8e575050600114610b32575b505050610b2e9291610b1f9103856122b1565b51928284938452830190611dbe565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b828410610b765750505082010181610b1f610b2e610b0c565b8054848a018601528895508794909301928101610b5d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610b1f9150610b2e9050610b0c565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610ae2565b50346102915781600319360112610291578160209360ff92610c29611d78565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b505034610506578160031936011261050657602090516000198152f35b503461029157610c8636611e3e565b919092610c91612529565b73ffffffffffffffffffffffffffffffffffffffff8416156102e4578461027485610cbf6102693688612598565b90610ccb82823361313a565b336134ec565b5034610291578160031936011261029157610cea611d50565b91610cf3611e91565b610cfb612529565b73ffffffffffffffffffffffffffffffffffffffff831615610870578361027460243585612c96565b503461029157610d3336611e3e565b919092610d3e612529565b73ffffffffffffffffffffffffffffffffffffffff84161561027b5784610274856109a96102693688612598565b50829034610506576020928360031936011261029157610d8a611d50565b91610d93612529565b73ffffffffffffffffffffffffffffffffffffffff8316928315610e4c57610dd390338652828752610dce610dc9858820612716565b61368e565b613ab4565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b5034610291578260031936011261029157610dc982602094610ab093338252865220612716565b508290346105065760206003193601126105065773ffffffffffffffffffffffffffffffffffffffff610eba611d50565b8360208651610ec881612279565b8281520152168015610efa578252602052819020610ee890600201612716565b60208251918051835201516020820152f35b5090602492519163ec442f0560e01b8352820152fd5b83823461050657600319906020823601126102915780359167ffffffffffffffff831161082057606090833603011261029157610269610f5e9161027493610f56612529565b369101612598565b33612edf565b50829034610506576003199060608236011261029157610f82611d50565b610f8a611d78565b916044359367ffffffffffffffff851161109d57606090853603011261109957610fb2612529565b73ffffffffffffffffffffffffffffffffffffffff9384831694851561106a5784161561105457610dc96102749697610ff761026961104f9561100f95369101612598565b9689526005602052808920338a526020528820612716565b61104661101b82613e5b565b61103c61104161103c6110366110318b88613d7b565b6138a3565b846137c5565b61380f565b6127ba565b90853385613673565b61281f565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b50503461050657816003193601126105065760209060ff6002541690519015158152f35b509034610291576020600319360112610291576110e0612529565b60ff60025416156109b05750610f5e6102749135613c06565b50503461050657600319360112610a7f57610274611115611d50565b61111d612529565b61026e602435613c06565b503461029157606060031936011261029157611142611d50565b6024359060443567ffffffffffffffff811161109d576111659036908501611e10565b929093611170612529565b73ffffffffffffffffffffffffffffffffffffffff83169283156112ac57803b1561127d5760ff60025416156112555782916111b489926109a96020989796613c06565b6111fe8851978896879586947fbed2554200000000000000000000000000000000000000000000000000000000865233908601526024850152606060448501526064840191612672565b03925af1908115611249576102749250839161121b575b506126b1565b61123c915060203d8111611242575b61123481836122b1565b81019061265a565b38611215565b503d61122a565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b50829034610506576060600319360112610506576112de611d50565b6112e6611d78565b90604435926112f3612529565b73ffffffffffffffffffffffffffffffffffffffff9081831691821561135757841615611341575061100f610dc9869761104f9361027498526005602052808920338a526020528820612716565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461029157816003193601126102915761139f611d50565b916113a8612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108d25760ff60025416156109b05783610274846102dd602435613c06565b50346102915781600319360112610291576113f8611d50565b91611401612529565b73ffffffffffffffffffffffffffffffffffffffff8316156108d257836102746024358533613285565b50346102915760031960608136011261082057611446611d50565b916024359167ffffffffffffffff9081841161155357606090843603011261109d5760443590811161109d5761147f9036908301611e10565b91909361148a612529565b73ffffffffffffffffffffffffffffffffffffffff811693841561153d57813b1561150e57602094926114cd6111fe9795936109a96102698c9536908601612598565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a60248501526044840191612672565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b50829034610506578260031936011261050657611572611d78565b903373ffffffffffffffffffffffffffffffffffffffff83160361159b57906104c891356122f2565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b5050346105065781600319360112610506576020905160068152f35b50346102915781600319360112610291573590611655611d78565b908284528360205261166c60018286200154612111565b8284528360205273ffffffffffffffffffffffffffffffffffffffff81852092169182855260205260ff8185205416156116a4578380f35b82845283602052808420828552602052832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b50829034610506578260031936011261050657611727611d50565b92611730611e01565b91611739612529565b73ffffffffffffffffffffffffffffffffffffffff9182861691821561185e5761176233612b44565b9084821615611848578697866000146117e45792859392600560208097946117c5857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610dce610dc987612716565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b528652600386611837848d2093610dce610dc986612716565b8051600285015501519101556117d2565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461029157602060031936011261029157816020936001923581528085522001549051908152f35b50829034610506576060600319360112610506576118b8611d50565b6118c0611d78565b906118c9612529565b60ff600254161561195a5773ffffffffffffffffffffffffffffffffffffffff9283821693841561192b57831615611915575061104f61100f610dc96102749697610ff7604435613c06565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b50903461029157806003193601126102915761199c611d50565b91602435916119a9612529565b73ffffffffffffffffffffffffffffffffffffffff84168015611a6e5760ff6002541615611a4757836119ec575b85610274866119e587613c06565b90336134ec565b3386526005602052818620908652602052611a1661103c611a11610dc9848920612716565b613de4565b15611a2157806119d7565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509134610a7f5780600319360112610a7f578151918160085492600184811c91818616958615611b60575b6020968785108114610bd3578899509688969785829a529182600014610b8e575050600114611b0457505050610b2e9291610b1f9103856122b1565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b828410611b485750505082010181610b1f610b2e610b0c565b8054848a018601528895508794909301928101611b2f565b92607f1692611ac8565b50829034610506578260031936011261050657611b85611d50565b60243591611b91612529565b73ffffffffffffffffffffffffffffffffffffffff821615611bbe57509081610ccb82610274943361313a565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b508234610a7f576020600319360112610a7f5773ffffffffffffffffffffffffffffffffffffffff9182611c1f611d50565b16908115611c3e57602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b50346102915760206003193601126102915735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361029157602092507f479eaff4000000000000000000000000000000000000000000000000000000008214918215611cca575b50519015158152f35b9091507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611d00575b509038611cc1565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438611cf8565b8382346105065760206003193601126105065761027490611d49612529565b3533612edf565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611d7357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611d7357565b60005b838110611dae5750506000910152565b8181015183820152602001611d9e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611dfa81518092818752878088019101611d9b565b0116010190565b602435908115158203611d7357565b9181601f84011215611d735782359167ffffffffffffffff8311611d735760208381860195010111611d7357565b90600319604081840112611d735760043573ffffffffffffffffffffffffffffffffffffffff81168103611d7357926024359167ffffffffffffffff8311611d735782606092030112611d735760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c602090815260408083205490927f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69160ff1615611ef55750505050565b611efe336123d2565b91845190611f0b82612295565b604282528482019260603685378251156120e457603084538251906001918210156120e45790607860218501536041915b81831161203757505050611fdb5760486106bf938693611fa593611f9698519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152610647815180928c603789019101611d9b565b010360288101875201856122b1565b519283927f08c379a000000000000000000000000000000000000000000000000000000000845260048401526024830190611dbe565b6064848651907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156120b7577f3031323334353637383961626364656600000000000000000000000000000000901a6120748587612392565b5360041c92801561208a57600019019190611f3c565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b600090808252602090828252604092838120338252835260ff84822054161561213a5750505050565b612143336123d2565b9184519061215082612295565b604282528482019260603685378251156120e457603084538251906001918210156120e45790607860218501536041915b8183116121db57505050611fdb5760486106bf938693611fa593611f9698519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152610647815180928c603789019101611d9b565b909192600f811660108110156120b7577f3031323334353637383961626364656600000000000000000000000000000000901a6122188587612392565b5360041c92801561208a57600019019190612181565b6060810190811067ffffffffffffffff82111761224a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761224a57604052565b6080810190811067ffffffffffffffff82111761224a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761224a57604052565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541661233057505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b9081518110156123a3570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906123df8261222e565b602a82526020820160403682378251156123a3576030905381516001908110156123a357607860218401536029905b80821161247c57505061241e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156124fb577f3031323334353637383961626364656600000000000000000000000000000000901a6124b88486612392565b5360041c9180156124cd57600019019061240e565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60026001541461253a576002600155565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b91908281039260608412611d73576040516125b281612279565b6040819512611d7357604051916125c883612279565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611d73570184601f82011215611d7357803591821161224a5760405194612639857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011601876122b1565b828652848383010111611d7357816000928580930183880137850101520152565b90816020910312611d7357518015158103611d735790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b156126b857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b9060405161272381612279565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff169081156127a2571561277d57600052600560205260406000203360005260205261277a610dc96040600020612716565b90565b33600052600560205260406000209060005260205261277a610dc96040600020612716565b602460405163ec442f0560e01b815260006004820152fd5b156127c157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff908185168015612b13578284169081156127a257818114612ae257829660009582875260209660048852604096612871610dc9898420612716565b9a86835260048a52612887610dc98a8520612716565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af1978815612ad85783908490859a612a98575b61292e9b9c9d9e506129138b61380f565b9283612a6f575b505050612994575b5050505050505061380f565b15612937575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b6129d07f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d516129c681612279565b8281520152612b44565b80831615612a52576129e56129f49183613ab4565b945b848d8d516129c681612279565b91821615612a3757612a069250613ab4565b905b87518151815260209182015182820152825160408201529101516060820152608090a338808080808080612922565b5050875190612a4582612279565b8082528982015290612a08565b506129f48a51612a6181612279565b848152848d820152946129e7565b612a9092945090612a83612a89928a612b95565b84613d12565b9286612b95565b38808061291a565b9950505060608c3d8211612ad0575b81612ab4606093836122b1565b81010312610291578b518a8d01519c8a01519b9c8d9c99612902565b3d9150612aa7565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8082168015612b8d57600052600360205260406000205416908115612b7c575090565b8091503b612b875790565b50600090565b505050600090565b90600390612ba283612b44565b73ffffffffffffffffffffffffffffffffffffffff9190828116612c175750612bca906139ef565b921660009281845260046020526001602060408620928051845501519101556040805193612bf785612279565b808552602085019281845281526004602052209251600284015551910155565b916040805195612c2687612279565b815192612c3284612279565b600091828552612c7060209786858a809901528b52868b01978651612c5681612279565b86815286898201528952612c69816139ef565b8c52613ab4565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff9081811680156127a257612ce990600081815260209460048652604094612ce289612cdd610dc9898720612716565b613c76565b95906138a3565b98612d17612d1082612cdd8a51612cff81612279565b60065481526007548d82015261368e565b91906138a3565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015282602483015260001960448301528a826064818a825af1918215612ed5578792612ea4575b508a9b9c612d9f61292e9b9c9493612da593613765565b90613765565b97612daf8961380f565b9283612e80575b505050612dc8575b505050505061380f565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a51612df781612279565b8281520152612e20895193612e0b85612279565b868552868c860152868c8c516129c681612279565b90811615612e6557612e3191613ab4565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612dbe565b50508651612e7281612279565b838152838982015290612e33565b612e8c612e9c936139ef565b8051600655015160075584612b95565b38808b612db6565b9091508a81813d8311612ece575b612ebc81836122b1565b8101031261155357519061292e612d88565b503d612eb2565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff90818416908115612b1357809160009080825260209460048652604094612f21610dc9878620612716565b98612f2a613b94565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156131305785908687986130ef575b61292e999a9b9c50612fb48961380f565b928361309b575b505050612fcc57505050505061380f565b612fdd90858a8a516129c681612279565b91821615613060577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a39161301091613ab4565b8388885161301d81612279565b828152015286519061302e82612279565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612e58565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3855161308e81612279565b8381528388820152613010565b6130b09395506130ab9085612b95565b613d12565b91896130dd6130d8856130ab8d516130c781612279565b60065481526007548682015261368e565b6139ef565b80516006550151600755388080612fbb565b5096505060608a3d8211613128575b8161310b606093836122b1565b81010312611099578951888b01519a880151999a8b9a9790612fa3565b3d91506130fe565b87513d87823e3d90fd5b91906131ae91613148613b94565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af1801561327a57849061324b575b6131d2915061380f565b61324557604061103c93611a1193610dc9936132149773ffffffffffffffffffffffffffffffffffffffff809116845260058252848420921683525220612716565b1561321b57565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311613273575b61326181836122b1565b81010312610820576131d290516131c8565b503d613257565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff8084169081156133855782169081156133545761103c936132e6926132df926000526005602052604060002090600052602052612cdd610dc96040600020612716565b93906138a3565b156132f6576132f4926134ec565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff91828116928315613385578216928315613354576134739360009182526005602052604096879182842090845260205261340d610dc9838520612716565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af19384156134e0576132f4959682956134a3575b505061104161103c61349e926138a3565b6134ec565b61103c955061349e925061104191816134d092903d106134d9575b6134c881836122b1565b8101906139d9565b9590925061348d565b503d6134be565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff80841692831561338557818116948515613354578361363991600561355061354a7f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc8986139ef565b92612b44565b9560009361358a6040958651996135668b612279565b818b5260209a8b018290528085161561365957613584915083613ab4565b97612b44565b90600092838a885161359b81612279565b828152015282161561363e576135b19250613ab4565b955b8351926135bf8461222e565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b505083519061364c82612279565b80825287820152956135b3565b5086519061366682612279565b8082528a82015297612b44565b92909193613245576132f49361368891613d12565b916134ec565b80511580613759575b6137505760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af190811561374457600091613716575090565b906020823d821161373c575b8161372f602093836122b1565b81010312610a7f57505190565b3d9150613722565b6040513d6000823e3d90fd5b5061277a613b94565b50602081015115613697565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af190811561374457600091613716575090565b6040517ffb7da35f000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481016137ab565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af1918215613897578092613863575b5050151590565b9091506020823d821161388f575b8161387e602093836122b1565b81010312610a7f575051388061385c565b3d9150613871565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156138975780926138f457505090565b9091506020823d821161373c578161372f602093836122b1565b8051908151916020918280809301519101519361399060405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611dbe565b0381600060645af1908115613744576000916139ad575b50905090565b82813d83116139d2575b6139c181836122b1565b81010312610a7f57505180386139a7565b503d6139b7565b9190826040910312611d73576020825192015190565b602090604080516139ff81612279565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613aaa578392613a88575b505191613a7e83612279565b8252602082015290565b90809350613aa292503d84116134d9576134c881836122b1565b909138613a72565b81513d85823e3d90fd5b60408051602093613b74938392613aca81612279565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b16602083015260148252613b0e82612279565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611dbe565b03818660645af1918215613aaa578392613a8857505191613a7e83612279565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af19182156138975780926138f457505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af190811561374457600091613716575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af1918215613744576000908193613cf357509190565b9050613d0e91925060403d81116134d9576134c881836122b1565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000060048201526024810191909152604481019190915260208180606481016137ab565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000060048201526024810191909152604481019190915260208180606481016137ab565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af19182156138975780926138f457505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260001960448201526020816064816000825af19081156137445760009161371657509056fea164736f6c6343000813000a";
|
|
570
1418
|
|
|
571
1419
|
type PrivateERC20MockConstructorParams =
|
|
572
1420
|
| [signer?: Signer]
|