@coti-io/coti-contracts 0.1.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.
Files changed (180) hide show
  1. package/.github/workflows/npm-publish.yml +52 -0
  2. package/CODE_OF_CONDUCT.md +44 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +201 -0
  5. package/README.md +48 -0
  6. package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +480 -0
  7. package/contracts/access/DataPrivacyFramework/README.md +68 -0
  8. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1139 -0
  9. package/contracts/mocks/README.md +5 -0
  10. package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +9 -0
  11. package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +17 -0
  12. package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +34 -0
  13. package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +431 -0
  14. package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +361 -0
  15. package/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol +307 -0
  16. package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +307 -0
  17. package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +297 -0
  18. package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +185 -0
  19. package/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.sol +448 -0
  20. package/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol +81 -0
  21. package/contracts/mocks/utils/mpc/README.md +486 -0
  22. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +311 -0
  23. package/contracts/mocks/utils/mpc/StringTestsContract.sol +59 -0
  24. package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +271 -0
  25. package/contracts/mocks/utils/mpc/TransferTestsContract.sol +715 -0
  26. package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +25 -0
  27. package/contracts/onboard/AccountOnboard.sol +21 -0
  28. package/contracts/onboard/README.md +65 -0
  29. package/contracts/package.json +11 -0
  30. package/contracts/token/PrivateERC20/IPrivateERC20.sol +142 -0
  31. package/contracts/token/PrivateERC20/PrivateERC20.sol +478 -0
  32. package/contracts/token/PrivateERC20/README.md +104 -0
  33. package/contracts/token/PrivateERC721/PrivateERC721.sol +458 -0
  34. package/contracts/token/PrivateERC721/README.md +282 -0
  35. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +87 -0
  36. package/contracts/utils/mpc/MpcCore.sol +3215 -0
  37. package/contracts/utils/mpc/MpcInterface.sol +41 -0
  38. package/contracts/utils/mpc/README.md +82 -0
  39. package/hardhat.config.ts +18 -0
  40. package/package.json +14 -0
  41. package/test/access/DataPrivacyFramework/DataPrivacyFramework.test.ts +780 -0
  42. package/test/onboard/AccountOnboard.test.ts +45 -0
  43. package/test/token/PrivateERC20/PrivateERC20.test.ts +546 -0
  44. package/test/token/PrivateERC721/PrivateERC721.test.ts +223 -0
  45. package/test/utils/accounts.ts +55 -0
  46. package/test/utils/mpc/Precompile.test.ts +113 -0
  47. package/test/utils/mpc/String.test.ts +227 -0
  48. package/tsconfig.json +11 -0
  49. package/typechain-types/@openzeppelin/contracts/index.ts +9 -0
  50. package/typechain-types/@openzeppelin/contracts/interfaces/IERC4906.ts +462 -0
  51. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
  52. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
  53. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
  54. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  55. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
  56. package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.ts +393 -0
  57. package/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +110 -0
  58. package/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  59. package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
  60. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  61. package/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts +94 -0
  62. package/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts +94 -0
  63. package/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  64. package/typechain-types/@openzeppelin/index.ts +5 -0
  65. package/typechain-types/common.ts +131 -0
  66. package/typechain-types/contracts/access/DataPrivacyFramework/DataPrivacyFramework.ts +598 -0
  67. package/typechain-types/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.ts +598 -0
  68. package/typechain-types/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
  69. package/typechain-types/contracts/access/DataPrivacyFramework/index.ts +6 -0
  70. package/typechain-types/contracts/access/index.ts +5 -0
  71. package/typechain-types/contracts/index.ts +13 -0
  72. package/typechain-types/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.ts +598 -0
  73. package/typechain-types/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
  74. package/typechain-types/contracts/mocks/access/index.ts +5 -0
  75. package/typechain-types/contracts/mocks/index.ts +11 -0
  76. package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +543 -0
  77. package/typechain-types/contracts/mocks/token/PrivateERC20/index.ts +4 -0
  78. package/typechain-types/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.ts +576 -0
  79. package/typechain-types/contracts/mocks/token/PrivateERC721/index.ts +4 -0
  80. package/typechain-types/contracts/mocks/token/index.ts +7 -0
  81. package/typechain-types/contracts/mocks/utils/index.ts +5 -0
  82. package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.ts +354 -0
  83. package/typechain-types/contracts/mocks/utils/mpc/BitwiseTestsContract.ts +340 -0
  84. package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract.ts +340 -0
  85. package/typechain-types/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
  86. package/typechain-types/contracts/mocks/utils/mpc/Comparison2TestsContract.ts +340 -0
  87. package/typechain-types/contracts/mocks/utils/mpc/MinMaxTestsContract.ts +321 -0
  88. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.ts +199 -0
  89. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.ts +384 -0
  90. package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract.ts +218 -0
  91. package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
  92. package/typechain-types/contracts/mocks/utils/mpc/ShiftTestsContract.ts +339 -0
  93. package/typechain-types/contracts/mocks/utils/mpc/StringTestsContract.ts +211 -0
  94. package/typechain-types/contracts/mocks/utils/mpc/TransferScalarTestsContract.ts +266 -0
  95. package/typechain-types/contracts/mocks/utils/mpc/TransferTestsContract.ts +288 -0
  96. package/typechain-types/contracts/mocks/utils/mpc/index.ts +17 -0
  97. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.ts +173 -0
  98. package/typechain-types/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
  99. package/typechain-types/contracts/mocks/wallet/index.ts +5 -0
  100. package/typechain-types/contracts/onboard/AccountOnboard.ts +135 -0
  101. package/typechain-types/contracts/onboard/index.ts +4 -0
  102. package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +437 -0
  103. package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +505 -0
  104. package/typechain-types/contracts/token/PrivateERC20/index.ts +5 -0
  105. package/typechain-types/contracts/token/PrivateERC721/PrivateERC721.ts +409 -0
  106. package/typechain-types/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.ts +501 -0
  107. package/typechain-types/contracts/token/PrivateERC721/extensions/index.ts +4 -0
  108. package/typechain-types/contracts/token/PrivateERC721/index.ts +6 -0
  109. package/typechain-types/contracts/token/index.ts +7 -0
  110. package/typechain-types/contracts/utils/index.ts +5 -0
  111. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +698 -0
  112. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
  113. package/typechain-types/contracts/utils/mpc/index.ts +5 -0
  114. package/typechain-types/factories/@openzeppelin/contracts/index.ts +6 -0
  115. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC4906__factory.ts +339 -0
  116. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
  117. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
  118. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
  119. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
  120. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
  121. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +59 -0
  122. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.ts +307 -0
  123. package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  124. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  125. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
  126. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts +41 -0
  127. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +41 -0
  128. package/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  129. package/typechain-types/factories/@openzeppelin/index.ts +4 -0
  130. package/typechain-types/factories/contracts/access/DataPrivacyFramework/DataPrivacyFramework__factory.ts +621 -0
  131. package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc__factory.ts +621 -0
  132. package/typechain-types/factories/contracts/access/DataPrivacyFramework/extensions/index.ts +4 -0
  133. package/typechain-types/factories/contracts/access/DataPrivacyFramework/index.ts +5 -0
  134. package/typechain-types/factories/contracts/access/index.ts +4 -0
  135. package/typechain-types/factories/contracts/index.ts +8 -0
  136. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +670 -0
  137. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/index.ts +4 -0
  138. package/typechain-types/factories/contracts/mocks/access/index.ts +4 -0
  139. package/typechain-types/factories/contracts/mocks/index.ts +7 -0
  140. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +615 -0
  141. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/index.ts +4 -0
  142. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +630 -0
  143. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/index.ts +4 -0
  144. package/typechain-types/factories/contracts/mocks/token/index.ts +5 -0
  145. package/typechain-types/factories/contracts/mocks/utils/index.ts +4 -0
  146. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +374 -0
  147. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +361 -0
  148. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract__factory.ts +361 -0
  149. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/index.ts +4 -0
  150. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +361 -0
  151. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +337 -0
  152. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +236 -0
  153. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous2TestsContract__factory.ts +432 -0
  154. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract__factory.ts +245 -0
  155. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/index.ts +4 -0
  156. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +374 -0
  157. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +264 -0
  158. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +360 -0
  159. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +441 -0
  160. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +15 -0
  161. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +194 -0
  162. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/index.ts +4 -0
  163. package/typechain-types/factories/contracts/mocks/wallet/index.ts +4 -0
  164. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +104 -0
  165. package/typechain-types/factories/contracts/onboard/index.ts +4 -0
  166. package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +406 -0
  167. package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +532 -0
  168. package/typechain-types/factories/contracts/token/PrivateERC20/index.ts +5 -0
  169. package/typechain-types/factories/contracts/token/PrivateERC721/PrivateERC721__factory.ts +439 -0
  170. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage__factory.ts +512 -0
  171. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/index.ts +4 -0
  172. package/typechain-types/factories/contracts/token/PrivateERC721/index.ts +5 -0
  173. package/typechain-types/factories/contracts/token/index.ts +5 -0
  174. package/typechain-types/factories/contracts/utils/index.ts +4 -0
  175. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +919 -0
  176. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/index.ts +4 -0
  177. package/typechain-types/factories/contracts/utils/mpc/index.ts +4 -0
  178. package/typechain-types/factories/index.ts +5 -0
  179. package/typechain-types/hardhat.d.ts +621 -0
  180. package/typechain-types/index.ts +72 -0
@@ -0,0 +1,543 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumberish,
7
+ BytesLike,
8
+ FunctionFragment,
9
+ Result,
10
+ Interface,
11
+ EventFragment,
12
+ AddressLike,
13
+ ContractRunner,
14
+ ContractMethod,
15
+ Listener,
16
+ } from "ethers";
17
+ import type {
18
+ TypedContractEvent,
19
+ TypedDeferredTopicFilter,
20
+ TypedEventLog,
21
+ TypedLogDescription,
22
+ TypedListener,
23
+ TypedContractMethod,
24
+ } from "../../../../common";
25
+
26
+ export type ItUint64Struct = { ciphertext: BigNumberish; signature: BytesLike };
27
+
28
+ export type ItUint64StructOutput = [ciphertext: bigint, signature: string] & {
29
+ ciphertext: bigint;
30
+ signature: string;
31
+ };
32
+
33
+ export declare namespace IPrivateERC20 {
34
+ export type AllowanceStruct = {
35
+ ciphertext: BigNumberish;
36
+ ownerCiphertext: BigNumberish;
37
+ spenderCiphertext: BigNumberish;
38
+ };
39
+
40
+ export type AllowanceStructOutput = [
41
+ ciphertext: bigint,
42
+ ownerCiphertext: bigint,
43
+ spenderCiphertext: bigint
44
+ ] & {
45
+ ciphertext: bigint;
46
+ ownerCiphertext: bigint;
47
+ spenderCiphertext: bigint;
48
+ };
49
+ }
50
+
51
+ export interface PrivateERC20MockInterface extends Interface {
52
+ getFunction(
53
+ nameOrSignature:
54
+ | "accountEncryptionAddress"
55
+ | "allowance(address,bool)"
56
+ | "allowance(address,address)"
57
+ | "approve(address,uint256)"
58
+ | "approve(address,(uint256,bytes))"
59
+ | "balanceOf(address)"
60
+ | "balanceOf()"
61
+ | "burn"
62
+ | "decimals"
63
+ | "mint"
64
+ | "name"
65
+ | "reencryptAllowance"
66
+ | "setAccountEncryptionAddress"
67
+ | "symbol"
68
+ | "totalSupply"
69
+ | "transfer(address,(uint256,bytes))"
70
+ | "transfer(address,uint256)"
71
+ | "transferFrom(address,address,(uint256,bytes))"
72
+ | "transferFrom(address,address,uint256)"
73
+ ): FunctionFragment;
74
+
75
+ getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
76
+
77
+ encodeFunctionData(
78
+ functionFragment: "accountEncryptionAddress",
79
+ values: [AddressLike]
80
+ ): string;
81
+ encodeFunctionData(
82
+ functionFragment: "allowance(address,bool)",
83
+ values: [AddressLike, boolean]
84
+ ): string;
85
+ encodeFunctionData(
86
+ functionFragment: "allowance(address,address)",
87
+ values: [AddressLike, AddressLike]
88
+ ): string;
89
+ encodeFunctionData(
90
+ functionFragment: "approve(address,uint256)",
91
+ values: [AddressLike, BigNumberish]
92
+ ): string;
93
+ encodeFunctionData(
94
+ functionFragment: "approve(address,(uint256,bytes))",
95
+ values: [AddressLike, ItUint64Struct]
96
+ ): string;
97
+ encodeFunctionData(
98
+ functionFragment: "balanceOf(address)",
99
+ values: [AddressLike]
100
+ ): string;
101
+ encodeFunctionData(
102
+ functionFragment: "balanceOf()",
103
+ values?: undefined
104
+ ): string;
105
+ encodeFunctionData(
106
+ functionFragment: "burn",
107
+ values: [AddressLike, BigNumberish]
108
+ ): string;
109
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
110
+ encodeFunctionData(
111
+ functionFragment: "mint",
112
+ values: [AddressLike, BigNumberish]
113
+ ): string;
114
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
115
+ encodeFunctionData(
116
+ functionFragment: "reencryptAllowance",
117
+ values: [AddressLike, boolean]
118
+ ): string;
119
+ encodeFunctionData(
120
+ functionFragment: "setAccountEncryptionAddress",
121
+ values: [AddressLike]
122
+ ): string;
123
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
124
+ encodeFunctionData(
125
+ functionFragment: "totalSupply",
126
+ values?: undefined
127
+ ): string;
128
+ encodeFunctionData(
129
+ functionFragment: "transfer(address,(uint256,bytes))",
130
+ values: [AddressLike, ItUint64Struct]
131
+ ): string;
132
+ encodeFunctionData(
133
+ functionFragment: "transfer(address,uint256)",
134
+ values: [AddressLike, BigNumberish]
135
+ ): string;
136
+ encodeFunctionData(
137
+ functionFragment: "transferFrom(address,address,(uint256,bytes))",
138
+ values: [AddressLike, AddressLike, ItUint64Struct]
139
+ ): string;
140
+ encodeFunctionData(
141
+ functionFragment: "transferFrom(address,address,uint256)",
142
+ values: [AddressLike, AddressLike, BigNumberish]
143
+ ): string;
144
+
145
+ decodeFunctionResult(
146
+ functionFragment: "accountEncryptionAddress",
147
+ data: BytesLike
148
+ ): Result;
149
+ decodeFunctionResult(
150
+ functionFragment: "allowance(address,bool)",
151
+ data: BytesLike
152
+ ): Result;
153
+ decodeFunctionResult(
154
+ functionFragment: "allowance(address,address)",
155
+ data: BytesLike
156
+ ): Result;
157
+ decodeFunctionResult(
158
+ functionFragment: "approve(address,uint256)",
159
+ data: BytesLike
160
+ ): Result;
161
+ decodeFunctionResult(
162
+ functionFragment: "approve(address,(uint256,bytes))",
163
+ data: BytesLike
164
+ ): Result;
165
+ decodeFunctionResult(
166
+ functionFragment: "balanceOf(address)",
167
+ data: BytesLike
168
+ ): Result;
169
+ decodeFunctionResult(
170
+ functionFragment: "balanceOf()",
171
+ data: BytesLike
172
+ ): Result;
173
+ decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
174
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
175
+ decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
176
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
177
+ decodeFunctionResult(
178
+ functionFragment: "reencryptAllowance",
179
+ data: BytesLike
180
+ ): Result;
181
+ decodeFunctionResult(
182
+ functionFragment: "setAccountEncryptionAddress",
183
+ data: BytesLike
184
+ ): Result;
185
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
186
+ decodeFunctionResult(
187
+ functionFragment: "totalSupply",
188
+ data: BytesLike
189
+ ): Result;
190
+ decodeFunctionResult(
191
+ functionFragment: "transfer(address,(uint256,bytes))",
192
+ data: BytesLike
193
+ ): Result;
194
+ decodeFunctionResult(
195
+ functionFragment: "transfer(address,uint256)",
196
+ data: BytesLike
197
+ ): Result;
198
+ decodeFunctionResult(
199
+ functionFragment: "transferFrom(address,address,(uint256,bytes))",
200
+ data: BytesLike
201
+ ): Result;
202
+ decodeFunctionResult(
203
+ functionFragment: "transferFrom(address,address,uint256)",
204
+ data: BytesLike
205
+ ): Result;
206
+ }
207
+
208
+ export namespace ApprovalEvent {
209
+ export type InputTuple = [
210
+ owner: AddressLike,
211
+ spender: AddressLike,
212
+ ownerValue: BigNumberish,
213
+ spenderValue: BigNumberish
214
+ ];
215
+ export type OutputTuple = [
216
+ owner: string,
217
+ spender: string,
218
+ ownerValue: bigint,
219
+ spenderValue: bigint
220
+ ];
221
+ export interface OutputObject {
222
+ owner: string;
223
+ spender: string;
224
+ ownerValue: bigint;
225
+ spenderValue: bigint;
226
+ }
227
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
228
+ export type Filter = TypedDeferredTopicFilter<Event>;
229
+ export type Log = TypedEventLog<Event>;
230
+ export type LogDescription = TypedLogDescription<Event>;
231
+ }
232
+
233
+ export namespace TransferEvent {
234
+ export type InputTuple = [
235
+ from: AddressLike,
236
+ to: AddressLike,
237
+ senderValue: BigNumberish,
238
+ receiverValue: BigNumberish
239
+ ];
240
+ export type OutputTuple = [
241
+ from: string,
242
+ to: string,
243
+ senderValue: bigint,
244
+ receiverValue: bigint
245
+ ];
246
+ export interface OutputObject {
247
+ from: string;
248
+ to: string;
249
+ senderValue: bigint;
250
+ receiverValue: bigint;
251
+ }
252
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
253
+ export type Filter = TypedDeferredTopicFilter<Event>;
254
+ export type Log = TypedEventLog<Event>;
255
+ export type LogDescription = TypedLogDescription<Event>;
256
+ }
257
+
258
+ export interface PrivateERC20Mock extends BaseContract {
259
+ connect(runner?: ContractRunner | null): PrivateERC20Mock;
260
+ waitForDeployment(): Promise<this>;
261
+
262
+ interface: PrivateERC20MockInterface;
263
+
264
+ queryFilter<TCEvent extends TypedContractEvent>(
265
+ event: TCEvent,
266
+ fromBlockOrBlockhash?: string | number | undefined,
267
+ toBlock?: string | number | undefined
268
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
269
+ queryFilter<TCEvent extends TypedContractEvent>(
270
+ filter: TypedDeferredTopicFilter<TCEvent>,
271
+ fromBlockOrBlockhash?: string | number | undefined,
272
+ toBlock?: string | number | undefined
273
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
274
+
275
+ on<TCEvent extends TypedContractEvent>(
276
+ event: TCEvent,
277
+ listener: TypedListener<TCEvent>
278
+ ): Promise<this>;
279
+ on<TCEvent extends TypedContractEvent>(
280
+ filter: TypedDeferredTopicFilter<TCEvent>,
281
+ listener: TypedListener<TCEvent>
282
+ ): Promise<this>;
283
+
284
+ once<TCEvent extends TypedContractEvent>(
285
+ event: TCEvent,
286
+ listener: TypedListener<TCEvent>
287
+ ): Promise<this>;
288
+ once<TCEvent extends TypedContractEvent>(
289
+ filter: TypedDeferredTopicFilter<TCEvent>,
290
+ listener: TypedListener<TCEvent>
291
+ ): Promise<this>;
292
+
293
+ listeners<TCEvent extends TypedContractEvent>(
294
+ event: TCEvent
295
+ ): Promise<Array<TypedListener<TCEvent>>>;
296
+ listeners(eventName?: string): Promise<Array<Listener>>;
297
+ removeAllListeners<TCEvent extends TypedContractEvent>(
298
+ event?: TCEvent
299
+ ): Promise<this>;
300
+
301
+ accountEncryptionAddress: TypedContractMethod<
302
+ [account: AddressLike],
303
+ [string],
304
+ "view"
305
+ >;
306
+
307
+ "allowance(address,bool)": TypedContractMethod<
308
+ [account: AddressLike, isSpender: boolean],
309
+ [bigint],
310
+ "nonpayable"
311
+ >;
312
+
313
+ "allowance(address,address)": TypedContractMethod<
314
+ [owner: AddressLike, spender: AddressLike],
315
+ [IPrivateERC20.AllowanceStructOutput],
316
+ "view"
317
+ >;
318
+
319
+ "approve(address,uint256)": TypedContractMethod<
320
+ [spender: AddressLike, value: BigNumberish],
321
+ [boolean],
322
+ "nonpayable"
323
+ >;
324
+
325
+ "approve(address,(uint256,bytes))": TypedContractMethod<
326
+ [spender: AddressLike, value: ItUint64Struct],
327
+ [boolean],
328
+ "nonpayable"
329
+ >;
330
+
331
+ "balanceOf(address)": TypedContractMethod<
332
+ [account: AddressLike],
333
+ [bigint],
334
+ "view"
335
+ >;
336
+
337
+ "balanceOf()": TypedContractMethod<[], [bigint], "nonpayable">;
338
+
339
+ burn: TypedContractMethod<
340
+ [account: AddressLike, amount: BigNumberish],
341
+ [void],
342
+ "nonpayable"
343
+ >;
344
+
345
+ decimals: TypedContractMethod<[], [bigint], "view">;
346
+
347
+ mint: TypedContractMethod<
348
+ [account: AddressLike, amount: BigNumberish],
349
+ [void],
350
+ "nonpayable"
351
+ >;
352
+
353
+ name: TypedContractMethod<[], [string], "view">;
354
+
355
+ reencryptAllowance: TypedContractMethod<
356
+ [account: AddressLike, isSpender: boolean],
357
+ [boolean],
358
+ "nonpayable"
359
+ >;
360
+
361
+ setAccountEncryptionAddress: TypedContractMethod<
362
+ [offBoardAddress: AddressLike],
363
+ [boolean],
364
+ "nonpayable"
365
+ >;
366
+
367
+ symbol: TypedContractMethod<[], [string], "view">;
368
+
369
+ totalSupply: TypedContractMethod<[], [bigint], "view">;
370
+
371
+ "transfer(address,(uint256,bytes))": TypedContractMethod<
372
+ [to: AddressLike, value: ItUint64Struct],
373
+ [bigint],
374
+ "nonpayable"
375
+ >;
376
+
377
+ "transfer(address,uint256)": TypedContractMethod<
378
+ [to: AddressLike, value: BigNumberish],
379
+ [bigint],
380
+ "nonpayable"
381
+ >;
382
+
383
+ "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
384
+ [from: AddressLike, to: AddressLike, value: ItUint64Struct],
385
+ [bigint],
386
+ "nonpayable"
387
+ >;
388
+
389
+ "transferFrom(address,address,uint256)": TypedContractMethod<
390
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
391
+ [bigint],
392
+ "nonpayable"
393
+ >;
394
+
395
+ getFunction<T extends ContractMethod = ContractMethod>(
396
+ key: string | FunctionFragment
397
+ ): T;
398
+
399
+ getFunction(
400
+ nameOrSignature: "accountEncryptionAddress"
401
+ ): TypedContractMethod<[account: AddressLike], [string], "view">;
402
+ getFunction(
403
+ nameOrSignature: "allowance(address,bool)"
404
+ ): TypedContractMethod<
405
+ [account: AddressLike, isSpender: boolean],
406
+ [bigint],
407
+ "nonpayable"
408
+ >;
409
+ getFunction(
410
+ nameOrSignature: "allowance(address,address)"
411
+ ): TypedContractMethod<
412
+ [owner: AddressLike, spender: AddressLike],
413
+ [IPrivateERC20.AllowanceStructOutput],
414
+ "view"
415
+ >;
416
+ getFunction(
417
+ nameOrSignature: "approve(address,uint256)"
418
+ ): TypedContractMethod<
419
+ [spender: AddressLike, value: BigNumberish],
420
+ [boolean],
421
+ "nonpayable"
422
+ >;
423
+ getFunction(
424
+ nameOrSignature: "approve(address,(uint256,bytes))"
425
+ ): TypedContractMethod<
426
+ [spender: AddressLike, value: ItUint64Struct],
427
+ [boolean],
428
+ "nonpayable"
429
+ >;
430
+ getFunction(
431
+ nameOrSignature: "balanceOf(address)"
432
+ ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
433
+ getFunction(
434
+ nameOrSignature: "balanceOf()"
435
+ ): TypedContractMethod<[], [bigint], "nonpayable">;
436
+ getFunction(
437
+ nameOrSignature: "burn"
438
+ ): TypedContractMethod<
439
+ [account: AddressLike, amount: BigNumberish],
440
+ [void],
441
+ "nonpayable"
442
+ >;
443
+ getFunction(
444
+ nameOrSignature: "decimals"
445
+ ): TypedContractMethod<[], [bigint], "view">;
446
+ getFunction(
447
+ nameOrSignature: "mint"
448
+ ): TypedContractMethod<
449
+ [account: AddressLike, amount: BigNumberish],
450
+ [void],
451
+ "nonpayable"
452
+ >;
453
+ getFunction(
454
+ nameOrSignature: "name"
455
+ ): TypedContractMethod<[], [string], "view">;
456
+ getFunction(
457
+ nameOrSignature: "reencryptAllowance"
458
+ ): TypedContractMethod<
459
+ [account: AddressLike, isSpender: boolean],
460
+ [boolean],
461
+ "nonpayable"
462
+ >;
463
+ getFunction(
464
+ nameOrSignature: "setAccountEncryptionAddress"
465
+ ): TypedContractMethod<
466
+ [offBoardAddress: AddressLike],
467
+ [boolean],
468
+ "nonpayable"
469
+ >;
470
+ getFunction(
471
+ nameOrSignature: "symbol"
472
+ ): TypedContractMethod<[], [string], "view">;
473
+ getFunction(
474
+ nameOrSignature: "totalSupply"
475
+ ): TypedContractMethod<[], [bigint], "view">;
476
+ getFunction(
477
+ nameOrSignature: "transfer(address,(uint256,bytes))"
478
+ ): TypedContractMethod<
479
+ [to: AddressLike, value: ItUint64Struct],
480
+ [bigint],
481
+ "nonpayable"
482
+ >;
483
+ getFunction(
484
+ nameOrSignature: "transfer(address,uint256)"
485
+ ): TypedContractMethod<
486
+ [to: AddressLike, value: BigNumberish],
487
+ [bigint],
488
+ "nonpayable"
489
+ >;
490
+ getFunction(
491
+ nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
492
+ ): TypedContractMethod<
493
+ [from: AddressLike, to: AddressLike, value: ItUint64Struct],
494
+ [bigint],
495
+ "nonpayable"
496
+ >;
497
+ getFunction(
498
+ nameOrSignature: "transferFrom(address,address,uint256)"
499
+ ): TypedContractMethod<
500
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
501
+ [bigint],
502
+ "nonpayable"
503
+ >;
504
+
505
+ getEvent(
506
+ key: "Approval"
507
+ ): TypedContractEvent<
508
+ ApprovalEvent.InputTuple,
509
+ ApprovalEvent.OutputTuple,
510
+ ApprovalEvent.OutputObject
511
+ >;
512
+ getEvent(
513
+ key: "Transfer"
514
+ ): TypedContractEvent<
515
+ TransferEvent.InputTuple,
516
+ TransferEvent.OutputTuple,
517
+ TransferEvent.OutputObject
518
+ >;
519
+
520
+ filters: {
521
+ "Approval(address,address,uint256,uint256)": TypedContractEvent<
522
+ ApprovalEvent.InputTuple,
523
+ ApprovalEvent.OutputTuple,
524
+ ApprovalEvent.OutputObject
525
+ >;
526
+ Approval: TypedContractEvent<
527
+ ApprovalEvent.InputTuple,
528
+ ApprovalEvent.OutputTuple,
529
+ ApprovalEvent.OutputObject
530
+ >;
531
+
532
+ "Transfer(address,address,uint256,uint256)": TypedContractEvent<
533
+ TransferEvent.InputTuple,
534
+ TransferEvent.OutputTuple,
535
+ TransferEvent.OutputObject
536
+ >;
537
+ Transfer: TypedContractEvent<
538
+ TransferEvent.InputTuple,
539
+ TransferEvent.OutputTuple,
540
+ TransferEvent.OutputObject
541
+ >;
542
+ };
543
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { PrivateERC20Mock } from "./PrivateERC20Mock";