@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,194 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../../../common";
12
+ import type {
13
+ PrivateERC20WalletMock,
14
+ PrivateERC20WalletMockInterface,
15
+ } from "../../../../../contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [],
20
+ stateMutability: "nonpayable",
21
+ type: "constructor",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "address",
27
+ name: "token",
28
+ type: "address",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "spender",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "uint64",
37
+ name: "value",
38
+ type: "uint64",
39
+ },
40
+ ],
41
+ name: "approve",
42
+ outputs: [
43
+ {
44
+ internalType: "bool",
45
+ name: "",
46
+ type: "bool",
47
+ },
48
+ ],
49
+ stateMutability: "nonpayable",
50
+ type: "function",
51
+ },
52
+ {
53
+ inputs: [
54
+ {
55
+ internalType: "address",
56
+ name: "token",
57
+ type: "address",
58
+ },
59
+ {
60
+ internalType: "address",
61
+ name: "accountEncryptionAddress",
62
+ type: "address",
63
+ },
64
+ ],
65
+ name: "setAccountEncryptionAddress",
66
+ outputs: [
67
+ {
68
+ internalType: "bool",
69
+ name: "",
70
+ type: "bool",
71
+ },
72
+ ],
73
+ stateMutability: "nonpayable",
74
+ type: "function",
75
+ },
76
+ {
77
+ inputs: [
78
+ {
79
+ internalType: "address",
80
+ name: "token",
81
+ type: "address",
82
+ },
83
+ {
84
+ internalType: "address",
85
+ name: "to",
86
+ type: "address",
87
+ },
88
+ {
89
+ internalType: "uint64",
90
+ name: "value",
91
+ type: "uint64",
92
+ },
93
+ ],
94
+ name: "transfer",
95
+ outputs: [
96
+ {
97
+ internalType: "gtBool",
98
+ name: "",
99
+ type: "uint256",
100
+ },
101
+ ],
102
+ stateMutability: "nonpayable",
103
+ type: "function",
104
+ },
105
+ {
106
+ inputs: [
107
+ {
108
+ internalType: "address",
109
+ name: "token",
110
+ type: "address",
111
+ },
112
+ {
113
+ internalType: "address",
114
+ name: "from",
115
+ type: "address",
116
+ },
117
+ {
118
+ internalType: "address",
119
+ name: "to",
120
+ type: "address",
121
+ },
122
+ {
123
+ internalType: "uint64",
124
+ name: "value",
125
+ type: "uint64",
126
+ },
127
+ ],
128
+ name: "transferFrom",
129
+ outputs: [
130
+ {
131
+ internalType: "gtBool",
132
+ name: "",
133
+ type: "uint256",
134
+ },
135
+ ],
136
+ stateMutability: "nonpayable",
137
+ type: "function",
138
+ },
139
+ ] as const;
140
+
141
+ const _bytecode =
142
+ "0x608060405234801561001057600080fd5b506108a3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a308b3a146100515780633ead9adb146100815780634a009211146100b1578063ce4ec16a146100e1575b600080fd5b61006b60048036038101906100669190610497565b610111565b604051610078919061052f565b60405180910390f35b61009b6004803603810190610096919061054a565b6101a2565b6040516100a8919061052f565b60405180910390f35b6100cb60048036038101906100c691906105b1565b610236565b6040516100d8919061060c565b60405180910390f35b6100fb60048036038101906100f69190610497565b6102bc565b604051610108919061060c565b60405180910390f35b60008373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb846101398561034d565b6040518363ffffffff1660e01b8152600401610156929190610645565b6020604051808303816000875af1158015610175573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610199919061069a565b90509392505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd85856101cb8661034d565b6040518463ffffffff1660e01b81526004016101e9939291906106c7565b6020604051808303816000875af1158015610208573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022c919061069a565b9050949350505050565b60008273ffffffffffffffffffffffffffffffffffffffff16638269bcc3836040518263ffffffff1660e01b815260040161027191906106fe565b6020604051808303816000875af1158015610290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b49190610745565b905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff1663095ea7b3846102e48561034d565b6040518363ffffffff1660e01b8152600401610301929190610645565b6020604051808303816000875af1158015610320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103449190610745565b90509392505050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060048081111561037f5761037e610772565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b81526004016103aa9291906107eb565b6020604051808303816000875af11580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed9190610840565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610424826103f9565b9050919050565b61043481610419565b811461043f57600080fd5b50565b6000813590506104518161042b565b92915050565b600067ffffffffffffffff82169050919050565b61047481610457565b811461047f57600080fd5b50565b6000813590506104918161046b565b92915050565b6000806000606084860312156104b0576104af6103f4565b5b60006104be86828701610442565b93505060206104cf86828701610442565b92505060406104e086828701610482565b9150509250925092565b6000819050919050565b6000819050919050565b600061051961051461050f846104ea565b6104f4565b6104ea565b9050919050565b610529816104fe565b82525050565b60006020820190506105446000830184610520565b92915050565b60008060008060808587031215610564576105636103f4565b5b600061057287828801610442565b945050602061058387828801610442565b935050604061059487828801610442565b92505060606105a587828801610482565b91505092959194509250565b600080604083850312156105c8576105c76103f4565b5b60006105d685828601610442565b92505060206105e785828601610442565b9150509250929050565b60008115159050919050565b610606816105f1565b82525050565b600060208201905061062160008301846105fd565b92915050565b61063081610419565b82525050565b61063f816104fe565b82525050565b600060408201905061065a6000830185610627565b6106676020830184610636565b9392505050565b610677816104ea565b811461068257600080fd5b50565b6000815190506106948161066e565b92915050565b6000602082840312156106b0576106af6103f4565b5b60006106be84828501610685565b91505092915050565b60006060820190506106dc6000830186610627565b6106e96020830185610627565b6106f66040830184610636565b949350505050565b60006020820190506107136000830184610627565b92915050565b610722816105f1565b811461072d57600080fd5b50565b60008151905061073f81610719565b92915050565b60006020828403121561075b5761075a6103f4565b5b600061076984828501610730565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6107d6816107a1565b82525050565b6107e5816104ea565b82525050565b600060408201905061080060008301856107cd565b61080d60208301846107dc565b9392505050565b61081d816104ea565b811461082857600080fd5b50565b60008151905061083a81610814565b92915050565b600060208284031215610856576108556103f4565b5b60006108648482850161082b565b9150509291505056fea26469706673582212206f6db4dc042fc4eaca06d4238c9299b8be1e6edab7e96c000b3cf4a368d96aa664736f6c63430008140033";
143
+
144
+ type PrivateERC20WalletMockConstructorParams =
145
+ | [signer?: Signer]
146
+ | ConstructorParameters<typeof ContractFactory>;
147
+
148
+ const isSuperArgs = (
149
+ xs: PrivateERC20WalletMockConstructorParams
150
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
151
+
152
+ export class PrivateERC20WalletMock__factory extends ContractFactory {
153
+ constructor(...args: PrivateERC20WalletMockConstructorParams) {
154
+ if (isSuperArgs(args)) {
155
+ super(...args);
156
+ } else {
157
+ super(_abi, _bytecode, args[0]);
158
+ }
159
+ }
160
+
161
+ override getDeployTransaction(
162
+ overrides?: NonPayableOverrides & { from?: string }
163
+ ): Promise<ContractDeployTransaction> {
164
+ return super.getDeployTransaction(overrides || {});
165
+ }
166
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
167
+ return super.deploy(overrides || {}) as Promise<
168
+ PrivateERC20WalletMock & {
169
+ deploymentTransaction(): ContractTransactionResponse;
170
+ }
171
+ >;
172
+ }
173
+ override connect(
174
+ runner: ContractRunner | null
175
+ ): PrivateERC20WalletMock__factory {
176
+ return super.connect(runner) as PrivateERC20WalletMock__factory;
177
+ }
178
+
179
+ static readonly bytecode = _bytecode;
180
+ static readonly abi = _abi;
181
+ static createInterface(): PrivateERC20WalletMockInterface {
182
+ return new Interface(_abi) as PrivateERC20WalletMockInterface;
183
+ }
184
+ static connect(
185
+ address: string,
186
+ runner?: ContractRunner | null
187
+ ): PrivateERC20WalletMock {
188
+ return new Contract(
189
+ address,
190
+ _abi,
191
+ runner
192
+ ) as unknown as PrivateERC20WalletMock;
193
+ }
194
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { PrivateERC20WalletMock__factory } from "./PrivateERC20WalletMock__factory";
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export * as privateErc20Wallet from "./PrivateERC20Wallet";
@@ -0,0 +1,104 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../common";
12
+ import type {
13
+ AccountOnboard,
14
+ AccountOnboardInterface,
15
+ } from "../../../contracts/onboard/AccountOnboard";
16
+
17
+ const _abi = [
18
+ {
19
+ anonymous: false,
20
+ inputs: [
21
+ {
22
+ indexed: true,
23
+ internalType: "address",
24
+ name: "_from",
25
+ type: "address",
26
+ },
27
+ {
28
+ indexed: false,
29
+ internalType: "bytes",
30
+ name: "userKey",
31
+ type: "bytes",
32
+ },
33
+ ],
34
+ name: "AccountOnboarded",
35
+ type: "event",
36
+ },
37
+ {
38
+ inputs: [
39
+ {
40
+ internalType: "bytes",
41
+ name: "publicKey",
42
+ type: "bytes",
43
+ },
44
+ {
45
+ internalType: "bytes",
46
+ name: "signedEK",
47
+ type: "bytes",
48
+ },
49
+ ],
50
+ name: "onboardAccount",
51
+ outputs: [],
52
+ stateMutability: "nonpayable",
53
+ type: "function",
54
+ },
55
+ ] as const;
56
+
57
+ const _bytecode =
58
+ "0x608060405234801561001057600080fd5b506106e0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063afaea1bd14610030575b600080fd5b61004a60048036038101906100459190610329565b61004c565b005b600061005a858585856100b1565b90503373ffffffffffffffffffffffffffffffffffffffff167fb67504ecfeef0230a06f661ea388c2947b4125a35e918ebff5889e3553c29c04826040516100a2919061043a565b60405180910390a25050505050565b6060600085859050848490506100c79190610495565b67ffffffffffffffff8111156100e0576100df6104c9565b5b6040519080825280601f01601f1916602001820160405280156101125781602001600182028036833780820191505090505b50905060005b8484905081101561019557848482818110610136576101356104f8565b5b9050013560f81c60f81b828281518110610153576101526104f8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061018d90610527565b915050610118565b5060005b86869050811015610224578686828181106101b7576101b66104f8565b5b9050013560f81c60f81b8282878790506101d19190610495565b815181106101e2576101e16104f8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061021c90610527565b915050610199565b50606473ffffffffffffffffffffffffffffffffffffffff1663a85f0ca2826040518263ffffffff1660e01b815260040161025f919061043a565b600060405180830381865afa15801561027c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102a59190610661565b915050949350505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102e9576102e86102c4565b5b8235905067ffffffffffffffff811115610306576103056102c9565b5b602083019150836001820283011115610322576103216102ce565b5b9250929050565b60008060008060408587031215610343576103426102ba565b5b600085013567ffffffffffffffff811115610361576103606102bf565b5b61036d878288016102d3565b9450945050602085013567ffffffffffffffff8111156103905761038f6102bf565b5b61039c878288016102d3565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b838110156103e45780820151818401526020810190506103c9565b60008484015250505050565b6000601f19601f8301169050919050565b600061040c826103aa565b61041681856103b5565b93506104268185602086016103c6565b61042f816103f0565b840191505092915050565b600060208201905081810360008301526104548184610401565b905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006104a08261045c565b91506104ab8361045c565b92508282019050808211156104c3576104c2610466565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006105328261045c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056457610563610466565b5b600182019050919050565b600080fd5b61057d826103f0565b810181811067ffffffffffffffff8211171561059c5761059b6104c9565b5b80604052505050565b60006105af6102b0565b90506105bb8282610574565b919050565b600067ffffffffffffffff8211156105db576105da6104c9565b5b6105e4826103f0565b9050602081019050919050565b60006106046105ff846105c0565b6105a5565b9050828152602081018484840111156106205761061f61056f565b5b61062b8482856103c6565b509392505050565b600082601f830112610648576106476102c4565b5b81516106588482602086016105f1565b91505092915050565b600060208284031215610677576106766102ba565b5b600082015167ffffffffffffffff811115610695576106946102bf565b5b6106a184828501610633565b9150509291505056fea26469706673582212206115018057d6bc465801c86cb2b275e2e4d8f98d3885f29b598391fc2f76be4864736f6c63430008140033";
59
+
60
+ type AccountOnboardConstructorParams =
61
+ | [signer?: Signer]
62
+ | ConstructorParameters<typeof ContractFactory>;
63
+
64
+ const isSuperArgs = (
65
+ xs: AccountOnboardConstructorParams
66
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
67
+
68
+ export class AccountOnboard__factory extends ContractFactory {
69
+ constructor(...args: AccountOnboardConstructorParams) {
70
+ if (isSuperArgs(args)) {
71
+ super(...args);
72
+ } else {
73
+ super(_abi, _bytecode, args[0]);
74
+ }
75
+ }
76
+
77
+ override getDeployTransaction(
78
+ overrides?: NonPayableOverrides & { from?: string }
79
+ ): Promise<ContractDeployTransaction> {
80
+ return super.getDeployTransaction(overrides || {});
81
+ }
82
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
83
+ return super.deploy(overrides || {}) as Promise<
84
+ AccountOnboard & {
85
+ deploymentTransaction(): ContractTransactionResponse;
86
+ }
87
+ >;
88
+ }
89
+ override connect(runner: ContractRunner | null): AccountOnboard__factory {
90
+ return super.connect(runner) as AccountOnboard__factory;
91
+ }
92
+
93
+ static readonly bytecode = _bytecode;
94
+ static readonly abi = _abi;
95
+ static createInterface(): AccountOnboardInterface {
96
+ return new Interface(_abi) as AccountOnboardInterface;
97
+ }
98
+ static connect(
99
+ address: string,
100
+ runner?: ContractRunner | null
101
+ ): AccountOnboard {
102
+ return new Contract(address, _abi, runner) as unknown as AccountOnboard;
103
+ }
104
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { AccountOnboard__factory } from "./AccountOnboard__factory";