@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,245 @@
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
+ OffboardToUserKeyTestContract,
14
+ OffboardToUserKeyTestContractInterface,
15
+ } from "../../../../../../contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract";
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
+ name: "getCTs",
40
+ outputs: [
41
+ {
42
+ internalType: "uint256",
43
+ name: "",
44
+ type: "uint256",
45
+ },
46
+ {
47
+ internalType: "uint256",
48
+ name: "",
49
+ type: "uint256",
50
+ },
51
+ {
52
+ internalType: "uint256",
53
+ name: "",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ stateMutability: "view",
63
+ type: "function",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "getCt",
68
+ outputs: [
69
+ {
70
+ internalType: "ctUint8",
71
+ name: "",
72
+ type: "uint256",
73
+ },
74
+ ],
75
+ stateMutability: "view",
76
+ type: "function",
77
+ },
78
+ {
79
+ inputs: [],
80
+ name: "getUserKey",
81
+ outputs: [
82
+ {
83
+ internalType: "bytes",
84
+ name: "",
85
+ type: "bytes",
86
+ },
87
+ ],
88
+ stateMutability: "view",
89
+ type: "function",
90
+ },
91
+ {
92
+ inputs: [
93
+ {
94
+ internalType: "bytes",
95
+ name: "signedEK",
96
+ type: "bytes",
97
+ },
98
+ {
99
+ internalType: "bytes",
100
+ name: "signature",
101
+ type: "bytes",
102
+ },
103
+ {
104
+ internalType: "address",
105
+ name: "addr",
106
+ type: "address",
107
+ },
108
+ ],
109
+ name: "getUserKeyTest",
110
+ outputs: [
111
+ {
112
+ internalType: "uint8",
113
+ name: "",
114
+ type: "uint8",
115
+ },
116
+ ],
117
+ stateMutability: "nonpayable",
118
+ type: "function",
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: "getX",
123
+ outputs: [
124
+ {
125
+ internalType: "uint8",
126
+ name: "",
127
+ type: "uint8",
128
+ },
129
+ ],
130
+ stateMutability: "view",
131
+ type: "function",
132
+ },
133
+ {
134
+ inputs: [
135
+ {
136
+ internalType: "uint8",
137
+ name: "a",
138
+ type: "uint8",
139
+ },
140
+ {
141
+ internalType: "address",
142
+ name: "addr",
143
+ type: "address",
144
+ },
145
+ ],
146
+ name: "offboardToUserTest",
147
+ outputs: [
148
+ {
149
+ internalType: "uint256",
150
+ name: "",
151
+ type: "uint256",
152
+ },
153
+ {
154
+ internalType: "uint256",
155
+ name: "",
156
+ type: "uint256",
157
+ },
158
+ {
159
+ internalType: "uint256",
160
+ name: "",
161
+ type: "uint256",
162
+ },
163
+ {
164
+ internalType: "uint256",
165
+ name: "",
166
+ type: "uint256",
167
+ },
168
+ ],
169
+ stateMutability: "nonpayable",
170
+ type: "function",
171
+ },
172
+ {
173
+ inputs: [
174
+ {
175
+ internalType: "bytes",
176
+ name: "signedEK",
177
+ type: "bytes",
178
+ },
179
+ {
180
+ internalType: "bytes",
181
+ name: "signature",
182
+ type: "bytes",
183
+ },
184
+ ],
185
+ name: "userKeyTest",
186
+ outputs: [],
187
+ stateMutability: "nonpayable",
188
+ type: "function",
189
+ },
190
+ ] as const;
191
+
192
+ const _bytecode =
193
+ "0x608060405234801561001057600080fd5b50611997806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635197c7aa1161005b5780635197c7aa146100dd5780635cbfeea2146100fb578063fbe5fe1c14610119578063fbffef77146101495761007d565b80630844066e1461008257806320ee9bfb146100a05780633e99ee8c146100bc575b600080fd5b61008a61017c565b6040516100979190610ebb565b60405180910390f35b6100ba60048036038101906100b59190610f4f565b610186565b005b6100c46101eb565b6040516100d49493929190610fdf565b60405180910390f35b6100e561020b565b6040516100f29190611040565b60405180910390f35b610103610222565b60405161011091906110eb565b60405180910390f35b610133600480360381019061012e919061116b565b6102b4565b6040516101409190611040565b60405180910390f35b610163600480360381019061015e919061122c565b610359565b6040516101739493929190610fdf565b60405180910390f35b6000600254905090565b600061019485858585610415565b90503373ffffffffffffffffffffffffffffffffffffffff167fb67504ecfeef0230a06f661ea388c2947b4125a35e918ebff5889e3553c29c04826040516101dc91906110eb565b60405180910390a25050505050565b600080600080600354600454600554600654935093509350935090919293565b6000600160009054906101000a900460ff16905090565b6060600080546102319061129b565b80601f016020809104026020016040519081016040528092919081815260200182805461025d9061129b565b80156102aa5780601f1061027f576101008083540402835291602001916102aa565b820191906000526020600020905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b6000806102c16005610614565b905060006102d08260056106b5565b90506102de88888888610415565b600090816102ec919061147b565b506102f7818561074f565b60028190555060006103088261080f565b90506000610315826108ad565b90506103208161094b565b600160006101000a81548160ff021916908360ff160217905550600160009054906101000a900460ff1694505050505095945050505050565b600080600080600061036a87610614565b9050600061037a8860ff166109e9565b9050600061038a8960ff16610a8b565b9050600061039a8a60ff16610b2f565b905060006103a8858b61074f565b905060006103b6858c610bd6565b905060006103c4858d610c96565b905060006103d2858e610d56565b9050836003819055508260048190555081600581905550806006819055506003546004546005546006549b509b509b509b50505050505050505092959194509250565b60606000858590508484905061042b919061157c565b67ffffffffffffffff811115610444576104436112cc565b5b6040519080825280601f01601f1916602001820160405280156104765781602001600182028036833780820191505090505b50905060005b848490508110156104f95784848281811061049a576104996115b0565b5b9050013560f81c60f81b8282815181106104b7576104b66115b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806104f1906115df565b91505061047c565b5060005b868690508110156105885786868281811061051b5761051a6115b0565b5b9050013560f81c60f81b828287879050610535919061157c565b81518110610546576105456115b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610580906115df565b9150506104fd565b50606473ffffffffffffffffffffffffffffffffffffffff1663a85f0ca2826040518263ffffffff1660e01b81526004016105c391906110eb565b600060405180830381865afa1580156105e0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906106099190611719565b915050949350505050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606001600481111561064757610646611762565b5b60f81b8460ff166040518363ffffffff1660e01b815260040161066b9291906117cc565b6020604051808303816000875af115801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16638c5d01506106e16001806002610e15565b858560ff166040518463ffffffff1660e01b815260040161070493929190611889565b6020604051808303816000875af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e686001600481111561078257610781611762565b5b60f81b85856040516020016107979190611908565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016107c493929190611923565b6020604051808303816000875af11580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663c50c9c026001600481111561084257610841611762565b5b60f81b846040518363ffffffff1660e01b81526004016108639291906117cc565b6020604051808303816000875af1158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d2c135e5600160048111156108e0576108df611762565b5b60f81b846040518363ffffffff1660e01b81526004016109019291906117cc565b6020604051808303816000875af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed5616001600481111561097e5761097d611762565b5b60f81b846040518363ffffffff1660e01b815260040161099f9291906117cc565b6020604051808303816000875af11580156109be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e29190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060026004811115610a1c57610a1b611762565b5b60f81b8461ffff166040518363ffffffff1660e01b8152600401610a419291906117cc565b6020604051808303816000875af1158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060036004811115610abe57610abd611762565b5b60f81b8463ffffffff166040518363ffffffff1660e01b8152600401610ae59291906117cc565b6020604051808303816000875af1158015610b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b289190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115610b6157610b60611762565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b8152600401610b8c9291906117cc565b6020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860026004811115610c0957610c08611762565b5b60f81b8585604051602001610c1e9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610c4b93929190611923565b6020604051808303816000875af1158015610c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8e9190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860036004811115610cc957610cc8611762565b5b60f81b8585604051602001610cde9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610d0b93929190611923565b6020604051808303816000875af1158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e9190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e68600480811115610d8857610d87611762565b5b60f81b8585604051602001610d9d9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610dca93929190611923565b6020604051808303816000875af1158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190611821565b905092915050565b6000816002811115610e2a57610e29611762565b5b60ff166008846004811115610e4257610e41611762565b5b61ffff16901b61ffff166010866004811115610e6157610e60611762565b5b62ffffff16901b171760e81b90509392505050565b6000819050919050565b6000819050919050565b6000610ea5610ea0610e9b84610e76565b610e80565b610e76565b9050919050565b610eb581610e8a565b82525050565b6000602082019050610ed06000830184610eac565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610f0f57610f0e610eea565b5b8235905067ffffffffffffffff811115610f2c57610f2b610eef565b5b602083019150836001820283011115610f4857610f47610ef4565b5b9250929050565b60008060008060408587031215610f6957610f68610ee0565b5b600085013567ffffffffffffffff811115610f8757610f86610ee5565b5b610f9387828801610ef9565b9450945050602085013567ffffffffffffffff811115610fb657610fb5610ee5565b5b610fc287828801610ef9565b925092505092959194509250565b610fd981610e76565b82525050565b6000608082019050610ff46000830187610fd0565b6110016020830186610fd0565b61100e6040830185610fd0565b61101b6060830184610fd0565b95945050505050565b600060ff82169050919050565b61103a81611024565b82525050565b60006020820190506110556000830184611031565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561109557808201518184015260208101905061107a565b60008484015250505050565b6000601f19601f8301169050919050565b60006110bd8261105b565b6110c78185611066565b93506110d7818560208601611077565b6110e0816110a1565b840191505092915050565b6000602082019050818103600083015261110581846110b2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111388261110d565b9050919050565b6111488161112d565b811461115357600080fd5b50565b6000813590506111658161113f565b92915050565b60008060008060006060868803121561118757611186610ee0565b5b600086013567ffffffffffffffff8111156111a5576111a4610ee5565b5b6111b188828901610ef9565b9550955050602086013567ffffffffffffffff8111156111d4576111d3610ee5565b5b6111e088828901610ef9565b935093505060406111f388828901611156565b9150509295509295909350565b61120981611024565b811461121457600080fd5b50565b60008135905061122681611200565b92915050565b6000806040838503121561124357611242610ee0565b5b600061125185828601611217565b925050602061126285828601611156565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112b357607f821691505b6020821081036112c6576112c561126c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611320565b6113678683611320565b95508019841693508086168417925050509392505050565b6000819050919050565b61139283610e8a565b6113a661139e8261137f565b84845461132d565b825550505050565b600090565b6113bb6113ae565b6113c6818484611389565b505050565b5b818110156113ea576113df6000826113b3565b6001810190506113cc565b5050565b601f82111561142f57611400816112fb565b61140984611310565b81016020851015611418578190505b61142c61142485611310565b8301826113cb565b50505b505050565b600082821c905092915050565b600061145260001984600802611434565b1980831691505092915050565b600061146b8383611441565b9150826002028217905092915050565b6114848261105b565b67ffffffffffffffff81111561149d5761149c6112cc565b5b6114a7825461129b565b6114b28282856113ee565b600060209050601f8311600181146114e557600084156114d3578287015190505b6114dd858261145f565b865550611545565b601f1984166114f3866112fb565b60005b8281101561151b578489015182556001820191506020850194506020810190506114f6565b868310156115385784890151611534601f891682611441565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158782610e76565b915061159283610e76565b92508282019050808211156115aa576115a961154d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006115ea82610e76565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361161c5761161b61154d565b5b600182019050919050565b600080fd5b611635826110a1565b810181811067ffffffffffffffff82111715611654576116536112cc565b5b80604052505050565b6000611667610ed6565b9050611673828261162c565b919050565b600067ffffffffffffffff821115611693576116926112cc565b5b61169c826110a1565b9050602081019050919050565b60006116bc6116b784611678565b61165d565b9050828152602081018484840111156116d8576116d7611627565b5b6116e3848285611077565b509392505050565b600082601f830112611700576116ff610eea565b5b81516117108482602086016116a9565b91505092915050565b60006020828403121561172f5761172e610ee0565b5b600082015167ffffffffffffffff81111561174d5761174c610ee5565b5b611759848285016116eb565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6117c681611791565b82525050565b60006040820190506117e160008301856117bd565b6117ee6020830184610fd0565b9392505050565b6117fe81610e76565b811461180957600080fd5b50565b60008151905061181b816117f5565b92915050565b60006020828403121561183757611836610ee0565b5b60006118458482850161180c565b91505092915050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b6118838161184e565b82525050565b600060608201905061189e600083018661187a565b6118ab6020830185610fd0565b6118b86040830184610fd0565b949350505050565b60008160601b9050919050565b60006118d8826118c0565b9050919050565b60006118ea826118cd565b9050919050565b6119026118fd8261112d565b6118df565b82525050565b600061191482846118f1565b60148201915081905092915050565b600060608201905061193860008301866117bd565b6119456020830185610fd0565b818103604083015261195781846110b2565b905094935050505056fea2646970667358221220def8896e279e289dd54f3e7964f10eb9283782f363550fce5a8690380762019864736f6c63430008140033";
194
+
195
+ type OffboardToUserKeyTestContractConstructorParams =
196
+ | [signer?: Signer]
197
+ | ConstructorParameters<typeof ContractFactory>;
198
+
199
+ const isSuperArgs = (
200
+ xs: OffboardToUserKeyTestContractConstructorParams
201
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
202
+
203
+ export class OffboardToUserKeyTestContract__factory extends ContractFactory {
204
+ constructor(...args: OffboardToUserKeyTestContractConstructorParams) {
205
+ if (isSuperArgs(args)) {
206
+ super(...args);
207
+ } else {
208
+ super(_abi, _bytecode, args[0]);
209
+ }
210
+ }
211
+
212
+ override getDeployTransaction(
213
+ overrides?: NonPayableOverrides & { from?: string }
214
+ ): Promise<ContractDeployTransaction> {
215
+ return super.getDeployTransaction(overrides || {});
216
+ }
217
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
218
+ return super.deploy(overrides || {}) as Promise<
219
+ OffboardToUserKeyTestContract & {
220
+ deploymentTransaction(): ContractTransactionResponse;
221
+ }
222
+ >;
223
+ }
224
+ override connect(
225
+ runner: ContractRunner | null
226
+ ): OffboardToUserKeyTestContract__factory {
227
+ return super.connect(runner) as OffboardToUserKeyTestContract__factory;
228
+ }
229
+
230
+ static readonly bytecode = _bytecode;
231
+ static readonly abi = _abi;
232
+ static createInterface(): OffboardToUserKeyTestContractInterface {
233
+ return new Interface(_abi) as OffboardToUserKeyTestContractInterface;
234
+ }
235
+ static connect(
236
+ address: string,
237
+ runner?: ContractRunner | null
238
+ ): OffboardToUserKeyTestContract {
239
+ return new Contract(
240
+ address,
241
+ _abi,
242
+ runner
243
+ ) as unknown as OffboardToUserKeyTestContract;
244
+ }
245
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { OffboardToUserKeyTestContract__factory } from "./OffboardToUserKeyTestContract__factory";