@inco/js 0.1.30 → 0.1.31-alpha.1

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 (178) hide show
  1. package/dist/binary.js +67 -0
  2. package/dist/binary.js.map +1 -0
  3. package/dist/chain.js +24 -0
  4. package/dist/chain.js.map +1 -0
  5. package/dist/encryption/encryption.js +98 -0
  6. package/dist/encryption/encryption.js.map +1 -0
  7. package/dist/encryption/index.js +2 -0
  8. package/dist/encryption/index.js.map +1 -0
  9. package/dist/fhevm/fhe-environment.js +8 -0
  10. package/dist/fhevm/fhe-environment.js.map +1 -0
  11. package/dist/fhevm/fhevm.js +139 -0
  12. package/dist/fhevm/fhevm.js.map +1 -0
  13. package/dist/fhevm/index.js +2 -0
  14. package/dist/fhevm/index.js.map +1 -0
  15. package/dist/fhevm/reencrypt.js +123 -0
  16. package/dist/fhevm/reencrypt.js.map +1 -0
  17. package/dist/fhevm/tfhe.js +324 -0
  18. package/dist/fhevm/tfhe.js.map +1 -0
  19. package/dist/fhevm/types.js +26 -0
  20. package/dist/fhevm/types.js.map +1 -0
  21. package/dist/generated/abis/addTwo.js +59 -0
  22. package/dist/generated/abis/addTwo.js.map +1 -0
  23. package/dist/generated/abis/inco-fhevm.js +6242 -0
  24. package/dist/generated/abis/inco-fhevm.js.map +1 -0
  25. package/dist/generated/abis/index.js +3 -0
  26. package/dist/generated/abis/index.js.map +1 -0
  27. package/dist/generated/abis/lightning.js +12489 -0
  28. package/dist/generated/abis/lightning.js.map +1 -0
  29. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  30. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js.map +1 -0
  31. package/dist/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  32. package/dist/generated/es/cosmos/msg/v1/msg_pb.js.map +1 -0
  33. package/dist/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  34. package/dist/generated/es/cosmos_proto/cosmos_pb.js.map +1 -0
  35. package/dist/generated/es/google/api/annotations_pb.js +27 -0
  36. package/dist/generated/es/google/api/annotations_pb.js.map +1 -0
  37. package/dist/generated/es/google/api/http_pb.js +34 -0
  38. package/dist/generated/es/google/api/http_pb.js.map +1 -0
  39. package/dist/generated/es/inco/fhe/v1/events_pb.js +21 -0
  40. package/dist/generated/es/inco/fhe/v1/events_pb.js.map +1 -0
  41. package/dist/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  42. package/dist/generated/es/inco/fhe/v1/genesis_pb.js.map +1 -0
  43. package/dist/generated/es/inco/fhe/v1/query_pb.js +108 -0
  44. package/dist/generated/es/inco/fhe/v1/query_pb.js.map +1 -0
  45. package/dist/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  46. package/dist/generated/es/inco/fhe/v1/tx_pb.js.map +1 -0
  47. package/dist/generated/es/inco/fhe/v1/types_pb.js +133 -0
  48. package/dist/generated/es/inco/fhe/v1/types_pb.js.map +1 -0
  49. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +43 -0
  50. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js.map +1 -0
  51. package/dist/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  52. package/dist/generated/es/inco/kms/lite/v1/types_pb.js.map +1 -0
  53. package/dist/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  54. package/dist/generated/es/inco/preflight/v1/genesis_pb.js.map +1 -0
  55. package/dist/generated/es/inco/preflight/v1/query_pb.js +38 -0
  56. package/dist/generated/es/inco/preflight/v1/query_pb.js.map +1 -0
  57. package/dist/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  58. package/dist/generated/es/inco/preflight/v1/tx_pb.js.map +1 -0
  59. package/dist/generated/es/inco/preflight/v1/types_pb.js +34 -0
  60. package/dist/generated/es/inco/preflight/v1/types_pb.js.map +1 -0
  61. package/dist/generated/es/kms/base_pb.js +238 -0
  62. package/dist/generated/es/kms/base_pb.js.map +1 -0
  63. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  64. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js.map +1 -0
  65. package/dist/generated/fhe-environments.js +15 -0
  66. package/dist/generated/fhe-environments.js.map +1 -0
  67. package/dist/generated/lightning.js +399 -0
  68. package/dist/generated/lightning.js.map +1 -0
  69. package/dist/generated/local-node.js +8 -0
  70. package/dist/generated/local-node.js.map +1 -0
  71. package/dist/generated/ts/amino/amino.js +8 -0
  72. package/dist/generated/ts/amino/amino.js.map +1 -0
  73. package/dist/generated/ts/cometbft/abci/v1/types.js +5063 -0
  74. package/dist/generated/ts/cometbft/abci/v1/types.js.map +1 -0
  75. package/dist/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  76. package/dist/generated/ts/cometbft/crypto/v1/keys.js.map +1 -0
  77. package/dist/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  78. package/dist/generated/ts/cometbft/crypto/v1/proof.js.map +1 -0
  79. package/dist/generated/ts/cometbft/types/v1/params.js +713 -0
  80. package/dist/generated/ts/cometbft/types/v1/params.js.map +1 -0
  81. package/dist/generated/ts/cometbft/types/v1/validator.js +353 -0
  82. package/dist/generated/ts/cometbft/types/v1/validator.js.map +1 -0
  83. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  84. package/dist/generated/ts/cosmos/app/v1alpha1/module.js.map +1 -0
  85. package/dist/generated/ts/cosmos/msg/v1/msg.js +8 -0
  86. package/dist/generated/ts/cosmos/msg/v1/msg.js.map +1 -0
  87. package/dist/generated/ts/cosmos_proto/cosmos.js +211 -0
  88. package/dist/generated/ts/cosmos_proto/cosmos.js.map +1 -0
  89. package/dist/generated/ts/gogoproto/gogo.js +8 -0
  90. package/dist/generated/ts/gogoproto/gogo.js.map +1 -0
  91. package/dist/generated/ts/google/api/annotations.js +8 -0
  92. package/dist/generated/ts/google/api/annotations.js.map +1 -0
  93. package/dist/generated/ts/google/api/http.js +353 -0
  94. package/dist/generated/ts/google/api/http.js.map +1 -0
  95. package/dist/generated/ts/google/protobuf/descriptor.js +5070 -0
  96. package/dist/generated/ts/google/protobuf/descriptor.js.map +1 -0
  97. package/dist/generated/ts/google/protobuf/duration.js +90 -0
  98. package/dist/generated/ts/google/protobuf/duration.js.map +1 -0
  99. package/dist/generated/ts/google/protobuf/timestamp.js +90 -0
  100. package/dist/generated/ts/google/protobuf/timestamp.js.map +1 -0
  101. package/dist/generated/ts/google/protobuf/wrappers.js +506 -0
  102. package/dist/generated/ts/google/protobuf/wrappers.js.map +1 -0
  103. package/dist/generated/ts/inco/abci/v1/types.js +70 -0
  104. package/dist/generated/ts/inco/abci/v1/types.js.map +1 -0
  105. package/dist/generated/ts/inco/fhe/module/v1/module.js +63 -0
  106. package/dist/generated/ts/inco/fhe/module/v1/module.js.map +1 -0
  107. package/dist/generated/ts/inco/fhe/v1/events.js +187 -0
  108. package/dist/generated/ts/inco/fhe/v1/events.js.map +1 -0
  109. package/dist/generated/ts/inco/fhe/v1/genesis.js +711 -0
  110. package/dist/generated/ts/inco/fhe/v1/genesis.js.map +1 -0
  111. package/dist/generated/ts/inco/fhe/v1/query.js +1391 -0
  112. package/dist/generated/ts/inco/fhe/v1/query.js.map +1 -0
  113. package/dist/generated/ts/inco/fhe/v1/tx.js +1233 -0
  114. package/dist/generated/ts/inco/fhe/v1/tx.js.map +1 -0
  115. package/dist/generated/ts/inco/fhe/v1/types.js +985 -0
  116. package/dist/generated/ts/inco/fhe/v1/types.js.map +1 -0
  117. package/dist/generated/ts/inco/originchain/module/v1/module.js +63 -0
  118. package/dist/generated/ts/inco/originchain/module/v1/module.js.map +1 -0
  119. package/dist/generated/ts/inco/originchain/v1/abci.js +328 -0
  120. package/dist/generated/ts/inco/originchain/v1/abci.js.map +1 -0
  121. package/dist/generated/ts/inco/originchain/v1/events.js +213 -0
  122. package/dist/generated/ts/inco/originchain/v1/events.js.map +1 -0
  123. package/dist/generated/ts/inco/originchain/v1/genesis.js +66 -0
  124. package/dist/generated/ts/inco/originchain/v1/genesis.js.map +1 -0
  125. package/dist/generated/ts/inco/originchain/v1/query.js +277 -0
  126. package/dist/generated/ts/inco/originchain/v1/query.js.map +1 -0
  127. package/dist/generated/ts/inco/originchain/v1/tx.js +137 -0
  128. package/dist/generated/ts/inco/originchain/v1/tx.js.map +1 -0
  129. package/dist/generated/ts/inco/originchain/v1/types.js +200 -0
  130. package/dist/generated/ts/inco/originchain/v1/types.js.map +1 -0
  131. package/dist/generated/ts/inco/preflight/module/v1/module.js +63 -0
  132. package/dist/generated/ts/inco/preflight/module/v1/module.js.map +1 -0
  133. package/dist/generated/ts/inco/preflight/v1/genesis.js +182 -0
  134. package/dist/generated/ts/inco/preflight/v1/genesis.js.map +1 -0
  135. package/dist/generated/ts/inco/preflight/v1/query.js +256 -0
  136. package/dist/generated/ts/inco/preflight/v1/query.js.map +1 -0
  137. package/dist/generated/ts/inco/preflight/v1/tx.js +445 -0
  138. package/dist/generated/ts/inco/preflight/v1/tx.js.map +1 -0
  139. package/dist/generated/ts/inco/preflight/v1/types.js +395 -0
  140. package/dist/generated/ts/inco/preflight/v1/types.js.map +1 -0
  141. package/dist/handle.js +94 -0
  142. package/dist/handle.js.map +1 -0
  143. package/dist/index.js +6 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/l1/client.js +93 -0
  146. package/dist/l1/client.js.map +1 -0
  147. package/dist/l1/index.js +3 -0
  148. package/dist/l1/index.js.map +1 -0
  149. package/dist/l1/preflight.js +39 -0
  150. package/dist/l1/preflight.js.map +1 -0
  151. package/dist/lite/deployments.js +17 -0
  152. package/dist/lite/deployments.js.map +1 -0
  153. package/dist/lite/ecies.js +124 -0
  154. package/dist/lite/ecies.js.map +1 -0
  155. package/dist/lite/hadu.js +36 -0
  156. package/dist/lite/hadu.js.map +1 -0
  157. package/dist/lite/index.js +7 -0
  158. package/dist/lite/index.js.map +1 -0
  159. package/dist/lite/lightning.d.ts +2 -1
  160. package/dist/lite/lightning.js +179 -0
  161. package/dist/lite/lightning.js.map +1 -0
  162. package/dist/lite/reencrypt.js +129 -0
  163. package/dist/lite/reencrypt.js.map +1 -0
  164. package/dist/local/index.js +2 -0
  165. package/dist/local/index.js.map +1 -0
  166. package/dist/local/local-node.js +24 -0
  167. package/dist/local/local-node.js.map +1 -0
  168. package/dist/reencryption/eip712.js +81 -0
  169. package/dist/reencryption/eip712.js.map +1 -0
  170. package/dist/reencryption/index.js +3 -0
  171. package/dist/reencryption/index.js.map +1 -0
  172. package/dist/reencryption/types.js +2 -0
  173. package/dist/reencryption/types.js.map +1 -0
  174. package/dist/schema.js +15 -0
  175. package/dist/schema.js.map +1 -0
  176. package/dist/viem.js +8 -0
  177. package/dist/viem.js.map +1 -0
  178. package/package.json +11 -47
@@ -0,0 +1,395 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.7.0
4
+ // protoc unknown
5
+ // source: inco/preflight/v1/types.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ export const protobufPackage = "inco.preflight.v1";
9
+ function createBaseInputRegistration() {
10
+ return { inputtedAt: 0, ciphertextRegistration: undefined, fallbackRegistration: undefined };
11
+ }
12
+ export const InputRegistration = {
13
+ encode(message, writer = new BinaryWriter()) {
14
+ if (message.inputtedAt !== 0) {
15
+ writer.uint32(8).uint64(message.inputtedAt);
16
+ }
17
+ if (message.ciphertextRegistration !== undefined) {
18
+ CiphertextRegistration.encode(message.ciphertextRegistration, writer.uint32(18).fork()).join();
19
+ }
20
+ if (message.fallbackRegistration !== undefined) {
21
+ FallbackRegistration.encode(message.fallbackRegistration, writer.uint32(26).fork()).join();
22
+ }
23
+ return writer;
24
+ },
25
+ decode(input, length) {
26
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
27
+ let end = length === undefined ? reader.len : reader.pos + length;
28
+ const message = createBaseInputRegistration();
29
+ while (reader.pos < end) {
30
+ const tag = reader.uint32();
31
+ switch (tag >>> 3) {
32
+ case 1: {
33
+ if (tag !== 8) {
34
+ break;
35
+ }
36
+ message.inputtedAt = longToNumber(reader.uint64());
37
+ continue;
38
+ }
39
+ case 2: {
40
+ if (tag !== 18) {
41
+ break;
42
+ }
43
+ message.ciphertextRegistration = CiphertextRegistration.decode(reader, reader.uint32());
44
+ continue;
45
+ }
46
+ case 3: {
47
+ if (tag !== 26) {
48
+ break;
49
+ }
50
+ message.fallbackRegistration = FallbackRegistration.decode(reader, reader.uint32());
51
+ continue;
52
+ }
53
+ }
54
+ if ((tag & 7) === 4 || tag === 0) {
55
+ break;
56
+ }
57
+ reader.skip(tag & 7);
58
+ }
59
+ return message;
60
+ },
61
+ fromJSON(object) {
62
+ return {
63
+ inputtedAt: isSet(object.inputtedAt) ? globalThis.Number(object.inputtedAt) : 0,
64
+ ciphertextRegistration: isSet(object.ciphertextRegistration)
65
+ ? CiphertextRegistration.fromJSON(object.ciphertextRegistration)
66
+ : undefined,
67
+ fallbackRegistration: isSet(object.fallbackRegistration)
68
+ ? FallbackRegistration.fromJSON(object.fallbackRegistration)
69
+ : undefined,
70
+ };
71
+ },
72
+ toJSON(message) {
73
+ const obj = {};
74
+ if (message.inputtedAt !== 0) {
75
+ obj.inputtedAt = Math.round(message.inputtedAt);
76
+ }
77
+ if (message.ciphertextRegistration !== undefined) {
78
+ obj.ciphertextRegistration = CiphertextRegistration.toJSON(message.ciphertextRegistration);
79
+ }
80
+ if (message.fallbackRegistration !== undefined) {
81
+ obj.fallbackRegistration = FallbackRegistration.toJSON(message.fallbackRegistration);
82
+ }
83
+ return obj;
84
+ },
85
+ create(base) {
86
+ return InputRegistration.fromPartial(base ?? {});
87
+ },
88
+ fromPartial(object) {
89
+ const message = createBaseInputRegistration();
90
+ message.inputtedAt = object.inputtedAt ?? 0;
91
+ message.ciphertextRegistration =
92
+ (object.ciphertextRegistration !== undefined && object.ciphertextRegistration !== null)
93
+ ? CiphertextRegistration.fromPartial(object.ciphertextRegistration)
94
+ : undefined;
95
+ message.fallbackRegistration = (object.fallbackRegistration !== undefined && object.fallbackRegistration !== null)
96
+ ? FallbackRegistration.fromPartial(object.fallbackRegistration)
97
+ : undefined;
98
+ return message;
99
+ },
100
+ };
101
+ function createBaseCiphertextRegistration() {
102
+ return { ciphertext: new Uint8Array(0), context: undefined };
103
+ }
104
+ export const CiphertextRegistration = {
105
+ encode(message, writer = new BinaryWriter()) {
106
+ if (message.ciphertext.length !== 0) {
107
+ writer.uint32(10).bytes(message.ciphertext);
108
+ }
109
+ if (message.context !== undefined) {
110
+ InputContext.encode(message.context, writer.uint32(18).fork()).join();
111
+ }
112
+ return writer;
113
+ },
114
+ decode(input, length) {
115
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
116
+ let end = length === undefined ? reader.len : reader.pos + length;
117
+ const message = createBaseCiphertextRegistration();
118
+ while (reader.pos < end) {
119
+ const tag = reader.uint32();
120
+ switch (tag >>> 3) {
121
+ case 1: {
122
+ if (tag !== 10) {
123
+ break;
124
+ }
125
+ message.ciphertext = reader.bytes();
126
+ continue;
127
+ }
128
+ case 2: {
129
+ if (tag !== 18) {
130
+ break;
131
+ }
132
+ message.context = InputContext.decode(reader, reader.uint32());
133
+ continue;
134
+ }
135
+ }
136
+ if ((tag & 7) === 4 || tag === 0) {
137
+ break;
138
+ }
139
+ reader.skip(tag & 7);
140
+ }
141
+ return message;
142
+ },
143
+ fromJSON(object) {
144
+ return {
145
+ ciphertext: isSet(object.ciphertext) ? bytesFromBase64(object.ciphertext) : new Uint8Array(0),
146
+ context: isSet(object.context) ? InputContext.fromJSON(object.context) : undefined,
147
+ };
148
+ },
149
+ toJSON(message) {
150
+ const obj = {};
151
+ if (message.ciphertext.length !== 0) {
152
+ obj.ciphertext = base64FromBytes(message.ciphertext);
153
+ }
154
+ if (message.context !== undefined) {
155
+ obj.context = InputContext.toJSON(message.context);
156
+ }
157
+ return obj;
158
+ },
159
+ create(base) {
160
+ return CiphertextRegistration.fromPartial(base ?? {});
161
+ },
162
+ fromPartial(object) {
163
+ const message = createBaseCiphertextRegistration();
164
+ message.ciphertext = object.ciphertext ?? new Uint8Array(0);
165
+ message.context = (object.context !== undefined && object.context !== null)
166
+ ? InputContext.fromPartial(object.context)
167
+ : undefined;
168
+ return message;
169
+ },
170
+ };
171
+ function createBaseInputContext() {
172
+ return { hostChainId: "", keysetId: "", contractAddr: "", ownerAddr: "" };
173
+ }
174
+ export const InputContext = {
175
+ encode(message, writer = new BinaryWriter()) {
176
+ if (message.hostChainId !== "") {
177
+ writer.uint32(10).string(message.hostChainId);
178
+ }
179
+ if (message.keysetId !== "") {
180
+ writer.uint32(18).string(message.keysetId);
181
+ }
182
+ if (message.contractAddr !== "") {
183
+ writer.uint32(26).string(message.contractAddr);
184
+ }
185
+ if (message.ownerAddr !== "") {
186
+ writer.uint32(34).string(message.ownerAddr);
187
+ }
188
+ return writer;
189
+ },
190
+ decode(input, length) {
191
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
192
+ let end = length === undefined ? reader.len : reader.pos + length;
193
+ const message = createBaseInputContext();
194
+ while (reader.pos < end) {
195
+ const tag = reader.uint32();
196
+ switch (tag >>> 3) {
197
+ case 1: {
198
+ if (tag !== 10) {
199
+ break;
200
+ }
201
+ message.hostChainId = reader.string();
202
+ continue;
203
+ }
204
+ case 2: {
205
+ if (tag !== 18) {
206
+ break;
207
+ }
208
+ message.keysetId = reader.string();
209
+ continue;
210
+ }
211
+ case 3: {
212
+ if (tag !== 26) {
213
+ break;
214
+ }
215
+ message.contractAddr = reader.string();
216
+ continue;
217
+ }
218
+ case 4: {
219
+ if (tag !== 34) {
220
+ break;
221
+ }
222
+ message.ownerAddr = reader.string();
223
+ continue;
224
+ }
225
+ }
226
+ if ((tag & 7) === 4 || tag === 0) {
227
+ break;
228
+ }
229
+ reader.skip(tag & 7);
230
+ }
231
+ return message;
232
+ },
233
+ fromJSON(object) {
234
+ return {
235
+ hostChainId: isSet(object.hostChainId) ? globalThis.String(object.hostChainId) : "",
236
+ keysetId: isSet(object.keysetId) ? globalThis.String(object.keysetId) : "",
237
+ contractAddr: isSet(object.contractAddr) ? globalThis.String(object.contractAddr) : "",
238
+ ownerAddr: isSet(object.ownerAddr) ? globalThis.String(object.ownerAddr) : "",
239
+ };
240
+ },
241
+ toJSON(message) {
242
+ const obj = {};
243
+ if (message.hostChainId !== "") {
244
+ obj.hostChainId = message.hostChainId;
245
+ }
246
+ if (message.keysetId !== "") {
247
+ obj.keysetId = message.keysetId;
248
+ }
249
+ if (message.contractAddr !== "") {
250
+ obj.contractAddr = message.contractAddr;
251
+ }
252
+ if (message.ownerAddr !== "") {
253
+ obj.ownerAddr = message.ownerAddr;
254
+ }
255
+ return obj;
256
+ },
257
+ create(base) {
258
+ return InputContext.fromPartial(base ?? {});
259
+ },
260
+ fromPartial(object) {
261
+ const message = createBaseInputContext();
262
+ message.hostChainId = object.hostChainId ?? "";
263
+ message.keysetId = object.keysetId ?? "";
264
+ message.contractAddr = object.contractAddr ?? "";
265
+ message.ownerAddr = object.ownerAddr ?? "";
266
+ return message;
267
+ },
268
+ };
269
+ function createBaseFallbackRegistration() {
270
+ return {};
271
+ }
272
+ export const FallbackRegistration = {
273
+ encode(_, writer = new BinaryWriter()) {
274
+ return writer;
275
+ },
276
+ decode(input, length) {
277
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
278
+ let end = length === undefined ? reader.len : reader.pos + length;
279
+ const message = createBaseFallbackRegistration();
280
+ while (reader.pos < end) {
281
+ const tag = reader.uint32();
282
+ switch (tag >>> 3) {
283
+ }
284
+ if ((tag & 7) === 4 || tag === 0) {
285
+ break;
286
+ }
287
+ reader.skip(tag & 7);
288
+ }
289
+ return message;
290
+ },
291
+ fromJSON(_) {
292
+ return {};
293
+ },
294
+ toJSON(_) {
295
+ const obj = {};
296
+ return obj;
297
+ },
298
+ create(base) {
299
+ return FallbackRegistration.fromPartial(base ?? {});
300
+ },
301
+ fromPartial(_) {
302
+ const message = createBaseFallbackRegistration();
303
+ return message;
304
+ },
305
+ };
306
+ function createBaseParams() {
307
+ return { blocksToKeepInputs: 0 };
308
+ }
309
+ export const Params = {
310
+ encode(message, writer = new BinaryWriter()) {
311
+ if (message.blocksToKeepInputs !== 0) {
312
+ writer.uint32(8).uint64(message.blocksToKeepInputs);
313
+ }
314
+ return writer;
315
+ },
316
+ decode(input, length) {
317
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
318
+ let end = length === undefined ? reader.len : reader.pos + length;
319
+ const message = createBaseParams();
320
+ while (reader.pos < end) {
321
+ const tag = reader.uint32();
322
+ switch (tag >>> 3) {
323
+ case 1: {
324
+ if (tag !== 8) {
325
+ break;
326
+ }
327
+ message.blocksToKeepInputs = longToNumber(reader.uint64());
328
+ continue;
329
+ }
330
+ }
331
+ if ((tag & 7) === 4 || tag === 0) {
332
+ break;
333
+ }
334
+ reader.skip(tag & 7);
335
+ }
336
+ return message;
337
+ },
338
+ fromJSON(object) {
339
+ return { blocksToKeepInputs: isSet(object.blocksToKeepInputs) ? globalThis.Number(object.blocksToKeepInputs) : 0 };
340
+ },
341
+ toJSON(message) {
342
+ const obj = {};
343
+ if (message.blocksToKeepInputs !== 0) {
344
+ obj.blocksToKeepInputs = Math.round(message.blocksToKeepInputs);
345
+ }
346
+ return obj;
347
+ },
348
+ create(base) {
349
+ return Params.fromPartial(base ?? {});
350
+ },
351
+ fromPartial(object) {
352
+ const message = createBaseParams();
353
+ message.blocksToKeepInputs = object.blocksToKeepInputs ?? 0;
354
+ return message;
355
+ },
356
+ };
357
+ function bytesFromBase64(b64) {
358
+ if (globalThis.Buffer) {
359
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
360
+ }
361
+ else {
362
+ const bin = globalThis.atob(b64);
363
+ const arr = new Uint8Array(bin.length);
364
+ for (let i = 0; i < bin.length; ++i) {
365
+ arr[i] = bin.charCodeAt(i);
366
+ }
367
+ return arr;
368
+ }
369
+ }
370
+ function base64FromBytes(arr) {
371
+ if (globalThis.Buffer) {
372
+ return globalThis.Buffer.from(arr).toString("base64");
373
+ }
374
+ else {
375
+ const bin = [];
376
+ arr.forEach((byte) => {
377
+ bin.push(globalThis.String.fromCharCode(byte));
378
+ });
379
+ return globalThis.btoa(bin.join(""));
380
+ }
381
+ }
382
+ function longToNumber(int64) {
383
+ const num = globalThis.Number(int64.toString());
384
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
385
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
386
+ }
387
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
388
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
389
+ }
390
+ return num;
391
+ }
392
+ function isSet(value) {
393
+ return value !== null && value !== undefined;
394
+ }
395
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/generated/ts/inco/preflight/v1/types.ts"],"names":[],"mappings":"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"}
package/dist/handle.js ADDED
@@ -0,0 +1,94 @@
1
+ // See solidity https://github.com/zama-ai/fhevm/blob/429d127709b56c5b8ec564a2f2cc329aa7f6722f/lib/TFHEExecutor.sol#L15
2
+ import { Schema } from 'effect';
3
+ import { Keccak } from 'sha3';
4
+ import { encodePacked, hexToBytes, toHex } from 'viem';
5
+ import { HexString } from './binary';
6
+ export const HANDLE_VERSION = 0;
7
+ // This enum maps to FheType as defined in tfhe-rs in value, but the keys provide an additional interpretation over
8
+ // the underlying integral FheType. For example, ebool interprets an uint16 as a boolean, ebytes64 interprets an uint512
9
+ // as a 64-byte array, etc.
10
+ export const handleTypes = Object.freeze({
11
+ ebool: 0,
12
+ euint4: 1,
13
+ euint8: 2,
14
+ euint16: 3,
15
+ euint32: 4,
16
+ euint64: 5,
17
+ euint128: 6,
18
+ euint160: 7,
19
+ euint256: 8,
20
+ ebytes64: 9,
21
+ ebytes128: 10,
22
+ ebytes256: 11,
23
+ });
24
+ const handleNames = Object.keys(handleTypes);
25
+ export const HandleTypeName = Schema.Literal(...handleNames);
26
+ export function isFheType(value) {
27
+ return Object.values(handleTypes).includes(value);
28
+ }
29
+ export const InputContext = Schema.Struct({
30
+ hostChainId: Schema.BigInt,
31
+ aclAddress: HexString,
32
+ userAddress: HexString,
33
+ contractAddress: HexString,
34
+ });
35
+ // Returns the FheType of the handle. See:
36
+ // https://github.com/Inco-fhevm/inco-monorepo/blob/636756f512ae16535bdcb9a43df76bf14fbd6ba7/pkg/fhe/handle.md
37
+ export function getHandleType(handle) {
38
+ const handleBytes = hexToBytes(handle);
39
+ const handleType = handleBytes[30];
40
+ if (!isFheType(handleType)) {
41
+ throw new Error(`Invalid handle type ${handleType} for handle ${handle}`);
42
+ }
43
+ return handleType;
44
+ }
45
+ // A note from Solidity at https://github.com/Inco-fhevm/fhevm/blob/7952950243b144b1bbdfc30318412a2dc6b575fd/lib/TFHEExecutor.sol#L87-L89:
46
+ /// @dev handle format for user inputs is: keccak256(keccak256(CiphertextFHEList)||index_handle)[0:29] || index_handle || handle_type || handle_version
47
+ /// @dev other handles format (fhe ops results) is: keccak256(keccak256(rawCiphertextFHEList)||index_handle)[0:30] || handle_type || handle_versioreenctestn
48
+ /// @dev the CiphertextFHEList actually contains: 1 byte (= N) for size of handles_list, N bytes for the handles_types : 1 per handle, then the original fhe160list raw ciphertext
49
+ export function computePrehandle({ ciphertext, indexHandle, handleType, handleVersion, }) {
50
+ assertUint8(indexHandle);
51
+ assertUint8(handleType);
52
+ assertUint8(handleVersion);
53
+ const ciphertextHash = new Keccak(256).update(Buffer.from(ciphertext)).digest();
54
+ const ciphertextIndexHash = new Keccak(256)
55
+ .update(Buffer.from(ciphertextHash))
56
+ .update(Buffer.from([indexHandle]))
57
+ .digest();
58
+ const handle = Buffer.alloc(32);
59
+ ciphertextIndexHash.copy(handle, 0, 0, 29);
60
+ handle.writeUInt8(indexHandle, 29);
61
+ handle.writeUInt8(handleType, 30);
62
+ handle.writeUInt8(handleVersion, 31);
63
+ return handle;
64
+ }
65
+ // abi.encodePacked(prehandle, "evm/", chainID, _keysetID, context.userAddress, context.contractAddress)
66
+ // abi.encodePacked(prehandle, chainID, _keysetID, context.userAddress, context.contractAddress)
67
+ export function computeHandle({ prehandle, context }) {
68
+ if (prehandle.length !== 32) {
69
+ throw new Error(`prehandle should be 32 bytes but is: ${prehandle.length}`);
70
+ }
71
+ const packed = encodePacked(['bytes32', 'string', 'uint256', 'address', 'address', 'address'], [
72
+ toHex(prehandle),
73
+ // Note: The x/hostchain spec requires the chain ID to be prefixed with 'evm/' for EVM chains
74
+ 'evm/',
75
+ context.hostChainId,
76
+ context.aclAddress,
77
+ context.userAddress,
78
+ context.contractAddress,
79
+ ]);
80
+ return Buffer.concat([
81
+ new Keccak(256)
82
+ .update(Buffer.from(hexToBytes(packed)))
83
+ .digest()
84
+ .subarray(0, 29),
85
+ // Preserve the final three bytes of handle metadata
86
+ prehandle.slice(29, 32),
87
+ ]);
88
+ }
89
+ function assertUint8(value) {
90
+ if (!Number.isInteger(value) || value < 0 || value > 255) {
91
+ throw new Error(`Invalid uint8 value: ${value}`);
92
+ }
93
+ }
94
+ //# sourceMappingURL=handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle.js","sourceRoot":"","sources":["../src/handle.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './binary';
2
+ export * from './chain';
3
+ export * from './handle';
4
+ export * from './schema';
5
+ export * from './viem';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { createClient } from '@connectrpc/connect';
2
+ import { createGrpcTransport } from '@connectrpc/connect-node';
3
+ import { DirectSecp256k1HdWallet, Registry } from '@cosmjs/proto-signing';
4
+ import { defaultRegistryTypes as defaultStargateTypes, SigningStargateClient, } from '@cosmjs/stargate';
5
+ import * as fhe from '../generated/es/inco/fhe/v1/query_pb';
6
+ import * as preflight from '../generated/es/inco/preflight/v1/query_pb';
7
+ import { MsgAddCovalidator, MsgAddFheEnv } from '../generated/ts/inco/fhe/v1/tx';
8
+ import { MsgRegisterInput } from '../generated/ts/inco/preflight/v1/tx';
9
+ // We could have extracted these strings from types inside
10
+ // ../generated/es/fhe/v1/tx_pb, but it seems more readable to hardcode
11
+ // them here.
12
+ const msgRegisterInputTypeUrl = '/inco.preflight.v1.MsgRegisterInput';
13
+ const msgAddCovalidatorTypeUrl = '/inco.fhe.v1.MsgAddCovalidator';
14
+ const msgAddFheEnvTypeUrl = '/inco.fhe.v1.MsgAddFheEnv';
15
+ // The CosmJS L1 client needs a local registry to register custom types that
16
+ // are not part of the default Cosmos types (`defaultStargateTypes`). We
17
+ // hardcode them here.
18
+ //
19
+ // If we want to support more messages for strong TS typings, we need to add
20
+ // them here.
21
+ const supportedMsgs = {
22
+ [msgRegisterInputTypeUrl]: MsgRegisterInput,
23
+ [msgAddCovalidatorTypeUrl]: MsgAddCovalidator,
24
+ [msgAddFheEnvTypeUrl]: MsgAddFheEnv,
25
+ };
26
+ // The list of supported queries on the Inco L1.
27
+ //
28
+ // If we want to support more queries (e.g. Cosmos bank, staking queries), we
29
+ // need to add them here.
30
+ const supportedQueries = {
31
+ fhe,
32
+ preflight,
33
+ };
34
+ export async function createL1Wallet(mnemonic) {
35
+ return await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix: 'inco' });
36
+ }
37
+ // Creates a Cosmos L1 client using CosmJS.
38
+ export async function createL1Client({ cometRpcEndpoint, grpcEndpoint, wallet, waitTimeForTxInclusion = 10_000, }) {
39
+ // Manual registry creation is required to register custom Msg types.
40
+ const registry = new Registry(defaultStargateTypes);
41
+ Object.entries(supportedMsgs).forEach(([typeUrl, message]) => {
42
+ // @ts-ignore TODO: Fix this typing issue. This was introcued in:
43
+ // https://github.com/Inco-fhevm/inco-monorepo/pull/251
44
+ registry.register(typeUrl, message);
45
+ });
46
+ // Create one shared gRPC transport for all queries.
47
+ const transport = createGrpcTransport({ baseUrl: grpcEndpoint });
48
+ const query = Object.fromEntries(Object.entries(supportedQueries).map(([k, v]) => [k, createClient(v.Query, transport)]));
49
+ const signingClient = await SigningStargateClient.connectWithSigner(cometRpcEndpoint, wallet, {
50
+ registry,
51
+ });
52
+ // We currently assume that the Inco chain has 0 fees and hardcode the default gas limit.
53
+ const defaultFee = {
54
+ amount: [{ denom: 'uinco', amount: '0' }],
55
+ gas: '1000000',
56
+ };
57
+ return {
58
+ get q() {
59
+ return query;
60
+ },
61
+ async sendTx(signerAddress, msgType, msg, fee = defaultFee) {
62
+ const msgAny = {
63
+ typeUrl: msgType,
64
+ value: msg,
65
+ };
66
+ const result = await signingClient.signAndBroadcast(signerAddress, [msgAny], fee);
67
+ if (result.code) {
68
+ throw new Error(`Error broadcasting tx: ${result.rawLog}`);
69
+ }
70
+ // Poll until the transaction is included in a block, with a maximum wait time given by config.
71
+ const startTime = Date.now();
72
+ await new Promise((resolve, reject) => {
73
+ const interval = setInterval(async () => {
74
+ const tx = await signingClient.getTx(result.transactionHash);
75
+ if (tx?.code) {
76
+ clearInterval(interval);
77
+ reject(new Error(`Transaction failed: ${JSON.stringify(tx)}`));
78
+ }
79
+ else if (tx?.height) {
80
+ clearInterval(interval);
81
+ resolve();
82
+ }
83
+ else if (Date.now() - startTime > waitTimeForTxInclusion) {
84
+ clearInterval(interval);
85
+ reject(new Error('Transaction polling timed out'));
86
+ }
87
+ }, 1000);
88
+ });
89
+ return result;
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/l1/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './client';
2
+ export * from './preflight';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/l1/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}