@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,505 @@
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 PrivateERC20Interface 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
+ | "decimals"
62
+ | "name"
63
+ | "reencryptAllowance"
64
+ | "setAccountEncryptionAddress"
65
+ | "symbol"
66
+ | "totalSupply"
67
+ | "transfer(address,(uint256,bytes))"
68
+ | "transfer(address,uint256)"
69
+ | "transferFrom(address,address,(uint256,bytes))"
70
+ | "transferFrom(address,address,uint256)"
71
+ ): FunctionFragment;
72
+
73
+ getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment;
74
+
75
+ encodeFunctionData(
76
+ functionFragment: "accountEncryptionAddress",
77
+ values: [AddressLike]
78
+ ): string;
79
+ encodeFunctionData(
80
+ functionFragment: "allowance(address,bool)",
81
+ values: [AddressLike, boolean]
82
+ ): string;
83
+ encodeFunctionData(
84
+ functionFragment: "allowance(address,address)",
85
+ values: [AddressLike, AddressLike]
86
+ ): string;
87
+ encodeFunctionData(
88
+ functionFragment: "approve(address,uint256)",
89
+ values: [AddressLike, BigNumberish]
90
+ ): string;
91
+ encodeFunctionData(
92
+ functionFragment: "approve(address,(uint256,bytes))",
93
+ values: [AddressLike, ItUint64Struct]
94
+ ): string;
95
+ encodeFunctionData(
96
+ functionFragment: "balanceOf(address)",
97
+ values: [AddressLike]
98
+ ): string;
99
+ encodeFunctionData(
100
+ functionFragment: "balanceOf()",
101
+ values?: undefined
102
+ ): string;
103
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
104
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
105
+ encodeFunctionData(
106
+ functionFragment: "reencryptAllowance",
107
+ values: [AddressLike, boolean]
108
+ ): string;
109
+ encodeFunctionData(
110
+ functionFragment: "setAccountEncryptionAddress",
111
+ values: [AddressLike]
112
+ ): string;
113
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
114
+ encodeFunctionData(
115
+ functionFragment: "totalSupply",
116
+ values?: undefined
117
+ ): string;
118
+ encodeFunctionData(
119
+ functionFragment: "transfer(address,(uint256,bytes))",
120
+ values: [AddressLike, ItUint64Struct]
121
+ ): string;
122
+ encodeFunctionData(
123
+ functionFragment: "transfer(address,uint256)",
124
+ values: [AddressLike, BigNumberish]
125
+ ): string;
126
+ encodeFunctionData(
127
+ functionFragment: "transferFrom(address,address,(uint256,bytes))",
128
+ values: [AddressLike, AddressLike, ItUint64Struct]
129
+ ): string;
130
+ encodeFunctionData(
131
+ functionFragment: "transferFrom(address,address,uint256)",
132
+ values: [AddressLike, AddressLike, BigNumberish]
133
+ ): string;
134
+
135
+ decodeFunctionResult(
136
+ functionFragment: "accountEncryptionAddress",
137
+ data: BytesLike
138
+ ): Result;
139
+ decodeFunctionResult(
140
+ functionFragment: "allowance(address,bool)",
141
+ data: BytesLike
142
+ ): Result;
143
+ decodeFunctionResult(
144
+ functionFragment: "allowance(address,address)",
145
+ data: BytesLike
146
+ ): Result;
147
+ decodeFunctionResult(
148
+ functionFragment: "approve(address,uint256)",
149
+ data: BytesLike
150
+ ): Result;
151
+ decodeFunctionResult(
152
+ functionFragment: "approve(address,(uint256,bytes))",
153
+ data: BytesLike
154
+ ): Result;
155
+ decodeFunctionResult(
156
+ functionFragment: "balanceOf(address)",
157
+ data: BytesLike
158
+ ): Result;
159
+ decodeFunctionResult(
160
+ functionFragment: "balanceOf()",
161
+ data: BytesLike
162
+ ): Result;
163
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
164
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
165
+ decodeFunctionResult(
166
+ functionFragment: "reencryptAllowance",
167
+ data: BytesLike
168
+ ): Result;
169
+ decodeFunctionResult(
170
+ functionFragment: "setAccountEncryptionAddress",
171
+ data: BytesLike
172
+ ): Result;
173
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
174
+ decodeFunctionResult(
175
+ functionFragment: "totalSupply",
176
+ data: BytesLike
177
+ ): Result;
178
+ decodeFunctionResult(
179
+ functionFragment: "transfer(address,(uint256,bytes))",
180
+ data: BytesLike
181
+ ): Result;
182
+ decodeFunctionResult(
183
+ functionFragment: "transfer(address,uint256)",
184
+ data: BytesLike
185
+ ): Result;
186
+ decodeFunctionResult(
187
+ functionFragment: "transferFrom(address,address,(uint256,bytes))",
188
+ data: BytesLike
189
+ ): Result;
190
+ decodeFunctionResult(
191
+ functionFragment: "transferFrom(address,address,uint256)",
192
+ data: BytesLike
193
+ ): Result;
194
+ }
195
+
196
+ export namespace ApprovalEvent {
197
+ export type InputTuple = [
198
+ owner: AddressLike,
199
+ spender: AddressLike,
200
+ ownerValue: BigNumberish,
201
+ spenderValue: BigNumberish
202
+ ];
203
+ export type OutputTuple = [
204
+ owner: string,
205
+ spender: string,
206
+ ownerValue: bigint,
207
+ spenderValue: bigint
208
+ ];
209
+ export interface OutputObject {
210
+ owner: string;
211
+ spender: string;
212
+ ownerValue: bigint;
213
+ spenderValue: bigint;
214
+ }
215
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
216
+ export type Filter = TypedDeferredTopicFilter<Event>;
217
+ export type Log = TypedEventLog<Event>;
218
+ export type LogDescription = TypedLogDescription<Event>;
219
+ }
220
+
221
+ export namespace TransferEvent {
222
+ export type InputTuple = [
223
+ from: AddressLike,
224
+ to: AddressLike,
225
+ senderValue: BigNumberish,
226
+ receiverValue: BigNumberish
227
+ ];
228
+ export type OutputTuple = [
229
+ from: string,
230
+ to: string,
231
+ senderValue: bigint,
232
+ receiverValue: bigint
233
+ ];
234
+ export interface OutputObject {
235
+ from: string;
236
+ to: string;
237
+ senderValue: bigint;
238
+ receiverValue: bigint;
239
+ }
240
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
241
+ export type Filter = TypedDeferredTopicFilter<Event>;
242
+ export type Log = TypedEventLog<Event>;
243
+ export type LogDescription = TypedLogDescription<Event>;
244
+ }
245
+
246
+ export interface PrivateERC20 extends BaseContract {
247
+ connect(runner?: ContractRunner | null): PrivateERC20;
248
+ waitForDeployment(): Promise<this>;
249
+
250
+ interface: PrivateERC20Interface;
251
+
252
+ queryFilter<TCEvent extends TypedContractEvent>(
253
+ event: TCEvent,
254
+ fromBlockOrBlockhash?: string | number | undefined,
255
+ toBlock?: string | number | undefined
256
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
257
+ queryFilter<TCEvent extends TypedContractEvent>(
258
+ filter: TypedDeferredTopicFilter<TCEvent>,
259
+ fromBlockOrBlockhash?: string | number | undefined,
260
+ toBlock?: string | number | undefined
261
+ ): Promise<Array<TypedEventLog<TCEvent>>>;
262
+
263
+ on<TCEvent extends TypedContractEvent>(
264
+ event: TCEvent,
265
+ listener: TypedListener<TCEvent>
266
+ ): Promise<this>;
267
+ on<TCEvent extends TypedContractEvent>(
268
+ filter: TypedDeferredTopicFilter<TCEvent>,
269
+ listener: TypedListener<TCEvent>
270
+ ): Promise<this>;
271
+
272
+ once<TCEvent extends TypedContractEvent>(
273
+ event: TCEvent,
274
+ listener: TypedListener<TCEvent>
275
+ ): Promise<this>;
276
+ once<TCEvent extends TypedContractEvent>(
277
+ filter: TypedDeferredTopicFilter<TCEvent>,
278
+ listener: TypedListener<TCEvent>
279
+ ): Promise<this>;
280
+
281
+ listeners<TCEvent extends TypedContractEvent>(
282
+ event: TCEvent
283
+ ): Promise<Array<TypedListener<TCEvent>>>;
284
+ listeners(eventName?: string): Promise<Array<Listener>>;
285
+ removeAllListeners<TCEvent extends TypedContractEvent>(
286
+ event?: TCEvent
287
+ ): Promise<this>;
288
+
289
+ accountEncryptionAddress: TypedContractMethod<
290
+ [account: AddressLike],
291
+ [string],
292
+ "view"
293
+ >;
294
+
295
+ "allowance(address,bool)": TypedContractMethod<
296
+ [account: AddressLike, isSpender: boolean],
297
+ [bigint],
298
+ "nonpayable"
299
+ >;
300
+
301
+ "allowance(address,address)": TypedContractMethod<
302
+ [owner: AddressLike, spender: AddressLike],
303
+ [IPrivateERC20.AllowanceStructOutput],
304
+ "view"
305
+ >;
306
+
307
+ "approve(address,uint256)": TypedContractMethod<
308
+ [spender: AddressLike, value: BigNumberish],
309
+ [boolean],
310
+ "nonpayable"
311
+ >;
312
+
313
+ "approve(address,(uint256,bytes))": TypedContractMethod<
314
+ [spender: AddressLike, value: ItUint64Struct],
315
+ [boolean],
316
+ "nonpayable"
317
+ >;
318
+
319
+ "balanceOf(address)": TypedContractMethod<
320
+ [account: AddressLike],
321
+ [bigint],
322
+ "view"
323
+ >;
324
+
325
+ "balanceOf()": TypedContractMethod<[], [bigint], "nonpayable">;
326
+
327
+ decimals: TypedContractMethod<[], [bigint], "view">;
328
+
329
+ name: TypedContractMethod<[], [string], "view">;
330
+
331
+ reencryptAllowance: TypedContractMethod<
332
+ [account: AddressLike, isSpender: boolean],
333
+ [boolean],
334
+ "nonpayable"
335
+ >;
336
+
337
+ setAccountEncryptionAddress: TypedContractMethod<
338
+ [offBoardAddress: AddressLike],
339
+ [boolean],
340
+ "nonpayable"
341
+ >;
342
+
343
+ symbol: TypedContractMethod<[], [string], "view">;
344
+
345
+ totalSupply: TypedContractMethod<[], [bigint], "view">;
346
+
347
+ "transfer(address,(uint256,bytes))": TypedContractMethod<
348
+ [to: AddressLike, value: ItUint64Struct],
349
+ [bigint],
350
+ "nonpayable"
351
+ >;
352
+
353
+ "transfer(address,uint256)": TypedContractMethod<
354
+ [to: AddressLike, value: BigNumberish],
355
+ [bigint],
356
+ "nonpayable"
357
+ >;
358
+
359
+ "transferFrom(address,address,(uint256,bytes))": TypedContractMethod<
360
+ [from: AddressLike, to: AddressLike, value: ItUint64Struct],
361
+ [bigint],
362
+ "nonpayable"
363
+ >;
364
+
365
+ "transferFrom(address,address,uint256)": TypedContractMethod<
366
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
367
+ [bigint],
368
+ "nonpayable"
369
+ >;
370
+
371
+ getFunction<T extends ContractMethod = ContractMethod>(
372
+ key: string | FunctionFragment
373
+ ): T;
374
+
375
+ getFunction(
376
+ nameOrSignature: "accountEncryptionAddress"
377
+ ): TypedContractMethod<[account: AddressLike], [string], "view">;
378
+ getFunction(
379
+ nameOrSignature: "allowance(address,bool)"
380
+ ): TypedContractMethod<
381
+ [account: AddressLike, isSpender: boolean],
382
+ [bigint],
383
+ "nonpayable"
384
+ >;
385
+ getFunction(
386
+ nameOrSignature: "allowance(address,address)"
387
+ ): TypedContractMethod<
388
+ [owner: AddressLike, spender: AddressLike],
389
+ [IPrivateERC20.AllowanceStructOutput],
390
+ "view"
391
+ >;
392
+ getFunction(
393
+ nameOrSignature: "approve(address,uint256)"
394
+ ): TypedContractMethod<
395
+ [spender: AddressLike, value: BigNumberish],
396
+ [boolean],
397
+ "nonpayable"
398
+ >;
399
+ getFunction(
400
+ nameOrSignature: "approve(address,(uint256,bytes))"
401
+ ): TypedContractMethod<
402
+ [spender: AddressLike, value: ItUint64Struct],
403
+ [boolean],
404
+ "nonpayable"
405
+ >;
406
+ getFunction(
407
+ nameOrSignature: "balanceOf(address)"
408
+ ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
409
+ getFunction(
410
+ nameOrSignature: "balanceOf()"
411
+ ): TypedContractMethod<[], [bigint], "nonpayable">;
412
+ getFunction(
413
+ nameOrSignature: "decimals"
414
+ ): TypedContractMethod<[], [bigint], "view">;
415
+ getFunction(
416
+ nameOrSignature: "name"
417
+ ): TypedContractMethod<[], [string], "view">;
418
+ getFunction(
419
+ nameOrSignature: "reencryptAllowance"
420
+ ): TypedContractMethod<
421
+ [account: AddressLike, isSpender: boolean],
422
+ [boolean],
423
+ "nonpayable"
424
+ >;
425
+ getFunction(
426
+ nameOrSignature: "setAccountEncryptionAddress"
427
+ ): TypedContractMethod<
428
+ [offBoardAddress: AddressLike],
429
+ [boolean],
430
+ "nonpayable"
431
+ >;
432
+ getFunction(
433
+ nameOrSignature: "symbol"
434
+ ): TypedContractMethod<[], [string], "view">;
435
+ getFunction(
436
+ nameOrSignature: "totalSupply"
437
+ ): TypedContractMethod<[], [bigint], "view">;
438
+ getFunction(
439
+ nameOrSignature: "transfer(address,(uint256,bytes))"
440
+ ): TypedContractMethod<
441
+ [to: AddressLike, value: ItUint64Struct],
442
+ [bigint],
443
+ "nonpayable"
444
+ >;
445
+ getFunction(
446
+ nameOrSignature: "transfer(address,uint256)"
447
+ ): TypedContractMethod<
448
+ [to: AddressLike, value: BigNumberish],
449
+ [bigint],
450
+ "nonpayable"
451
+ >;
452
+ getFunction(
453
+ nameOrSignature: "transferFrom(address,address,(uint256,bytes))"
454
+ ): TypedContractMethod<
455
+ [from: AddressLike, to: AddressLike, value: ItUint64Struct],
456
+ [bigint],
457
+ "nonpayable"
458
+ >;
459
+ getFunction(
460
+ nameOrSignature: "transferFrom(address,address,uint256)"
461
+ ): TypedContractMethod<
462
+ [from: AddressLike, to: AddressLike, value: BigNumberish],
463
+ [bigint],
464
+ "nonpayable"
465
+ >;
466
+
467
+ getEvent(
468
+ key: "Approval"
469
+ ): TypedContractEvent<
470
+ ApprovalEvent.InputTuple,
471
+ ApprovalEvent.OutputTuple,
472
+ ApprovalEvent.OutputObject
473
+ >;
474
+ getEvent(
475
+ key: "Transfer"
476
+ ): TypedContractEvent<
477
+ TransferEvent.InputTuple,
478
+ TransferEvent.OutputTuple,
479
+ TransferEvent.OutputObject
480
+ >;
481
+
482
+ filters: {
483
+ "Approval(address,address,uint256,uint256)": TypedContractEvent<
484
+ ApprovalEvent.InputTuple,
485
+ ApprovalEvent.OutputTuple,
486
+ ApprovalEvent.OutputObject
487
+ >;
488
+ Approval: TypedContractEvent<
489
+ ApprovalEvent.InputTuple,
490
+ ApprovalEvent.OutputTuple,
491
+ ApprovalEvent.OutputObject
492
+ >;
493
+
494
+ "Transfer(address,address,uint256,uint256)": TypedContractEvent<
495
+ TransferEvent.InputTuple,
496
+ TransferEvent.OutputTuple,
497
+ TransferEvent.OutputObject
498
+ >;
499
+ Transfer: TypedContractEvent<
500
+ TransferEvent.InputTuple,
501
+ TransferEvent.OutputTuple,
502
+ TransferEvent.OutputObject
503
+ >;
504
+ };
505
+ }
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { IPrivateERC20 } from "./IPrivateERC20";
5
+ export type { PrivateERC20 } from "./PrivateERC20";