@inco/js 0.8.0-devnet-12 → 0.8.0-devnet-20

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 (77) hide show
  1. package/README.md +18 -76
  2. package/dist/cjs/advancedacl/session-key.d.ts +1 -1
  3. package/dist/cjs/advancedacl/session-key.js +3 -2
  4. package/dist/cjs/binary.d.ts +2 -4
  5. package/dist/cjs/binary.js +11 -6
  6. package/dist/cjs/encryption/index.d.ts +1 -1
  7. package/dist/cjs/encryption/index.js +17 -16
  8. package/dist/cjs/generated/abis/lightning.d.ts +70 -17
  9. package/dist/cjs/generated/abis/lightning.js +44 -19
  10. package/dist/cjs/generated/abis/test-elist.d.ts +10 -2
  11. package/dist/cjs/generated/abis/test-elist.js +8 -3
  12. package/dist/cjs/generated/abis/verifier.d.ts +8 -4
  13. package/dist/cjs/generated/abis/verifier.js +4 -4
  14. package/dist/cjs/generated/lightning.d.ts +60 -0
  15. package/dist/cjs/generated/lightning.js +64 -1
  16. package/dist/cjs/generated/local-node.d.ts +4 -4
  17. package/dist/cjs/generated/local-node.js +4 -4
  18. package/dist/cjs/index.d.ts +1 -1
  19. package/dist/cjs/index.js +11 -2
  20. package/dist/cjs/kms/quorumClient.d.ts +1 -10
  21. package/dist/cjs/kms/quorumClient.js +21 -237
  22. package/dist/cjs/kms/quorumConsistency.d.ts +58 -0
  23. package/dist/cjs/kms/quorumConsistency.js +200 -0
  24. package/dist/cjs/kms/thresholdPromises.d.ts +4 -3
  25. package/dist/cjs/kms/thresholdPromises.js +25 -15
  26. package/dist/cjs/lite/hadu.d.ts +1 -1
  27. package/dist/cjs/lite/hadu.js +3 -3
  28. package/dist/cjs/lite/index.d.ts +0 -2
  29. package/dist/cjs/lite/index.js +1 -15
  30. package/dist/cjs/lite/lightning.d.ts +1 -1
  31. package/dist/cjs/lite/lightning.js +10 -33
  32. package/dist/esm/advancedacl/session-key.d.ts +1 -1
  33. package/dist/esm/advancedacl/session-key.js +3 -2
  34. package/dist/esm/binary.d.ts +2 -4
  35. package/dist/esm/binary.js +11 -6
  36. package/dist/esm/encryption/index.d.ts +1 -1
  37. package/dist/esm/encryption/index.js +2 -2
  38. package/dist/esm/generated/abis/lightning.d.ts +70 -17
  39. package/dist/esm/generated/abis/lightning.js +44 -19
  40. package/dist/esm/generated/abis/test-elist.d.ts +10 -2
  41. package/dist/esm/generated/abis/test-elist.js +8 -3
  42. package/dist/esm/generated/abis/verifier.d.ts +8 -4
  43. package/dist/esm/generated/abis/verifier.js +4 -4
  44. package/dist/esm/generated/lightning.d.ts +60 -0
  45. package/dist/esm/generated/lightning.js +64 -1
  46. package/dist/esm/generated/local-node.d.ts +4 -4
  47. package/dist/esm/generated/local-node.js +4 -4
  48. package/dist/esm/index.d.ts +1 -1
  49. package/dist/esm/index.js +2 -2
  50. package/dist/esm/kms/quorumClient.d.ts +1 -10
  51. package/dist/esm/kms/quorumClient.js +21 -237
  52. package/dist/esm/kms/quorumConsistency.d.ts +58 -0
  53. package/dist/esm/kms/quorumConsistency.js +193 -0
  54. package/dist/esm/kms/thresholdPromises.d.ts +4 -3
  55. package/dist/esm/kms/thresholdPromises.js +25 -15
  56. package/dist/esm/lite/hadu.d.ts +1 -1
  57. package/dist/esm/lite/hadu.js +2 -2
  58. package/dist/esm/lite/index.d.ts +0 -2
  59. package/dist/esm/lite/index.js +1 -3
  60. package/dist/esm/lite/lightning.d.ts +1 -1
  61. package/dist/esm/lite/lightning.js +4 -27
  62. package/dist/types/advancedacl/session-key.d.ts +1 -1
  63. package/dist/types/binary.d.ts +2 -4
  64. package/dist/types/encryption/index.d.ts +1 -1
  65. package/dist/types/generated/abis/lightning.d.ts +70 -17
  66. package/dist/types/generated/abis/test-elist.d.ts +10 -2
  67. package/dist/types/generated/abis/verifier.d.ts +8 -4
  68. package/dist/types/generated/lightning.d.ts +60 -0
  69. package/dist/types/generated/local-node.d.ts +4 -4
  70. package/dist/types/index.d.ts +1 -1
  71. package/dist/types/kms/quorumClient.d.ts +1 -10
  72. package/dist/types/kms/quorumConsistency.d.ts +58 -0
  73. package/dist/types/kms/thresholdPromises.d.ts +4 -3
  74. package/dist/types/lite/hadu.d.ts +1 -1
  75. package/dist/types/lite/index.d.ts +0 -2
  76. package/dist/types/lite/lightning.d.ts +1 -1
  77. package/package.json +12 -12
package/README.md CHANGED
@@ -62,14 +62,14 @@ console.log(attestation.plaintext.value);
62
62
 
63
63
  ## Package Exports
64
64
 
65
- | Import Path | Description |
66
- | ----------------------- | ---------------------------------------------------------------------------------------------- |
67
- | `@inco/js` | Core utilities: binary helpers, chain definitions, handle types, viem integration |
68
- | `@inco/js/lite` | Main SDK: `Lightning` class, encryption, attested decrypt/compute, X-Wing crypto, session keys |
69
- | `@inco/js/encryption` | Encryption types, plaintext/ciphertext conversions, scheme constants |
70
- | `@inco/js/reencryption` | Reencryption types, EIP-712 payload creation |
71
- | `@inco/js/abis` | Generated smart contract ABIs (Lightning, Verifier) |
72
- | `@inco/js/local` | Local node environment parsing for development |
65
+ | Import Path | Description |
66
+ | ----------------------- | --------------------------------------------------------------------------------- |
67
+ | `@inco/js` | Core utilities: binary helpers, chain definitions, handle types, viem integration |
68
+ | `@inco/js/lite` | Main SDK: `Lightning` class, encryption, attested decrypt/compute, session keys |
69
+ | `@inco/js/encryption` | Encryption types, plaintext/ciphertext conversions, scheme constants |
70
+ | `@inco/js/reencryption` | Reencryption types, EIP-712 payload creation |
71
+ | `@inco/js/abis` | Generated smart contract ABIs (Lightning, Verifier) |
72
+ | `@inco/js/local` | Local node environment parsing for development |
73
73
 
74
74
  ---
75
75
 
@@ -380,21 +380,6 @@ parseHex("0xabcd"); // validated HexString
380
380
  asBytes32("0x00...00"); // validated Bytes32 (32 bytes)
381
381
  ```
382
382
 
383
- #### Handle Computation
384
-
385
- ````ts
386
- import { computePrehandle, computeHandle, hashInputContext, HANDLE_VERSION } from '@inco/js';
387
-
388
- const prehandle = computePrehandle({
389
- ciphertext: new Uint8Array([...]),
390
- indexHandle: 0,
391
- handleType: handleTypes.euint256,
392
- handleVersion: HANDLE_VERSION,
393
- });
394
-
395
- const handle = computeHandle({ prehandle, context: inputContext });
396
- const contextHash = hashInputContext(inputContext);
397
-
398
383
  ---
399
384
 
400
385
  ### Encryption Module (`@inco/js/encryption`)
@@ -404,25 +389,21 @@ Types and conversion utilities for plaintexts and ciphertexts.
404
389
  ```ts
405
390
  import {
406
391
  // Constants
407
- encryptionSchemes, // { xwing: 2 }
408
- supportedFheTypes, // { euint64: 5, euint160: 7, euint256: 8, ebool: 0 }
392
+ encryptionSchemes, // { xwing: 2 }
393
+ supportedFheTypes, // { euint64: 5, euint160: 7, euint256: 8, ebool: 0 }
409
394
 
410
395
  // Conversions
411
- bigintToPlaintext, // (scheme, type, bigint) => Plaintext
412
- plaintextToBigint, // (plaintext) => bigint
413
- plaintextToBytes32, // (plaintext) => Bytes32
414
- plaintextToBytes, // (plaintext) => Buffer
415
- bytes32ToPlaintext, // (bytes32, scheme, type) => Plaintext
416
- bytesToPlaintext, // (bytes, scheme, type) => Plaintext
417
-
418
- // Ciphertext input encoding (for on-chain format)
419
- encodeCiphertextInput, // (version, handle, ciphertext) => Hex
420
- decodeCiphertextInput, // (input) => { version, handle, ciphertext }
396
+ bigintToPlaintext, // (scheme, type, bigint) => Plaintext
397
+ plaintextToBigint, // (plaintext) => bigint
398
+ plaintextToBytes32, // (plaintext) => Bytes32
399
+ plaintextToBytes, // (plaintext) => Buffer
400
+ bytes32ToPlaintext, // (bytes32, scheme, type) => Plaintext
401
+ bytesToPlaintext, // (bytes, scheme, type) => Plaintext
421
402
 
422
403
  // Helpers
423
404
  getEncryptionSchemeName, // (scheme) => 'X-Wing'
424
- } from '@inco/js/encryption';
425
- ````
405
+ } from "@inco/js/encryption";
406
+ ```
426
407
 
427
408
  **Key types:**
428
409
 
@@ -430,47 +411,8 @@ import {
430
411
  | ------------------ | -------------------------------------------------------------------------------------- |
431
412
  | `Plaintext` | `{ scheme, type, value }` — value is `bigint` for integer types, `boolean` for `ebool` |
432
413
  | `Ciphertext` | `{ scheme, type, value }` — value is a hex string |
433
- | `EncryptResult` | `{ ciphertext, context, prehandle, handle }` |
434
414
  | `EncryptionScheme` | Currently only `2` (X-Wing) |
435
415
  | `SupportedFheType` | `0`, `5`, `7`, `8` (ebool, euint64, euint160, euint256) |
436
- | `Encryptor<S>` | `(plaintext) => Promise<EncryptResult>` |
437
- | `Decryptor<S>` | `(ciphertext) => Promise<Plaintext>` |
438
-
439
- ---
440
-
441
- ### X-Wing Cryptography (`@inco/js/lite`)
442
-
443
- Post-quantum hybrid encryption using X-Wing KEM (ML-KEM-768 + X25519).
444
-
445
- ```ts
446
- import {
447
- generateXwingKeypair,
448
- deriveXwingKeypairFromSeed,
449
- decodeXwingPublicKey,
450
- decodeXwingPrivateKey,
451
- encodeXwingPublicKey,
452
- getXwingEncryptor,
453
- getXwingDecryptor,
454
- encrypt,
455
- decrypt,
456
- XWING_PUBLIC_KEY_SIZE, // 1216 bytes
457
- } from "@inco/js/lite";
458
-
459
- // Generate a random keypair
460
- const keypair = await generateXwingKeypair();
461
- const pubKeyBytes = keypair.encodePublicKey(); // Uint8Array (1216 bytes)
462
-
463
- // Deterministic keypair from a 32-byte seed
464
- const keypair = await deriveXwingKeypairFromSeed(seed);
465
-
466
- // Create encryptor/decryptor functions
467
- const encryptor = getXwingEncryptor({ pubKeyA: keypair.publicKey });
468
- const decryptor = getXwingDecryptor({ privKeyA: keypair });
469
-
470
- // Low-level HPKE encrypt/decrypt
471
- const encrypted = await encrypt(publicKey, message);
472
- const decrypted = await decrypt(keypair, encrypted);
473
- ```
474
416
 
475
417
  ---
476
418
 
@@ -4,7 +4,7 @@ import { DecryptionAttestation, EncryptedDecryptionAttestation } from '../attest
4
4
  import { SupportedChainId } from '../chain.js';
5
5
  import { EncryptionScheme, SupportedFheType } from '../encryption/encryption.js';
6
6
  import { HexString } from '../index.js';
7
- import type { XwingKeypair } from '../lite/index.js';
7
+ import type { XwingKeypair } from '../lite/xwing.js';
8
8
  import { BackoffConfig } from '../retry.js';
9
9
  import type { AllowanceVoucher, AllowanceVoucherWithSig } from './types.js';
10
10
  import { AttestedComputeOP } from '../attestedcompute/types.js';
@@ -128,7 +128,8 @@ async function grantSessionKeyCustomVerifier({ chainId, incoLiteAddress, session
128
128
  }
129
129
  async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWalletClient) {
130
130
  const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
131
- const txHash = await verifier.write.updateActiveVouchersSessionNonce();
131
+ const salt = (0, viem_1.bytesToHex)(crypto.getRandomValues(new Uint8Array(32)));
132
+ const txHash = await verifier.write.updateActiveVouchersSessionNonce([salt]);
132
133
  return txHash;
133
134
  }
134
135
  // The sessionKeyAttestedCompute function is a decryptor that uses a session key
@@ -351,4 +352,4 @@ async function getIncoVerifier(incoLiteAddress, walletClient) {
351
352
  client: walletClient,
352
353
  });
353
354
  }
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFvRkEsd0RBcUJDO0FBdUNELDBDQThFQztBQUVELHNFQXVEQztBQUVELDRFQU9DO0FBMENELDhEQWlIQztBQWtFRCw4REF3R0M7QUFybUJELGlEQUE0QztBQUM1QywrQkFhYztBQVdkLGlFQUt3QztBQUN4QywrREFBZ0U7QUFDaEUsMENBQXlEO0FBT3pELCtDQUswQjtBQUMxQix1REFBK0Q7QUFLL0QsZ0ZBR2dEO0FBQ2hELDBGQUc0RDtBQUM1RCw4RUFLc0Q7QUFrQnRELHNFQUFzRTtBQUN0RSx3RUFBd0U7QUFDeEUsK0JBQStCO0FBQ3hCLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsZUFBd0IsRUFDeEIsa0JBQTJELEVBQzNELGlCQUEwQixFQUMxQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUU1RSwwRUFBMEU7SUFDMUUsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUNyRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBc0NELG1EQUFtRDtBQUM1QyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FBUyxHQUNXO0lBQ3BCLGlEQUFpRDtJQUNqRCxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksSUFBSSxDQUFDLElBQUks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
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFvRkEsd0RBcUJDO0FBdUNELDBDQThFQztBQUVELHNFQXVEQztBQUVELDRFQVFDO0FBMENELDhEQWlIQztBQWtFRCw4REF3R0M7QUF0bUJELGlEQUE0QztBQUM1QywrQkFhYztBQVdkLGlFQUt3QztBQUN4QywrREFBZ0U7QUFDaEUsMENBQXlEO0FBTXpELCtDQUswQjtBQUUxQix1REFBK0Q7QUFLL0QsZ0ZBR2dEO0FBQ2hELDBGQUc0RDtBQUM1RCw4RUFLc0Q7QUFrQnRELHNFQUFzRTtBQUN0RSx3RUFBd0U7QUFDeEUsK0JBQStCO0FBQ3hCLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsZUFBd0IsRUFDeEIsa0JBQTJELEVBQzNELGlCQUEwQixFQUMxQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUU1RSwwRUFBMEU7SUFDMUUsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUNyRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBc0NELG1EQUFtRDtBQUM1QyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FBUyxHQUNXO0lBQ3BCLGlEQUFpRDtJQUNqRCxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksSUFBSSxDQUFDLElBQUks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
@@ -22,16 +22,14 @@ export declare function bufferToBigInt(buffer: Buffer): bigint;
22
22
  * Converts a `bigint` to a 32-byte `Buffer`, zero-padded on the left.
23
23
  * @param value - The bigint to convert.
24
24
  * @returns A 32-byte big-endian buffer.
25
+ * @throws If the bigint is negative or too large to fit in 32 bytes.
25
26
  */
26
27
  export declare function bigintToBytes(value: bigint): Buffer;
27
28
  /**
28
29
  * Converts a `bigint` to a {@link Bytes32} hex string, left-padded to 32 bytes.
29
- *
30
- * **Warning:** It is the caller's responsibility to ensure the value fits in
31
- * 32 bytes. Values that are too large will be silently truncated.
32
- *
33
30
  * @param value - The bigint to convert.
34
31
  * @returns A `Bytes32` hex string.
32
+ * @throws If the bigint is negative or too large to fit in 32 bytes.
35
33
  */
36
34
  export declare function bigintToBytes32(value: bigint): Bytes32;
37
35
  /**
@@ -42,18 +42,23 @@ function bufferToBigInt(buffer) {
42
42
  * Converts a `bigint` to a 32-byte `Buffer`, zero-padded on the left.
43
43
  * @param value - The bigint to convert.
44
44
  * @returns A 32-byte big-endian buffer.
45
+ * @throws If the bigint is negative or too large to fit in 32 bytes.
45
46
  */
46
47
  function bigintToBytes(value) {
47
- return Buffer.from(value.toString(16).padStart(64, '0'), 'hex');
48
+ if (value < 0n) {
49
+ throw new Error(`bigintToBytes: value must be non-negative`);
50
+ }
51
+ const hex = value.toString(16);
52
+ if (hex.length > 64) {
53
+ throw new Error(`bigintToBytes: value too large for 32 bytes`);
54
+ }
55
+ return Buffer.from(hex.padStart(64, '0'), 'hex');
48
56
  }
49
57
  /**
50
58
  * Converts a `bigint` to a {@link Bytes32} hex string, left-padded to 32 bytes.
51
- *
52
- * **Warning:** It is the caller's responsibility to ensure the value fits in
53
- * 32 bytes. Values that are too large will be silently truncated.
54
- *
55
59
  * @param value - The bigint to convert.
56
60
  * @returns A `Bytes32` hex string.
61
+ * @throws If the bigint is negative or too large to fit in 32 bytes.
57
62
  */
58
63
  function bigintToBytes32(value) {
59
64
  return (0, schema_js_1.parse)(exports.Bytes32, bigintToBytes(value).toString('hex'));
@@ -163,4 +168,4 @@ function parseAddress(address) {
163
168
  function parseHex(hex) {
164
169
  return (0, schema_js_1.parse)(exports.HexString, hex);
165
170
  }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsc0NBS0M7QUFPRCx3Q0FFQztBQU9ELHNDQUVDO0FBV0QsMENBRUM7QUFTRCwwQkFPQztBQVFELDBDQUdDO0FBT0QsZ0RBS0M7QUFRRCw4QkFLQztBQVFELHdDQUVDO0FBT0QsZ0NBRUM7QUF3Q0QsOEJBRUM7QUF3QkQsb0NBRUM7QUFRRCw0QkFFQztBQTNNRCxtQ0FBNkM7QUFDN0MsK0JBQWtDO0FBQ2xDLDJDQUFvQztBQUVwQyw2Q0FBNkM7QUFDaEMsUUFBQSxTQUFTLEdBQUcsZUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBUXJFOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsU0FBcUI7SUFDakQsK0dBQStHO0lBQy9HLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTTtRQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7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
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsc0NBS0M7QUFPRCx3Q0FFQztBQVFELHNDQVNDO0FBUUQsMENBRUM7QUFTRCwwQkFPQztBQVFELDBDQUdDO0FBT0QsZ0RBS0M7QUFRRCw4QkFLQztBQVFELHdDQUVDO0FBT0QsZ0NBRUM7QUF3Q0QsOEJBRUM7QUF3QkQsb0NBRUM7QUFRRCw0QkFFQztBQWhORCxtQ0FBNkM7QUFDN0MsK0JBQWtDO0FBQ2xDLDJDQUFvQztBQUVwQyw2Q0FBNkM7QUFDaEMsUUFBQSxTQUFTLEdBQUcsZUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBUXJFOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsU0FBcUI7SUFDakQsK0dBQStHO0lBQy9HLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTTtRQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjLENBQUMsTUFBYztJQUMzQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWE7SUFDekMsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxLQUFhO0lBQzNDLE9BQU8sSUFBQSxpQkFBSyxFQUFDLGVBQU8sRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxFQUFjLEVBQUUsQ0FBUztJQUMvQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixlQUFlLENBQUMsRUFBWTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxTQUFpQjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDM0QsS0FBSyxDQUNOLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixTQUFTLENBQUMsS0FBYTtJQUNyQyxJQUFJLENBQUMsSUFBQSxZQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxLQUFhO0lBQzFDLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEVBQWM7SUFDdkMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBUSxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxlQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbEMsZUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxDQUM5QyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsZUFBTSxDQUFDLGVBQWUsQ0FDdkMsZUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUN0QyxpQkFBUyxFQUNUO0lBQ0UsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsb0JBQVcsQ0FBQyxPQUFPO0lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ1osQ0FBQyxZQUFZLFVBQVU7UUFDckIsQ0FBQyxDQUFDLG9CQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQ2IsSUFBQSxZQUFLLEVBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQyxDQUFDLG9CQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsb0JBQVcsQ0FBQyxJQUFJLENBQ2QsSUFBSSxvQkFBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQzVELENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBVyxDQUFDLENBQUM7Q0FDNUMsQ0FDRixDQUFDO0FBRUYsK0lBQStJO0FBQ2xJLFFBQUEsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ3BDLGVBQU0sQ0FBQyxNQUFNLENBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRTtJQUNmLHNFQUFzRSxDQUFDLENBQUMsTUFBTSxtQkFBbUIsQ0FDcEcsRUFDRCxlQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUN4QixDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxTQUFnQixTQUFTLENBQUMsQ0FBVztJQUNuQyxPQUFPLElBQUEsaUJBQUssRUFBQyxlQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQVFELGlGQUFpRjtBQUNwRSxRQUFBLE9BQU8sR0FBRyxpQkFBUyxDQUFDLElBQUksQ0FDbkMsZUFBTSxDQUFDLE1BQU0sQ0FDWCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFO0lBQ2YsZ0VBQWdFLENBQUMsRUFBRSxDQUN0RSxFQUNELGVBQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQ3hCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FBQyxPQUFlO0lBQzFDLE9BQU8sSUFBQSxpQkFBSyxFQUFDLGVBQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixRQUFRLENBQUMsR0FBVztJQUNsQyxPQUFPLElBQUEsaUJBQUssRUFBQyxpQkFBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLENBQUMifQ==
@@ -1 +1 @@
1
- export * from './encryption.js';
1
+ export { Ciphertext, EncryptionScheme, Plaintext, SupportedFheType, SupportedFheTypeName, bigintToPlaintext, bytes32ToPlaintext, bytesToPlaintext, encryptionSchemes, getEncryptionSchemeName, plaintextToBigint, plaintextToBytes, plaintextToBytes32, supportedFheTypes, type EncryptionSchemes, } from './encryption.js';
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./encryption.js"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5jcnlwdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDIn0=
3
+ exports.supportedFheTypes = exports.plaintextToBytes32 = exports.plaintextToBytes = exports.plaintextToBigint = exports.getEncryptionSchemeName = exports.encryptionSchemes = exports.bytesToPlaintext = exports.bytes32ToPlaintext = exports.bigintToPlaintext = exports.SupportedFheTypeName = exports.SupportedFheType = exports.Plaintext = exports.EncryptionScheme = exports.Ciphertext = void 0;
4
+ var encryption_js_1 = require("./encryption.js");
5
+ Object.defineProperty(exports, "Ciphertext", { enumerable: true, get: function () { return encryption_js_1.Ciphertext; } });
6
+ Object.defineProperty(exports, "EncryptionScheme", { enumerable: true, get: function () { return encryption_js_1.EncryptionScheme; } });
7
+ Object.defineProperty(exports, "Plaintext", { enumerable: true, get: function () { return encryption_js_1.Plaintext; } });
8
+ Object.defineProperty(exports, "SupportedFheType", { enumerable: true, get: function () { return encryption_js_1.SupportedFheType; } });
9
+ Object.defineProperty(exports, "SupportedFheTypeName", { enumerable: true, get: function () { return encryption_js_1.SupportedFheTypeName; } });
10
+ Object.defineProperty(exports, "bigintToPlaintext", { enumerable: true, get: function () { return encryption_js_1.bigintToPlaintext; } });
11
+ Object.defineProperty(exports, "bytes32ToPlaintext", { enumerable: true, get: function () { return encryption_js_1.bytes32ToPlaintext; } });
12
+ Object.defineProperty(exports, "bytesToPlaintext", { enumerable: true, get: function () { return encryption_js_1.bytesToPlaintext; } });
13
+ Object.defineProperty(exports, "encryptionSchemes", { enumerable: true, get: function () { return encryption_js_1.encryptionSchemes; } });
14
+ Object.defineProperty(exports, "getEncryptionSchemeName", { enumerable: true, get: function () { return encryption_js_1.getEncryptionSchemeName; } });
15
+ Object.defineProperty(exports, "plaintextToBigint", { enumerable: true, get: function () { return encryption_js_1.plaintextToBigint; } });
16
+ Object.defineProperty(exports, "plaintextToBytes", { enumerable: true, get: function () { return encryption_js_1.plaintextToBytes; } });
17
+ Object.defineProperty(exports, "plaintextToBytes32", { enumerable: true, get: function () { return encryption_js_1.plaintextToBytes32; } });
18
+ Object.defineProperty(exports, "supportedFheTypes", { enumerable: true, get: function () { return encryption_js_1.supportedFheTypes; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5jcnlwdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFnQnlCO0FBZnZCLDJHQUFBLFVBQVUsT0FBQTtBQUNWLGlIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDBHQUFBLFNBQVMsT0FBQTtBQUNULGlIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHFIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLGtIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLG1IQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGlIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLGtIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHdIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLGtIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGlIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLG1IQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGtIQUFBLGlCQUFpQixPQUFBIn0=
@@ -155,7 +155,11 @@ export declare const advancedAccessControlAbi: readonly [{
155
155
  readonly stateMutability: "nonpayable";
156
156
  }, {
157
157
  readonly type: "function";
158
- readonly inputs: readonly [];
158
+ readonly inputs: readonly [{
159
+ readonly name: "salt";
160
+ readonly internalType: "bytes32";
161
+ readonly type: "bytes32";
162
+ }];
159
163
  readonly name: "updateActiveVouchersSessionNonce";
160
164
  readonly outputs: readonly [];
161
165
  readonly stateMutability: "nonpayable";
@@ -242,6 +246,9 @@ export declare const incoLightningAbi: readonly [{
242
246
  }, {
243
247
  readonly type: "fallback";
244
248
  readonly stateMutability: "nonpayable";
249
+ }, {
250
+ readonly type: "receive";
251
+ readonly stateMutability: "payable";
245
252
  }, {
246
253
  readonly type: "function";
247
254
  readonly inputs: readonly [];
@@ -398,12 +405,6 @@ export declare const incoLightningAbi: readonly [{
398
405
  readonly name: "claimHandle";
399
406
  readonly outputs: readonly [];
400
407
  readonly stateMutability: "nonpayable";
401
- }, {
402
- readonly type: "function";
403
- readonly inputs: readonly [];
404
- readonly name: "cleanTransientStorage";
405
- readonly outputs: readonly [];
406
- readonly stateMutability: "nonpayable";
407
408
  }, {
408
409
  readonly type: "function";
409
410
  readonly inputs: readonly [{
@@ -850,6 +851,34 @@ export declare const incoLightningAbi: readonly [{
850
851
  readonly type: "bytes32";
851
852
  }];
852
853
  readonly stateMutability: "nonpayable";
854
+ }, {
855
+ readonly type: "function";
856
+ readonly inputs: readonly [];
857
+ readonly name: "getBitFee";
858
+ readonly outputs: readonly [{
859
+ readonly name: "";
860
+ readonly internalType: "uint256";
861
+ readonly type: "uint256";
862
+ }];
863
+ readonly stateMutability: "pure";
864
+ }, {
865
+ readonly type: "function";
866
+ readonly inputs: readonly [{
867
+ readonly name: "nOfElements";
868
+ readonly internalType: "uint16";
869
+ readonly type: "uint16";
870
+ }, {
871
+ readonly name: "elType";
872
+ readonly internalType: "enum ETypes";
873
+ readonly type: "uint8";
874
+ }];
875
+ readonly name: "getEListFee";
876
+ readonly outputs: readonly [{
877
+ readonly name: "";
878
+ readonly internalType: "uint256";
879
+ readonly type: "uint256";
880
+ }];
881
+ readonly stateMutability: "pure";
853
882
  }, {
854
883
  readonly type: "function";
855
884
  readonly inputs: readonly [];
@@ -1057,7 +1086,7 @@ export declare const incoLightningAbi: readonly [{
1057
1086
  readonly internalType: "elist";
1058
1087
  readonly type: "bytes32";
1059
1088
  }];
1060
- readonly stateMutability: "nonpayable";
1089
+ readonly stateMutability: "payable";
1061
1090
  }, {
1062
1091
  readonly type: "function";
1063
1092
  readonly inputs: readonly [{
@@ -1075,7 +1104,7 @@ export declare const incoLightningAbi: readonly [{
1075
1104
  readonly internalType: "elist";
1076
1105
  readonly type: "bytes32";
1077
1106
  }];
1078
- readonly stateMutability: "nonpayable";
1107
+ readonly stateMutability: "payable";
1079
1108
  }, {
1080
1109
  readonly type: "function";
1081
1110
  readonly inputs: readonly [{
@@ -1137,7 +1166,7 @@ export declare const incoLightningAbi: readonly [{
1137
1166
  readonly internalType: "elist";
1138
1167
  readonly type: "bytes32";
1139
1168
  }];
1140
- readonly stateMutability: "nonpayable";
1169
+ readonly stateMutability: "payable";
1141
1170
  }, {
1142
1171
  readonly type: "function";
1143
1172
  readonly inputs: readonly [{
@@ -1155,7 +1184,7 @@ export declare const incoLightningAbi: readonly [{
1155
1184
  readonly internalType: "elist";
1156
1185
  readonly type: "bytes32";
1157
1186
  }];
1158
- readonly stateMutability: "nonpayable";
1187
+ readonly stateMutability: "payable";
1159
1188
  }, {
1160
1189
  readonly type: "function";
1161
1190
  readonly inputs: readonly [{
@@ -1169,7 +1198,7 @@ export declare const incoLightningAbi: readonly [{
1169
1198
  readonly internalType: "elist";
1170
1199
  readonly type: "bytes32";
1171
1200
  }];
1172
- readonly stateMutability: "nonpayable";
1201
+ readonly stateMutability: "payable";
1173
1202
  }, {
1174
1203
  readonly type: "function";
1175
1204
  readonly inputs: readonly [{
@@ -1191,7 +1220,7 @@ export declare const incoLightningAbi: readonly [{
1191
1220
  readonly internalType: "elist";
1192
1221
  readonly type: "bytes32";
1193
1222
  }];
1194
- readonly stateMutability: "nonpayable";
1223
+ readonly stateMutability: "payable";
1195
1224
  }, {
1196
1225
  readonly type: "function";
1197
1226
  readonly inputs: readonly [{
@@ -1231,7 +1260,7 @@ export declare const incoLightningAbi: readonly [{
1231
1260
  readonly internalType: "elist";
1232
1261
  readonly type: "bytes32";
1233
1262
  }];
1234
- readonly stateMutability: "nonpayable";
1263
+ readonly stateMutability: "payable";
1235
1264
  }, {
1236
1265
  readonly type: "function";
1237
1266
  readonly inputs: readonly [];
@@ -1269,7 +1298,7 @@ export declare const incoLightningAbi: readonly [{
1269
1298
  readonly internalType: "elist";
1270
1299
  readonly type: "bytes32";
1271
1300
  }];
1272
- readonly stateMutability: "nonpayable";
1301
+ readonly stateMutability: "payable";
1273
1302
  }, {
1274
1303
  readonly type: "function";
1275
1304
  readonly inputs: readonly [{
@@ -2522,7 +2551,7 @@ export declare const incoLightningAbi: readonly [{
2522
2551
  readonly name: "version";
2523
2552
  readonly internalType: "uint16";
2524
2553
  readonly type: "uint16";
2525
- readonly indexed: false;
2554
+ readonly indexed: true;
2526
2555
  }];
2527
2556
  readonly name: "VersionAccepted";
2528
2557
  }, {
@@ -2532,7 +2561,7 @@ export declare const incoLightningAbi: readonly [{
2532
2561
  readonly name: "version";
2533
2562
  readonly internalType: "uint16";
2534
2563
  readonly type: "uint16";
2535
- readonly indexed: false;
2564
+ readonly indexed: true;
2536
2565
  }];
2537
2566
  readonly name: "VersionRemoved";
2538
2567
  }, {
@@ -2555,6 +2584,10 @@ export declare const incoLightningAbi: readonly [{
2555
2584
  readonly type: "error";
2556
2585
  readonly inputs: readonly [];
2557
2586
  readonly name: "ERC1967NonPayable";
2587
+ }, {
2588
+ readonly type: "error";
2589
+ readonly inputs: readonly [];
2590
+ readonly name: "EthInboundTransferUnsupported";
2558
2591
  }, {
2559
2592
  readonly type: "error";
2560
2593
  readonly inputs: readonly [{
@@ -2655,6 +2688,18 @@ export declare const incoLightningAbi: readonly [{
2655
2688
  readonly type: "error";
2656
2689
  readonly inputs: readonly [];
2657
2690
  readonly name: "InvalidShortString";
2691
+ }, {
2692
+ readonly type: "error";
2693
+ readonly inputs: readonly [{
2694
+ readonly name: "provided";
2695
+ readonly internalType: "uint32";
2696
+ readonly type: "uint32";
2697
+ }, {
2698
+ readonly name: "max";
2699
+ readonly internalType: "uint16";
2700
+ readonly type: "uint16";
2701
+ }];
2702
+ readonly name: "ListTooLong";
2658
2703
  }, {
2659
2704
  readonly type: "error";
2660
2705
  readonly inputs: readonly [{
@@ -2759,6 +2804,14 @@ export declare const incoLightningAbi: readonly [{
2759
2804
  readonly type: "uint8";
2760
2805
  }];
2761
2806
  readonly name: "UnsupportedType";
2807
+ }, {
2808
+ readonly type: "error";
2809
+ readonly inputs: readonly [{
2810
+ readonly name: "actual";
2811
+ readonly internalType: "enum ETypes";
2812
+ readonly type: "uint8";
2813
+ }];
2814
+ readonly name: "UnsupportedType";
2762
2815
  }];
2763
2816
  export declare const sessionVerifierAbi: readonly [{
2764
2817
  readonly type: "constructor";