@inco/js 0.8.0-devnet-29 → 0.8.0-devnet-31

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 (116) hide show
  1. package/dist/cjs/advancedacl/session-key.d.ts +4 -4
  2. package/dist/cjs/advancedacl/session-key.js +4 -3
  3. package/dist/cjs/attestedcompute/attested-compute.d.ts +0 -1
  4. package/dist/cjs/attestedcompute/attested-compute.js +7 -8
  5. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +3 -4
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.js +8 -60
  7. package/dist/cjs/chain.d.ts +8 -0
  8. package/dist/cjs/chain.js +19 -2
  9. package/dist/cjs/eip712/eip712.d.ts +18 -0
  10. package/dist/cjs/eip712/eip712.js +51 -0
  11. package/dist/cjs/eip712/index.d.ts +1 -0
  12. package/dist/cjs/eip712/index.js +8 -0
  13. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  14. package/dist/cjs/elistattesteddecrypt/elist-attested-decrypt.js +94 -0
  15. package/dist/cjs/elistattesteddecrypt/index.d.ts +2 -0
  16. package/dist/cjs/elistattesteddecrypt/index.js +22 -0
  17. package/dist/cjs/elistattesteddecrypt/types.d.ts +31 -0
  18. package/dist/cjs/elistattesteddecrypt/types.js +16 -0
  19. package/dist/cjs/generated/abis/lightning.d.ts +0 -39
  20. package/dist/cjs/generated/abis/lightning.js +1 -39
  21. package/dist/cjs/generated/abis/test-elist.d.ts +6 -0
  22. package/dist/cjs/generated/abis/test-elist.js +8 -1
  23. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +0 -34
  24. package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +35 -40
  25. package/dist/cjs/generated/lightning.d.ts +29 -0
  26. package/dist/cjs/generated/lightning.js +30 -1
  27. package/dist/cjs/generated/local-node.d.ts +2 -2
  28. package/dist/cjs/generated/local-node.js +2 -2
  29. package/dist/cjs/handle.d.ts +8 -0
  30. package/dist/cjs/handle.js +20 -2
  31. package/dist/cjs/kms/quorumClient.d.ts +17 -4
  32. package/dist/cjs/kms/quorumClient.js +150 -1
  33. package/dist/cjs/kms/quorumConsistency.d.ts +25 -1
  34. package/dist/cjs/kms/quorumConsistency.js +70 -1
  35. package/dist/cjs/kms/signatureVerification.d.ts +2 -2
  36. package/dist/cjs/kms/signatureVerification.js +1 -1
  37. package/dist/cjs/lite/attested-compute.d.ts +2 -2
  38. package/dist/cjs/lite/attested-compute.js +2 -3
  39. package/dist/cjs/lite/attested-decrypt.d.ts +2 -2
  40. package/dist/cjs/lite/attested-decrypt.js +2 -3
  41. package/dist/cjs/lite/lightning.d.ts +21 -14
  42. package/dist/cjs/lite/lightning.js +64 -11
  43. package/dist/cjs/test/mocks.d.ts +5 -1
  44. package/dist/cjs/test/mocks.js +29 -5
  45. package/dist/cjs/viem.d.ts +350 -1
  46. package/dist/cjs/viem.js +3 -1
  47. package/dist/esm/advancedacl/session-key.d.ts +4 -4
  48. package/dist/esm/advancedacl/session-key.js +6 -5
  49. package/dist/esm/attestedcompute/attested-compute.d.ts +0 -1
  50. package/dist/esm/attestedcompute/attested-compute.js +5 -6
  51. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +3 -4
  52. package/dist/esm/attesteddecrypt/attested-decrypt.js +6 -58
  53. package/dist/esm/chain.d.ts +8 -0
  54. package/dist/esm/chain.js +18 -1
  55. package/dist/esm/eip712/eip712.d.ts +18 -0
  56. package/dist/esm/eip712/eip712.js +46 -0
  57. package/dist/esm/eip712/index.d.ts +1 -0
  58. package/dist/esm/eip712/index.js +2 -0
  59. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  60. package/dist/esm/elistattesteddecrypt/elist-attested-decrypt.js +89 -0
  61. package/dist/esm/elistattesteddecrypt/index.d.ts +2 -0
  62. package/dist/esm/elistattesteddecrypt/index.js +3 -0
  63. package/dist/esm/elistattesteddecrypt/types.d.ts +31 -0
  64. package/dist/esm/elistattesteddecrypt/types.js +12 -0
  65. package/dist/esm/generated/abis/lightning.d.ts +0 -39
  66. package/dist/esm/generated/abis/lightning.js +1 -39
  67. package/dist/esm/generated/abis/test-elist.d.ts +6 -0
  68. package/dist/esm/generated/abis/test-elist.js +8 -1
  69. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +0 -34
  70. package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +34 -39
  71. package/dist/esm/generated/lightning.d.ts +29 -0
  72. package/dist/esm/generated/lightning.js +30 -1
  73. package/dist/esm/generated/local-node.d.ts +2 -2
  74. package/dist/esm/generated/local-node.js +2 -2
  75. package/dist/esm/handle.d.ts +8 -0
  76. package/dist/esm/handle.js +18 -1
  77. package/dist/esm/kms/quorumClient.d.ts +17 -4
  78. package/dist/esm/kms/quorumClient.js +152 -3
  79. package/dist/esm/kms/quorumConsistency.d.ts +25 -1
  80. package/dist/esm/kms/quorumConsistency.js +68 -1
  81. package/dist/esm/kms/signatureVerification.d.ts +2 -2
  82. package/dist/esm/kms/signatureVerification.js +1 -1
  83. package/dist/esm/lite/attested-compute.d.ts +2 -2
  84. package/dist/esm/lite/attested-compute.js +3 -3
  85. package/dist/esm/lite/attested-decrypt.d.ts +2 -2
  86. package/dist/esm/lite/attested-decrypt.js +3 -3
  87. package/dist/esm/lite/lightning.d.ts +21 -14
  88. package/dist/esm/lite/lightning.js +64 -11
  89. package/dist/esm/test/mocks.d.ts +5 -1
  90. package/dist/esm/test/mocks.js +28 -6
  91. package/dist/esm/viem.d.ts +350 -1
  92. package/dist/esm/viem.js +4 -2
  93. package/dist/types/advancedacl/session-key.d.ts +4 -4
  94. package/dist/types/attestedcompute/attested-compute.d.ts +0 -1
  95. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +3 -4
  96. package/dist/types/chain.d.ts +8 -0
  97. package/dist/types/eip712/eip712.d.ts +18 -0
  98. package/dist/types/eip712/index.d.ts +1 -0
  99. package/dist/types/elistattesteddecrypt/elist-attested-decrypt.d.ts +49 -0
  100. package/dist/types/elistattesteddecrypt/index.d.ts +2 -0
  101. package/dist/types/elistattesteddecrypt/types.d.ts +31 -0
  102. package/dist/types/generated/abis/lightning.d.ts +0 -39
  103. package/dist/types/generated/abis/test-elist.d.ts +6 -0
  104. package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +0 -34
  105. package/dist/types/generated/lightning.d.ts +29 -0
  106. package/dist/types/generated/local-node.d.ts +2 -2
  107. package/dist/types/handle.d.ts +8 -0
  108. package/dist/types/kms/quorumClient.d.ts +17 -4
  109. package/dist/types/kms/quorumConsistency.d.ts +25 -1
  110. package/dist/types/kms/signatureVerification.d.ts +2 -2
  111. package/dist/types/lite/attested-compute.d.ts +2 -2
  112. package/dist/types/lite/attested-decrypt.d.ts +2 -2
  113. package/dist/types/lite/lightning.d.ts +21 -14
  114. package/dist/types/test/mocks.d.ts +5 -1
  115. package/dist/types/viem.d.ts +350 -1
  116. package/package.json +1 -1
@@ -42,8 +42,8 @@ export interface SessionKeyAttestedComputeArgs {
42
42
  rhsPlaintext: bigint | boolean;
43
43
  requesterArgData?: Hex | undefined;
44
44
  backoffConfig?: Partial<BackoffConfig> | undefined;
45
- ethClient?: PublicClient<Transport, Chain> | WalletClient<Transport, Chain, Account> | undefined;
46
- executorAddress?: HexString | undefined;
45
+ ethClient: PublicClient<Transport, Chain>;
46
+ executorAddress: HexString;
47
47
  reencryptPubKey?: Uint8Array | undefined;
48
48
  reencryptKeypair?: XwingKeypair | undefined;
49
49
  }
@@ -58,8 +58,8 @@ export interface SessionKeyAttestedDecryptArgs {
58
58
  backoffConfig?: Partial<BackoffConfig> | undefined;
59
59
  reencryptPubKey?: Uint8Array | undefined;
60
60
  reencryptKeypair?: XwingKeypair | undefined;
61
- ethClient?: PublicClient<Transport, Chain> | WalletClient<Transport, Chain, Account> | undefined;
62
- executorAddress?: HexString | undefined;
61
+ ethClient: PublicClient<Transport, Chain>;
62
+ executorAddress: HexString;
63
63
  }
64
64
  /**
65
65
  * Performs attested decrypts using a voucher-backed session key.
@@ -17,6 +17,7 @@ const index_js_3 = require("../reencryption/index.js");
17
17
  const types_js_1 = require("../attestedcompute/types.js");
18
18
  const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
19
19
  const types_js_2 = require("../attesteddecrypt/types.js");
20
+ const eip712_js_1 = require("../eip712/eip712.js");
20
21
  const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
21
22
  const types_pb_js_1 = require("../generated/es/inco/kms/lite/v1/types_pb.js");
22
23
  // Given a sharer's wallet client, an incoLite contract address, and a
@@ -145,7 +146,7 @@ async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffC
145
146
  !(0, xwing_js_1.reencryptPublicKeysMatch)(reencryptPubKey, reencryptKeypair)) {
146
147
  throw new types_js_1.AttestedComputeError('reencryptPubKey does not match reencryptKeypair public key');
147
148
  }
148
- const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, index_js_2.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION, ethClient);
149
+ const eip712DomainVersion = await (0, eip712_js_1.fetchEip712DomainVersion)(executorAddress, ethClient);
149
150
  // Sign the EIP712 attesting that the requester has access to the private key
150
151
  // corresponding to the ephemeral public key.
151
152
  const eip712Payload = (0, index_js_3.createEIP712Payload)({
@@ -243,7 +244,7 @@ async function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ep
243
244
  !(0, xwing_js_1.reencryptPublicKeysMatch)(reencryptPubKey, reencryptKeypair)) {
244
245
  throw new types_js_2.AttestedDecryptError('reencryptPubKey does not match reencryptKeypair public key');
245
246
  }
246
- const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, index_js_2.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION, ethClient);
247
+ const eip712DomainVersion = await (0, eip712_js_1.fetchEip712DomainVersion)(executorAddress, ethClient);
247
248
  // Sign the EIP712 attesting that the requester has access to the private key
248
249
  // corresponding to the ephemeral public key.
249
250
  const eip712Payload = (0, index_js_3.createEIP712Payload)({
@@ -365,4 +366,4 @@ async function getIncoVerifier(incoLiteAddress, walletClient) {
365
366
  client: walletClient,
366
367
  });
367
368
  }
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3RkEsd0RBcUJDO0FBdUNELDBDQThFQztBQUVELHNFQXVEQztBQUVELDRFQVFDO0FBMENELDhEQTJIQztBQWtFRCw4REFrSEM7QUE5bkJELGlEQUE0QztBQUM1QywrQkFhYztBQVdkLGlFQUt3QztBQUN4QywrREFBZ0U7QUFDaEUsMENBQXlEO0FBTXpELCtDQUswQjtBQUMxQiwrQ0FBK0U7QUFDL0UsdURBQStEO0FBSS9ELDBEQUdxQztBQUNyQyxnRkFHZ0Q7QUFDaEQsMERBQW1FO0FBQ25FLDBGQUc0RDtBQUM1RCw4RUFLc0Q7QUFrQnRELHNFQUFzRTtBQUN0RSx3RUFBd0U7QUFDeEUsK0JBQStCO0FBQ3hCLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsZUFBd0IsRUFDeEIsa0JBQTJELEVBQzNELGlCQUEwQixFQUMxQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUU1RSwwRUFBMEU7SUFDMUUsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUNyRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBc0NELG1EQUFtRDtBQUM1QyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLE9BQU8sRUFDUCxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FBUyxHQUNXO0lBQ3BCLGlEQUFpRDtJQUNqRCxJ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
369
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFvRkEsd0RBcUJDO0FBdUNELDBDQThFQztBQUVELHNFQXVEQztBQUVELDRFQVFDO0FBcUNELDhEQTBIQztBQTZERCw4REFpSEM7QUE5bUJELGlEQUE0QztBQUM1QywrQkFhYztBQVdkLGlFQUt3QztBQUN4QywrREFBZ0U7QUFDaEUsMENBQXlEO0FBTXpELCtDQUcwQjtBQUMxQiwrQ0FBK0U7QUFDL0UsdURBQStEO0FBSS9ELDBEQUdxQztBQUNyQyxnRkFBc0Y7QUFDdEYsMERBQW1FO0FBQ25FLG1EQUErRDtBQUMvRCwwRkFHNEQ7QUFDNUQsOEVBS3NEO0FBa0J0RCxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLCtCQUErQjtBQUN4QixLQUFLLFVBQVUsc0JBQXNCLENBQzFDLGVBQXdCLEVBQ3hCLGtCQUEyRCxFQUMzRCxpQkFBMEIsRUFDMUIsWUFBaUIsRUFDakIsYUFBa0I7SUFFbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFNUUsMEVBQTBFO0lBQzFFLHdDQUF3QztJQUN4QyxNQUFNLFlBQVksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUM7UUFDckUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU87S0FDbkMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGFBQWE7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQXNDRCxtREFBbUQ7QUFDNUMsS0FBSyxVQUFVLGVBQWUsQ0FBQyxFQUNwQyxPQUFPLEVBQ1AsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVztJQUNwQixp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
@@ -8,7 +8,6 @@ import { type XwingKeypair } from '../lite/xwing.js';
8
8
  import type { BackoffConfig } from '../retry.js';
9
9
  import { AttestedComputeOP } from './types.js';
10
10
  export declare const ATTESTED_COMPUTE_DOMAIN_NAME = "IncoAttestedCompute";
11
- export declare const DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = "2";
12
11
  /**
13
12
  * Arguments for creating an attested compute.
14
13
  */
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = exports.ATTESTED_COMPUTE_DOMAIN_NAME = void 0;
3
+ exports.ATTESTED_COMPUTE_DOMAIN_NAME = void 0;
4
4
  exports.attestedCompute = attestedCompute;
5
5
  const protobuf_1 = require("@bufbuild/protobuf");
6
6
  const viem_1 = require("viem");
7
7
  const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
8
8
  const binary_js_1 = require("../binary.js");
9
+ const eip712_js_1 = require("../eip712/eip712.js");
9
10
  const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
10
11
  const xwing_js_1 = require("../lite/xwing.js");
11
- const eip712_js_1 = require("../reencryption/eip712.js");
12
+ const eip712_js_2 = require("../reencryption/eip712.js");
12
13
  const types_js_1 = require("./types.js");
13
14
  exports.ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
14
- exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = '2';
15
15
  async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, reencryptPubKey, reencryptKeypair, }) {
16
16
  try {
17
17
  (0, attested_decrypt_js_1.validateHandle)(lhsHandle);
@@ -25,9 +25,9 @@ async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, b
25
25
  ? 1n
26
26
  : 0n
27
27
  : BigInt(rhsPlaintext);
28
- const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION, walletClient);
28
+ const eip712DomainVersion = await (0, eip712_js_1.fetchEip712DomainVersion)(executorAddress, walletClient);
29
29
  // Create the EIP712 payload for the handles to decrypt
30
- const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
30
+ const eip712Payload = (0, eip712_js_2.createEIP712Payload)({
31
31
  chainId: BigInt(chainId),
32
32
  primaryType: 'AttestedComputeRequest',
33
33
  primaryTypeFields: [
@@ -62,8 +62,7 @@ async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, b
62
62
  },
63
63
  });
64
64
  // Envelope signatures are verified against the on-chain authorized signer set
65
- const isRealClient = walletClient.transport.url !== attested_decrypt_js_1.TEST_RPC_URL;
66
- let decryptionAttestation = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig, reencryptKeypair, isRealClient ? executorAddress : undefined, isRealClient ? walletClient : undefined);
65
+ let decryptionAttestation = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig, reencryptKeypair, executorAddress, walletClient);
67
66
  // Decrypt encrypted attestations and verify inner DecryptionAttestation signatures
68
67
  if (reencryptPubKey && reencryptKeypair) {
69
68
  const [decryptedAttestation] = await (0, attested_decrypt_js_1.decryptEncryptedAttestations)([decryptionAttestation], reencryptKeypair);
@@ -78,4 +77,4 @@ async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, b
78
77
  throw new types_js_1.AttestedComputeError('Failed to perform attested compute', error);
79
78
  }
80
79
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0SEEsMENBMkhDO0FBdlBELGlEQUE0QztBQUU1QywrQkFBOEM7QUFDOUMsZ0ZBS2dEO0FBS2hELDRDQUEwRDtBQU0xRCwwRkFHNEQ7QUFFNUQsK0NBQStFO0FBQy9FLHlEQUFnRTtBQUVoRSx5Q0FBcUU7QUFFeEQsUUFBQSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNyRCxRQUFBLHVDQUF1QyxHQUFHLEdBQUcsQ0FBQztBQThGcEQsS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsZUFBZSxFQUNmLFNBQVMsRUFDVCxFQUFFLEVBQ0YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osZUFBZSxFQUNmLE9BQU8sRUFDUCxlQUFlLEVBQ2YsZ0JBQWdCLEdBWWpCO0lBSUMsSUFBSSxDQUFDO1FBQ0gsSUFBQSxvQ0FBYyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTFCLElBQ0UsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixDQUFDLElBQUEsbUNBQXdCLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLEVBQzVELENBQUM7WUFDRCxNQUFNLElBQUksK0JBQW9CLENBQzVCLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sZUFBZSxHQUNuQixPQUFPLFlBQVksS0FBSyxTQUFTO1lBQy9CLENBQUMsQ0FBQyxZQUFZO2dCQUNaLENBQUMsQ0FBQyxFQUFFO2dCQUNKLENBQUMsQ0FBQyxFQUFFO1lBQ04sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQixNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBQSw4Q0FBd0IsRUFDeEQsZUFBZSxFQUNmLCtDQUF1QyxFQUN2QyxZQUFZLENBQ2IsQ0FBQztRQUVGLHVE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
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwSEEsMENBeUhDO0FBblBELGlEQUE0QztBQUU1QywrQkFBOEM7QUFDOUMsZ0ZBR2dEO0FBS2hELDRDQUEwRDtBQUUxRCxtREFBK0Q7QUFLL0QsMEZBRzREO0FBRTVELCtDQUErRTtBQUMvRSx5REFBZ0U7QUFFaEUseUNBQXFFO0FBRXhELFFBQUEsNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUE4RjNELEtBQUssVUFBVSxlQUFlLENBQTZCLEVBQ2hFLGVBQWUsRUFDZixTQUFTLEVBQ1QsRUFBRSxFQUNGLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixPQUFPLEVBQ1AsZUFBZSxFQUNmLGdCQUFnQixHQVlqQjtJQUlDLElBQUksQ0FBQztRQUNILElBQUEsb0NBQWMsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUUxQixJQUNFLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsQ0FBQyxJQUFBLG1DQUF3QixFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUM1RCxDQUFDO1lBQ0QsTUFBTSxJQUFJLCtCQUFvQixDQUM1Qiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FDbkIsT0FBTyxZQUFZLEtBQUssU0FBUztZQUMvQixDQUFDLENBQUMsWUFBWTtnQkFDWixDQUFDLENBQUMsRUFBRTtnQkFDSixDQUFDLENBQUMsRUFBRTtZQUNOLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEsb0NBQXdCLEVBQ3hELGVBQWUsRUFDZixZQUFZLENBQ2IsQ0FBQztRQUVGLHVEQUF1RDtRQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFBLCtC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
@@ -1,7 +1,8 @@
1
- import type { Account, Chain, PublicClient, Transport, WalletClient } from 'viem';
1
+ import type { Account, Chain, Transport, WalletClient } from 'viem';
2
2
  import { type HexString } from '../binary.js';
3
3
  import { type SupportedChainId } from '../chain.js';
4
4
  import { EncryptionScheme, type SupportedFheType } from '../encryption/encryption.js';
5
+ import { type HandleWithProof } from '../generated/es/inco/kms/lite/v1/types_pb.js';
5
6
  import { validateHandle } from '../handle.js';
6
7
  import { KmsQuorumClient } from '../kms/quorumClient.js';
7
8
  import type { XwingKeypair } from '../lite/xwing.js';
@@ -9,8 +10,6 @@ import type { BackoffConfig } from '../retry.js';
9
10
  import { type DecryptionAttestation, type EncryptedDecryptionAttestation } from './types.js';
10
11
  export { validateHandle };
11
12
  export declare const ATTESTED_DECRYPT_DOMAIN_NAME = "IncoAttestedDecrypt";
12
- export declare const DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = "2";
13
- export declare const TEST_RPC_URL = "UNUSED IN TEST";
14
13
  /**
15
14
  * Arguments for creating an attested decrypt request.
16
15
  */
@@ -58,5 +57,5 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
58
57
  kmsQuorumClient: KmsQuorumClient;
59
58
  executorAddress: HexString;
60
59
  }): Promise<Array<EncryptedDecryptionAttestation<EncryptionScheme, SupportedFheType>>>;
61
- export declare function fetchEip712DomainVersion(executorAddress: HexString | undefined, defaultVersion: string, walletClient?: WalletClient<Transport, Chain, Account> | PublicClient<Transport, Chain>): Promise<string>;
60
+ export declare function buildHandlesWithProofs(handles: HexString[]): Array<HandleWithProof>;
62
61
  export declare function decryptEncryptedAttestations(attestations: Array<DecryptionAttestation<EncryptionScheme, SupportedFheType> | EncryptedDecryptionAttestation<EncryptionScheme, SupportedFheType>>, reencryptKeypair: XwingKeypair): Promise<Array<DecryptionAttestation<EncryptionScheme, SupportedFheType>>>;
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEST_RPC_URL = exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = exports.ATTESTED_DECRYPT_DOMAIN_NAME = exports.validateHandle = void 0;
3
+ exports.ATTESTED_DECRYPT_DOMAIN_NAME = exports.validateHandle = void 0;
4
4
  exports.attestedDecrypt = attestedDecrypt;
5
- exports.fetchEip712DomainVersion = fetchEip712DomainVersion;
5
+ exports.buildHandlesWithProofs = buildHandlesWithProofs;
6
6
  exports.decryptEncryptedAttestations = decryptEncryptedAttestations;
7
7
  const protobuf_1 = require("@bufbuild/protobuf");
8
8
  const viem_1 = require("viem");
9
9
  const binary_js_1 = require("../binary.js");
10
+ const eip712_js_1 = require("../eip712/eip712.js");
10
11
  const encryption_js_1 = require("../encryption/encryption.js");
11
- const lightning_js_1 = require("../generated/abis/lightning.js");
12
- const verifier_js_1 = require("../generated/abis/verifier.js");
13
12
  const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
14
13
  const types_pb_js_1 = require("../generated/es/inco/kms/lite/v1/types_pb.js");
15
14
  const handle_js_1 = require("../handle.js");
16
15
  Object.defineProperty(exports, "validateHandle", { enumerable: true, get: function () { return handle_js_1.validateHandle; } });
17
16
  const xwing_js_1 = require("../lite/xwing.js");
18
- const eip712_js_1 = require("../reencryption/eip712.js");
19
17
  const types_js_1 = require("./types.js");
20
18
  exports.ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
21
- // This version should match the return value of GetEIP712Version() in IncoVerifier and is used as fallback value in case run in tests (where walletClient is mocked)
22
- exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = '2';
23
- // This magic RPC url is used in tests to detect a mock client (which cannot make real on-chain calls)
24
- exports.TEST_RPC_URL = 'UNUSED IN TEST';
25
19
  /**
26
20
  * Decrypt multiple handles in a single attested request.
27
21
  * Returns an array of attestations aligned with the response ordering.
@@ -40,14 +34,14 @@ async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId,
40
34
  !(0, xwing_js_1.reencryptPublicKeysMatch)(reencryptPubKey, reencryptKeypair)) {
41
35
  throw new types_js_1.AttestedDecryptError('reencryptPubKey does not match reencryptKeypair public key');
42
36
  }
43
- const eip712Payload = await buildEip712Payload({
37
+ const eip712Payload = await (0, eip712_js_1.buildEip712Payload)({
44
38
  executorAddress,
45
- walletClient,
39
+ ethClient: walletClient,
46
40
  chainId,
47
41
  handles,
48
42
  reencryptPubKey,
49
43
  });
50
- const eip712SignatureHex = await signEip712(walletClient, eip712Payload);
44
+ const eip712SignatureHex = await (0, eip712_js_1.signEip712)(walletClient, eip712Payload);
51
45
  const handlesWithProofs = buildHandlesWithProofs(handles);
52
46
  const attestedDecryptRequest = buildAttestedDecryptRequest({
53
47
  userAddress: walletClient.account.address,
@@ -58,8 +52,7 @@ async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId,
58
52
  // Call quorum client which returns aggregated attestations directly
59
53
  // The quorum client handles retry logic internally for each KMS client
60
54
  // Envelope signatures are verified against the on-chain authorized signer set
61
- const isRealClient = walletClient.transport.url !== exports.TEST_RPC_URL;
62
- const response = await kmsQuorumClient.attestedDecrypt(attestedDecryptRequest, backoffConfig, reencryptKeypair, isRealClient ? executorAddress : undefined, isRealClient ? walletClient : undefined);
55
+ const response = await kmsQuorumClient.attestedDecrypt(attestedDecryptRequest, backoffConfig, reencryptKeypair, executorAddress, walletClient);
63
56
  // If reencryptPubKey is provided with a keypair, decrypt the encrypted attestations
64
57
  // and verify the inner DecryptionAttestation signatures
65
58
  if (reencryptPubKey !== undefined && reencryptKeypair) {
@@ -74,51 +67,6 @@ async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId,
74
67
  throw new types_js_1.AttestedDecryptError('Failed to decrypt handles', error);
75
68
  }
76
69
  }
77
- // Fetches EIP712 domain version from on-chain verifier if walletClient is provided
78
- async function fetchEip712DomainVersion(executorAddress, defaultVersion, walletClient) {
79
- let eip712DomainVersion;
80
- if (walletClient &&
81
- executorAddress &&
82
- walletClient.transport.url !== exports.TEST_RPC_URL) {
83
- const lightning = (0, viem_1.getContract)({
84
- address: executorAddress,
85
- abi: lightning_js_1.incoLightningAbi,
86
- client: walletClient,
87
- });
88
- const incoVerifierAddress = await lightning.read.incoVerifier();
89
- const verifier = (0, viem_1.getContract)({
90
- address: incoVerifierAddress,
91
- abi: verifier_js_1.incoVerifierAbi,
92
- client: walletClient,
93
- });
94
- eip712DomainVersion = await verifier.read.getEIP712Version();
95
- }
96
- else {
97
- eip712DomainVersion = defaultVersion;
98
- }
99
- return eip712DomainVersion;
100
- }
101
- // Small helpers to make the main flow readable
102
- async function buildEip712Payload(params) {
103
- const eip712DomainVersion = await fetchEip712DomainVersion(params.executorAddress, exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION, params.walletClient);
104
- return (0, eip712_js_1.createEIP712Payload)({
105
- chainId: BigInt(params.chainId),
106
- primaryType: 'AttestedDecryptRequest',
107
- primaryTypeFields: [
108
- { name: 'handles', type: 'bytes32[]' },
109
- { name: 'publicKey', type: 'bytes' },
110
- ],
111
- message: {
112
- handles: params.handles,
113
- publicKey: (0, viem_1.bytesToHex)(params.reencryptPubKey),
114
- },
115
- domainName: exports.ATTESTED_DECRYPT_DOMAIN_NAME,
116
- domainVersion: eip712DomainVersion,
117
- });
118
- }
119
- function signEip712(walletClient, eip712Payload) {
120
- return walletClient.signTypedData(eip712Payload);
121
- }
122
70
  function buildHandlesWithProofs(handles) {
123
71
  return handles.map((handle) => {
124
72
  return (0, protobuf_1.create)(types_pb_js_1.HandleWithProofSchema, {
@@ -167,4 +115,4 @@ async function decryptEncryptedAttestations(attestations, reencryptKeypair) {
167
115
  throw new types_js_1.AttestedDecryptError('Attestation is neither plaintext nor encrypted');
168
116
  }));
169
117
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErSEEsMENBb0ZDO0FBR0QsNERBZ0NDO0FBdUVELG9FQWtEQztBQS9XRCxpREFBNEM7QUFTNUMsK0JBQTJEO0FBQzNELDRDQUE2RDtBQUU3RCwrREFLcUM7QUFDckMsaUVBQWtFO0FBQ2xFLCtEQUFnRTtBQUNoRSwwRkFHNEQ7QUFDNUQsOEVBR3NEO0FBQ3RELDRDQUE2RDtBQVdwRCwrRkFYZSwwQkFBYyxPQVdmO0FBUnZCLCtDQUFxRTtBQUNyRSx5REFBZ0U7QUFFaEUseUNBSW9CO0FBR1AsUUFBQSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRSxxS0FBcUs7QUFDeEosUUFBQSx1Q0FBdUMsR0FBRyxHQUFHLENBQUM7QUFFM0Qsc0dBQXNHO0FBQ3pGLFFBQUEsWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBeUU3Qzs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FBQyxFQUNwQyxPQUFPLEVBQ1AsYUFBYSxFQUNiLFlBQVksRUFDWixPQUFPLEVBQ1AsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsZUFBZSxHQVVoQjtJQU1DLElBQUksQ0FBQztRQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQWMsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksK0JBQW9CLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsSUFDRSxnQkFBZ0I7WUFDaEIsQ0FBQyxJQUFBLG1DQUF3QixFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUM1RCxDQUFDO1lBQ0QsTUFBTSxJQUFJLCtCQUFvQixDQUM1Qiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLGtCQUFrQixDQUFDO1lBQzdDLGVBQWU7WUFDZixZQUFZO1lBQ1osT0FBTztZQUNQLE9BQU87WUFDUCxlQUFlO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxVQUFVLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXpFLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsTUFBTSxzQkFBc0IsR0FBRywyQkFBMkIsQ0FBQztZQUN6RCxXQUFXLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ3pDLGlCQUFpQjtZQUNqQixlQUFlLEVBQUUsSUFBQSxpQkFBVSxFQUFDLGtCQUFrQixDQUFDO1lBQy9DLGVBQWU7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsb0VBQW9FO1FBQ3BFLHVFQUF1RTtRQUN2RSw4RUFBOEU7UUFDOUUsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssb0JBQVksQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQ3BELHNCQUFzQixFQUN0QixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FBQyxDQUFDLENBQUUsZUFBMkIsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN2RCxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN4QyxDQUFDO1FBRUYsb0ZBQW9GO1FBQ3BGLHdEQUF3RDtRQUN4RCxJQUFJLGVBQWUsS0FBSyxTQUFTLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUN0RCxPQUFPLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLCtCQUFvQixFQUFFLENBQUM7WUFDMUMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxJQUFJLCtCQUFvQixDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JFLENBQUM7QUFDSCxDQUFDO0FBRUQsbUZBQW1GO0FBQzVFLEtBQUssVUFBVSx3QkFBd0IsQ0FDNUMsZUFBc0MsRUFDdEMsY0FBc0IsRUFDdEIsWUFFa0M7SUFFbEMsSUFBSSxtQkFBMkIsQ0FBQztJQUVoQyxJQUNFLFlBQVk7UUFDWixlQUFlO1FBQ2YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssb0JBQVksRUFDM0MsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUEsa0JBQVcsRUFBQztZQUM1QixPQUFPLEVBQUUsZUFBZTtZQUN4QixHQUFHLEVBQUUsK0JBQWdCO1lBQ3JCLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztRQUVILE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEsa0JBQVcsRUFBQztZQUMzQixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLEdBQUcsRUFBRSw2QkFBZTtZQUNwQixNQUFNLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7UUFFSCxtQkFBbUIsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvRCxDQUFDO1NBQU0sQ0FBQztRQUNOLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTyxtQkFBbUIsQ0FBQztBQUM3QixDQUFDO0FBRUQsK0NBQStDO0FBQy9DLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxNQU1qQztJQUNDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSx3QkFBd0IsQ0FDeEQsTUFBTSxDQUFDLGVBQWUsRUFDdEIsK0NBQXVDLEVBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQ3BCLENBQUM7SUFFRixPQUFPLElBQUEsK0JBQW1CLEVBQUM7UUFDekIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQy9CLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDdEMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7U0FDckM7UUFDRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsU0FBUyxFQUFFLElBQUEsaUJBQVUsRUFBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQzlDO1FBQ0QsVUFBVSxFQUFFLG9DQUE0QjtRQUN4QyxhQUFhLEVBQUUsbUJBQW1CO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUM7QUFNRCxTQUFTLFVBQVUsQ0FDakIsWUFBcUQsRUFDckQsYUFBd0M7SUFFeEMsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQW9CO0lBQ2xELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzVCLE9BQU8sSUFBQSxpQkFBTSxFQUFDLG1DQUFxQixFQUFFO1lBQ25DLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxNQUtwQztJQUNDLE9BQU8sSUFBQSxpQkFBTSxFQUFDLGdEQUE0QixFQUFFO1FBQzFDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO1FBQzNDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtRQUN2QyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsSUFBSSxJQUFJLFVBQVUsRUFBRTtLQUM1RCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRU0sS0FBSyxVQUFVLDRCQUE0QixDQUNoRCxZQUdDLEVBQ0QsZ0JBQThCO0lBRTlCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDN0IsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sR0FBZ0UsQ0FBQztRQUMxRSxDQUFDO1FBRUQsK0NBQStDO1FBQy9DLElBQUksb0JBQW9CLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4RSxNQUFNLFlBQVksR0FBRyxHQUdwQixDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFBLGtCQUFPLEVBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYSxFQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQWEsRUFBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdEQscUZBQXFGO1lBQ3JGLCtFQUErRTtZQUMvRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0MsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUU7Z0JBQzFELE9BQU8sTUFBTSxJQUFBLGtCQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO2dCQUMzQixTQUFTLEVBQUUsSUFBQSxpQ0FBaUIsRUFDMUIsaUNBQWlCLENBQUMsS0FBSyxFQUN2QixVQUE4QixFQUM5QixXQUFXLENBQ1o7Z0JBQ0QscUJBQXFCLEVBQUUsbUJBQW1CO2FBQ2tCLENBQUM7UUFDakUsQ0FBQztRQUVELE1BQU0sSUFBSSwrQkFBb0IsQ0FDNUIsZ0RBQWdELENBQ2pELENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyJ9
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpSEEsMENBbUZDO0FBRUQsd0RBY0M7QUFnQkQsb0VBa0RDO0FBdFJELGlEQUE0QztBQUU1QywrQkFBa0M7QUFDbEMsNENBQTZEO0FBRTdELG1EQUFxRTtBQUNyRSwrREFLcUM7QUFDckMsMEZBRzREO0FBQzVELDhFQUdzRDtBQUN0RCw0Q0FBNkQ7QUFVcEQsK0ZBVmUsMEJBQWMsT0FVZjtBQVB2QiwrQ0FBcUU7QUFFckUseUNBSW9CO0FBR1AsUUFBQSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQXlFbEU7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBQ1osT0FBTyxFQUNQLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGVBQWUsR0FVaEI7SUFNQyxJQUFJLENBQUM7UUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLDBCQUFjLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLCtCQUFvQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELElBQ0UsZ0JBQWdCO1lBQ2hCLENBQUMsSUFBQSxtQ0FBd0IsRUFBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsRUFDNUQsQ0FBQztZQUNELE1BQU0sSUFBSSwrQkFBb0IsQ0FDNUIsNERBQTRELENBQzdELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLDhCQUFrQixFQUFDO1lBQzdDLGVBQWU7WUFDZixTQUFTLEVBQUUsWUFBWTtZQUN2QixPQUFPO1lBQ1AsT0FBTztZQUNQLGVBQWU7U0FDaEIsQ0FBQyxDQUFD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
@@ -5,6 +5,8 @@
5
5
  * to work around Pulumi closure serialisation issues.
6
6
  */
7
7
  export declare const supportedChains: {
8
+ readonly mainnet: 1;
9
+ readonly base: 8453;
8
10
  readonly baseSepolia: 84532;
9
11
  readonly sepolia: 11155111;
10
12
  readonly monadTestnet: 10143;
@@ -28,6 +30,12 @@ export type Numberish = number | bigint;
28
30
  export type Chainish = {
29
31
  id: Numberish;
30
32
  } | Numberish | string;
33
+ /**
34
+ * Map of supported chain IDs to their short names.
35
+ * Public networks use the `shortName` from https://github.com/ethereum-lists/chains.
36
+ * Local Anvil uses `31337` (same ID as GoChain Testnet in the registry) but the SDK labels it `anvil`.
37
+ */
38
+ export declare const chainShortNames: Record<SupportedChainId, string>;
31
39
  /**
32
40
  * Resolves a {@link Chainish} value to a {@link SupportedChain}.
33
41
  *
package/dist/cjs/chain.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // No imports here to avoid issues with closures and modules across pulumi boundary
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.supportedChains = void 0;
4
+ exports.chainShortNames = exports.supportedChains = void 0;
5
5
  exports.getSupportedChain = getSupportedChain;
6
6
  // This file can be seen as mirroring the functionality of viem changes without depending on it directly.
7
7
  // It exists as a workaround for some very gnarly issues with code reuse between Pulumi and this module, partly
@@ -13,6 +13,8 @@ exports.getSupportedChain = getSupportedChain;
13
13
  * to work around Pulumi closure serialisation issues.
14
14
  */
15
15
  exports.supportedChains = {
16
+ mainnet: 1,
17
+ base: 8453,
16
18
  baseSepolia: 84532,
17
19
  sepolia: 11155111,
18
20
  monadTestnet: 10143,
@@ -20,6 +22,21 @@ exports.supportedChains = {
20
22
  worldchainSepolia: 4801,
21
23
  anvil: 31337,
22
24
  };
25
+ /**
26
+ * Map of supported chain IDs to their short names.
27
+ * Public networks use the `shortName` from https://github.com/ethereum-lists/chains.
28
+ * Local Anvil uses `31337` (same ID as GoChain Testnet in the registry) but the SDK labels it `anvil`.
29
+ */
30
+ exports.chainShortNames = {
31
+ [exports.supportedChains.mainnet]: 'eth',
32
+ [exports.supportedChains.base]: 'base',
33
+ [exports.supportedChains.baseSepolia]: 'basesep',
34
+ [exports.supportedChains.sepolia]: 'sep',
35
+ [exports.supportedChains.monadTestnet]: 'mon-testnet',
36
+ [exports.supportedChains.plasmaTestnet]: 'plasma-testnet',
37
+ [exports.supportedChains.worldchainSepolia]: 'wcsep',
38
+ [exports.supportedChains.anvil]: 'anvil',
39
+ };
23
40
  /**
24
41
  * Resolves a {@link Chainish} value to a {@link SupportedChain}.
25
42
  *
@@ -42,4 +59,4 @@ function getSupportedChain(chainish) {
42
59
  const [name, id] = found;
43
60
  return { name: name, id };
44
61
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1GQUFtRjs7O0FBZ0RuRiw4Q0FrQkM7QUFoRUQseUdBQXlHO0FBQ3pHLCtHQUErRztBQUMvRyxrR0FBa0c7QUFFbEc7Ozs7O0dBS0c7QUFDVSxRQUFBLGVBQWUsR0FBRztJQUM3QixXQUFXLEVBQUUsS0FBSztJQUNsQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsS0FBSztJQUNuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLEtBQUssRUFBRSxLQUFLO0NBQ0osQ0FBQztBQW1CWDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFrQjtJQUNsRCxNQUFNLEtBQUssR0FDVCxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUTtRQUMxRCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FDcEM7UUFDSCxDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQ3ZDO1lBQ0gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQWUsQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUN4QyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsUUFBUSxZQUFZLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxJQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2xELENBQUMifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1GQUFtRjs7O0FBa0VuRiw4Q0FrQkM7QUFsRkQseUdBQXlHO0FBQ3pHLCtHQUErRztBQUMvRyxrR0FBa0c7QUFFbEc7Ozs7O0dBS0c7QUFDVSxRQUFBLGVBQWUsR0FBRztJQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsV0FBVyxFQUFFLEtBQUs7SUFDbEIsT0FBTyxFQUFFLFFBQVE7SUFDakIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsYUFBYSxFQUFFLElBQUk7SUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixLQUFLLEVBQUUsS0FBSztDQUNKLENBQUM7QUFtQlg7Ozs7R0FJRztBQUNVLFFBQUEsZUFBZSxHQUFxQztJQUMvRCxDQUFDLHVCQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSztJQUNoQyxDQUFDLHVCQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtJQUM5QixDQUFDLHVCQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUztJQUN4QyxDQUFDLHVCQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSztJQUNoQyxDQUFDLHVCQUFlLENBQUMsWUFBWSxDQUFDLEVBQUUsYUFBYTtJQUM3QyxDQUFDLHVCQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsZ0JBQWdCO0lBQ2pELENBQUMsdUJBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLE9BQU87SUFDNUMsQ0FBQyx1QkFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU87Q0FDakMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFFBQWtCO0lBQ2xELE1BQU0sS0FBSyxHQUNULE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1FBQzFELENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2xDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUNwQztRQUNILENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2xDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDdkM7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQ3hDLENBQUM7SUFDVixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixRQUFRLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN6QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQTBCLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbEQsQ0FBQyJ9
@@ -0,0 +1,18 @@
1
+ import type { Account, Chain, Transport, WalletClient } from 'viem';
2
+ import type { HexString } from '../binary.js';
3
+ import type { SupportedChainId } from '../chain.js';
4
+ import { ViemClient } from '../viem.js';
5
+ export declare function fetchEip712DomainVersion(executorAddress: HexString, ethClient: ViemClient): Promise<string>;
6
+ export declare function buildEip712Payload(params: {
7
+ executorAddress: HexString;
8
+ ethClient: ViemClient;
9
+ chainId: SupportedChainId;
10
+ handles: HexString[];
11
+ reencryptPubKey: Uint8Array;
12
+ }): Promise<import("../reencryption/eip712.js").EIP712<{
13
+ handles: `0x${string}`[];
14
+ publicKey: `0x${string}`;
15
+ }>>;
16
+ type WalletSignTypedDataParams = Parameters<WalletClient<Transport, Chain, Account>['signTypedData']>[0];
17
+ export declare function signEip712(walletClient: WalletClient<Transport, Chain, Account>, eip712Payload: WalletSignTypedDataParams): Promise<`0x${string}`>;
18
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchEip712DomainVersion = fetchEip712DomainVersion;
4
+ exports.buildEip712Payload = buildEip712Payload;
5
+ exports.signEip712 = signEip712;
6
+ const viem_1 = require("viem");
7
+ const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
8
+ const lightning_js_1 = require("../generated/abis/lightning.js");
9
+ const verifier_js_1 = require("../generated/abis/verifier.js");
10
+ const eip712_js_1 = require("../reencryption/eip712.js");
11
+ // Fetches EIP712 domain version from on-chain verifier contract.
12
+ // This is needed to ensure the payload is signed with the correct domain version,
13
+ // which is required for the covalidator to verify the signature and process the request.
14
+ async function fetchEip712DomainVersion(executorAddress, ethClient) {
15
+ let eip712DomainVersion;
16
+ const lightning = (0, viem_1.getContract)({
17
+ address: executorAddress,
18
+ abi: lightning_js_1.incoLightningAbi,
19
+ client: ethClient,
20
+ });
21
+ const incoVerifierAddress = await lightning.read.incoVerifier();
22
+ const verifier = (0, viem_1.getContract)({
23
+ address: incoVerifierAddress,
24
+ abi: verifier_js_1.incoVerifierAbi,
25
+ client: ethClient,
26
+ });
27
+ eip712DomainVersion = await verifier.read.getEIP712Version();
28
+ return eip712DomainVersion;
29
+ }
30
+ // Small helpers to make the main flow readable
31
+ async function buildEip712Payload(params) {
32
+ const eip712DomainVersion = await fetchEip712DomainVersion(params.executorAddress, params.ethClient);
33
+ return (0, eip712_js_1.createEIP712Payload)({
34
+ chainId: BigInt(params.chainId),
35
+ primaryType: 'AttestedDecryptRequest',
36
+ primaryTypeFields: [
37
+ { name: 'handles', type: 'bytes32[]' },
38
+ { name: 'publicKey', type: 'bytes' },
39
+ ],
40
+ message: {
41
+ handles: params.handles,
42
+ publicKey: (0, viem_1.bytesToHex)(params.reencryptPubKey),
43
+ },
44
+ domainName: attested_decrypt_js_1.ATTESTED_DECRYPT_DOMAIN_NAME,
45
+ domainVersion: eip712DomainVersion,
46
+ });
47
+ }
48
+ function signEip712(walletClient, eip712Payload) {
49
+ return walletClient.signTypedData(eip712Payload);
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwNzEyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VpcDcxMi9laXA3MTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSw0REFzQkM7QUFHRCxnREEwQkM7QUFNRCxnQ0FLQztBQTFFRCwrQkFBK0M7QUFDL0MsZ0ZBQXNGO0FBR3RGLGlFQUFrRTtBQUNsRSwrREFBZ0U7QUFDaEUseURBQWdFO0FBR2hFLGlFQUFpRTtBQUNqRSxrRkFBa0Y7QUFDbEYseUZBQXlGO0FBQ2xGLEtBQUssVUFBVSx3QkFBd0IsQ0FDNUMsZUFBMEIsRUFDMUIsU0FBcUI7SUFFckIsSUFBSSxtQkFBMkIsQ0FBQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFBLGtCQUFXLEVBQUM7UUFDNUIsT0FBTyxFQUFFLGVBQWU7UUFDeEIsR0FBRyxFQUFFLCtCQUFnQjtRQUNyQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUM7SUFFSCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFBLGtCQUFXLEVBQUM7UUFDM0IsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixHQUFHLEVBQUUsNkJBQWU7UUFDcEIsTUFBTSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDO0lBRUgsbUJBQW1CLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFFN0QsT0FBTyxtQkFBbUIsQ0FBQztBQUM3QixDQUFDO0FBRUQsK0NBQStDO0FBQ3hDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxNQU14QztJQUNDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSx3QkFBd0IsQ0FDeEQsTUFBTSxDQUFDLGVBQWUsRUFDdEIsTUFBTSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztJQUVGLE9BQU8sSUFBQSwrQkFBbUIsRUFBQztRQUN6QixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDL0IsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxpQkFBaUIsRUFBRTtZQUNqQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN0QyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUNyQztRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixTQUFTLEVBQUUsSUFBQSxpQkFBVSxFQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7U0FDOUM7UUFDRCxVQUFVLEVBQUUsa0RBQTRCO1FBQ3hDLGFBQWEsRUFBRSxtQkFBbUI7S0FDbkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQU1ELFNBQWdCLFVBQVUsQ0FDeEIsWUFBcUQsRUFDckQsYUFBd0M7SUFFeEMsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ25ELENBQUMifQ==
@@ -0,0 +1 @@
1
+ export { buildEip712Payload, fetchEip712DomainVersion, signEip712, } from './eip712.js';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signEip712 = exports.fetchEip712DomainVersion = exports.buildEip712Payload = void 0;
4
+ var eip712_js_1 = require("./eip712.js");
5
+ Object.defineProperty(exports, "buildEip712Payload", { enumerable: true, get: function () { return eip712_js_1.buildEip712Payload; } });
6
+ Object.defineProperty(exports, "fetchEip712DomainVersion", { enumerable: true, get: function () { return eip712_js_1.fetchEip712DomainVersion; } });
7
+ Object.defineProperty(exports, "signEip712", { enumerable: true, get: function () { return eip712_js_1.signEip712; } });
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWlwNzEyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUlxQjtBQUhuQiwrR0FBQSxrQkFBa0IsT0FBQTtBQUNsQixxSEFBQSx3QkFBd0IsT0FBQTtBQUN4Qix1R0FBQSxVQUFVLE9BQUEifQ==
@@ -0,0 +1,49 @@
1
+ import type { Account, Chain, Transport, WalletClient } from 'viem';
2
+ import { validateHandle } from '../attesteddecrypt/attested-decrypt.js';
3
+ import { type HexString } from '../binary.js';
4
+ import { type SupportedChainId } from '../chain.js';
5
+ import { type EncryptionScheme, type SupportedFheType } from '../encryption/encryption.js';
6
+ import { KmsQuorumClient } from '../kms/quorumClient.js';
7
+ import type { XwingKeypair } from '../lite/xwing.js';
8
+ import type { BackoffConfig } from '../retry.js';
9
+ import { type EListDecryptionAttestation, type EncryptedEListDecryptionAttestation } from './types.js';
10
+ export { validateHandle };
11
+ export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, executorAddress, }: {
12
+ handle: HexString;
13
+ backoffConfig?: Partial<BackoffConfig> | undefined;
14
+ walletClient: WalletClient<Transport, Chain, Account>;
15
+ chainId: SupportedChainId;
16
+ reencryptPubKey: Uint8Array;
17
+ reencryptKeypair: XwingKeypair;
18
+ kmsQuorumClient: KmsQuorumClient;
19
+ executorAddress: HexString;
20
+ }): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
21
+ export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, reencryptPubKey, kmsQuorumClient, executorAddress, }: {
22
+ handle: HexString;
23
+ backoffConfig?: Partial<BackoffConfig> | undefined;
24
+ walletClient: WalletClient<Transport, Chain, Account>;
25
+ chainId: SupportedChainId;
26
+ reencryptPubKey: Uint8Array;
27
+ reencryptKeypair?: never;
28
+ kmsQuorumClient: KmsQuorumClient;
29
+ executorAddress: HexString;
30
+ }): Promise<EncryptedEListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
31
+ export declare function eListAttestedDecrypt({ handle, backoffConfig, walletClient, chainId, kmsQuorumClient, executorAddress, }: {
32
+ handle: HexString;
33
+ backoffConfig?: Partial<BackoffConfig> | undefined;
34
+ walletClient: WalletClient<Transport, Chain, Account>;
35
+ chainId: SupportedChainId;
36
+ reencryptPubKey?: never;
37
+ reencryptKeypair?: never;
38
+ kmsQuorumClient: KmsQuorumClient;
39
+ executorAddress: HexString;
40
+ }): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;
41
+ /**
42
+ * Reveal a single elist handle without wallet authentication.
43
+ * Returns plaintext values along with an attestation of the checksum.
44
+ */
45
+ export declare function eListAttestedReveal({ handle, backoffConfig, kmsQuorumClient, }: {
46
+ handle: HexString;
47
+ backoffConfig?: Partial<BackoffConfig> | undefined;
48
+ kmsQuorumClient: KmsQuorumClient;
49
+ }): Promise<EListDecryptionAttestation<EncryptionScheme, SupportedFheType>>;