@inco/js 0.1.39 → 0.1.41

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 (106) hide show
  1. package/dist/binary.js +47 -32
  2. package/dist/chain.js +11 -7
  3. package/dist/encryption/encryption.js +62 -54
  4. package/dist/encryption/index.js +18 -2
  5. package/dist/fhevm/fhe-environment.js +9 -6
  6. package/dist/fhevm/fhevm.js +40 -34
  7. package/dist/fhevm/index.js +18 -2
  8. package/dist/fhevm/reencrypt.js +37 -33
  9. package/dist/fhevm/tfhe.js +87 -79
  10. package/dist/fhevm/types.js +16 -13
  11. package/dist/generated/abis/addTwo.js +5 -2
  12. package/dist/generated/abis/inco-fhevm.js +50 -47
  13. package/dist/generated/abis/index.js +19 -3
  14. package/dist/generated/abis/lightning.d.ts +60 -0
  15. package/dist/generated/abis/lightning.js +73 -54
  16. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +25 -22
  17. package/dist/generated/es/cosmos/msg/v1/msg_pb.js +9 -6
  18. package/dist/generated/es/cosmos_proto/cosmos_pb.js +21 -18
  19. package/dist/generated/es/google/api/annotations_pb.js +9 -6
  20. package/dist/generated/es/google/api/http_pb.js +9 -6
  21. package/dist/generated/es/inco/fhe/v1/events_pb.js +10 -7
  22. package/dist/generated/es/inco/fhe/v1/genesis_pb.js +15 -12
  23. package/dist/generated/es/inco/fhe/v1/query_pb.js +28 -25
  24. package/dist/generated/es/inco/fhe/v1/tx_pb.js +28 -25
  25. package/dist/generated/es/inco/fhe/v1/types_pb.js +22 -19
  26. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +14 -11
  27. package/dist/generated/es/inco/kms/lite/v1/types_pb.js +13 -10
  28. package/dist/generated/es/inco/preflight/v1/genesis_pb.js +9 -6
  29. package/dist/generated/es/inco/preflight/v1/query_pb.js +14 -11
  30. package/dist/generated/es/inco/preflight/v1/tx_pb.js +16 -13
  31. package/dist/generated/es/inco/preflight/v1/types_pb.js +11 -8
  32. package/dist/generated/es/kms/base_pb.js +38 -35
  33. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +46 -43
  34. package/dist/generated/fhe-environments.js +5 -2
  35. package/dist/generated/lightning.d.ts +60 -312
  36. package/dist/generated/lightning.js +71 -332
  37. package/dist/generated/local-node.js +5 -2
  38. package/dist/generated/ts/amino/amino.js +5 -2
  39. package/dist/generated/ts/cometbft/abci/v1/types.js +563 -547
  40. package/dist/generated/ts/cometbft/crypto/v1/keys.js +10 -7
  41. package/dist/generated/ts/cometbft/crypto/v1/proof.js +36 -33
  42. package/dist/generated/ts/cometbft/types/v1/params.js +98 -95
  43. package/dist/generated/ts/cometbft/types/v1/validator.js +45 -40
  44. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +28 -25
  45. package/dist/generated/ts/cosmos/msg/v1/msg.js +5 -2
  46. package/dist/generated/ts/cosmos_proto/cosmos.js +20 -15
  47. package/dist/generated/ts/gogoproto/gogo.js +5 -2
  48. package/dist/generated/ts/google/api/annotations.js +5 -2
  49. package/dist/generated/ts/google/api/http.js +33 -30
  50. package/dist/generated/ts/google/protobuf/descriptor.js +506 -468
  51. package/dist/generated/ts/google/protobuf/duration.js +10 -7
  52. package/dist/generated/ts/google/protobuf/timestamp.js +10 -7
  53. package/dist/generated/ts/google/protobuf/wrappers.js +42 -39
  54. package/dist/generated/ts/inco/abci/v1/types.js +16 -13
  55. package/dist/generated/ts/inco/fhe/module/v1/module.js +10 -7
  56. package/dist/generated/ts/inco/fhe/v1/events.js +35 -32
  57. package/dist/generated/ts/inco/fhe/v1/genesis.js +130 -127
  58. package/dist/generated/ts/inco/fhe/v1/query.js +163 -160
  59. package/dist/generated/ts/inco/fhe/v1/tx.js +153 -150
  60. package/dist/generated/ts/inco/fhe/v1/types.js +75 -70
  61. package/dist/generated/ts/inco/originchain/module/v1/module.js +10 -7
  62. package/dist/generated/ts/inco/originchain/v1/abci.js +37 -34
  63. package/dist/generated/ts/inco/originchain/v1/events.js +14 -11
  64. package/dist/generated/ts/inco/originchain/v1/genesis.js +16 -13
  65. package/dist/generated/ts/inco/originchain/v1/query.js +44 -41
  66. package/dist/generated/ts/inco/originchain/v1/tx.js +27 -24
  67. package/dist/generated/ts/inco/originchain/v1/types.js +14 -11
  68. package/dist/generated/ts/inco/preflight/module/v1/module.js +10 -7
  69. package/dist/generated/ts/inco/preflight/v1/genesis.js +30 -27
  70. package/dist/generated/ts/inco/preflight/v1/query.js +44 -41
  71. package/dist/generated/ts/inco/preflight/v1/tx.js +56 -53
  72. package/dist/generated/ts/inco/preflight/v1/types.js +41 -38
  73. package/dist/handle.js +33 -26
  74. package/dist/index.js +22 -6
  75. package/dist/l1/client.js +23 -19
  76. package/dist/l1/index.js +19 -3
  77. package/dist/l1/preflight.js +16 -13
  78. package/dist/lite/deployments.js +13 -9
  79. package/dist/lite/ecies.js +48 -37
  80. package/dist/lite/hadu.js +26 -21
  81. package/dist/lite/index.js +23 -7
  82. package/dist/lite/lightning.js +35 -31
  83. package/dist/lite/reencrypt.js +41 -30
  84. package/dist/local/index.js +18 -2
  85. package/dist/local/local-node.d.ts +0 -1
  86. package/dist/local/local-node.js +24 -21
  87. package/dist/reencryption/eip712.js +21 -18
  88. package/dist/reencryption/index.js +19 -3
  89. package/dist/reencryption/types.js +2 -1
  90. package/dist/schema.js +10 -6
  91. package/dist/viem.js +11 -7
  92. package/package.json +2 -1
  93. package/dist/encryption/index.cjs +0 -24706
  94. package/dist/encryption/index.mjs +0 -25787
  95. package/dist/fhevm/index.cjs +0 -87
  96. package/dist/fhevm/index.mjs +0 -90
  97. package/dist/generated/abis/index.cjs +0 -12493
  98. package/dist/generated/abis/index.mjs +0 -12496
  99. package/dist/index.cjs +0 -24883
  100. package/dist/index.mjs +0 -25964
  101. package/dist/lite/index.cjs +0 -52789
  102. package/dist/lite/index.mjs +0 -71691
  103. package/dist/local/index.cjs +0 -24479
  104. package/dist/local/index.mjs +0 -42864
  105. package/dist/reencryption/index.cjs +0 -24681
  106. package/dist/reencryption/index.mjs +0 -24684
@@ -1,17 +1,20 @@
1
- import { Schema } from 'effect';
2
- import { Bytes32, bytesFromHexString } from '../binary';
3
- import { MsgRegisterInput } from '../generated/ts/inco/preflight/v1/tx';
4
- import { computeHandle } from '../handle';
5
- import { parse } from '../schema';
6
- import { createL1Client } from './client';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cosmJSPreflight = cosmJSPreflight;
4
+ const effect_1 = require("effect");
5
+ const binary_1 = require("../binary");
6
+ const tx_1 = require("../generated/ts/inco/preflight/v1/tx");
7
+ const handle_1 = require("../handle");
8
+ const schema_1 = require("../schema");
9
+ const client_1 = require("./client");
7
10
  // Do not export this value, only allow parsing of Handle to happen here
8
- const Handle = Bytes32.pipe(Schema.brand('Handle'));
11
+ const Handle = binary_1.Bytes32.pipe(effect_1.Schema.brand('Handle'));
9
12
  // Sends a preflight input to the Cosmos L1 chain using CosmJS.
10
- export async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerAddress, }) {
11
- const l1Client = await createL1Client({ cometRpcEndpoint, wallet, grpcEndpoint });
13
+ async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerAddress, }) {
14
+ const l1Client = await (0, client_1.createL1Client)({ cometRpcEndpoint, wallet, grpcEndpoint });
12
15
  return {
13
16
  async send({ prehandle, ciphertext, context }) {
14
- const msg = MsgRegisterInput.create({
17
+ const msg = tx_1.MsgRegisterInput.create({
15
18
  prehandle: Buffer.from(prehandle.replace(/^0x/, ''), 'hex'),
16
19
  signer: signerAddress,
17
20
  ciphertext: Buffer.from(ciphertext.value, 'hex'),
@@ -31,9 +34,9 @@ export async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet,
31
34
  // 2. The FheEnv must have been created in the on-chain registry. Only the
32
35
  // council can add new FheEnvs to the registry.
33
36
  const result = await l1Client.sendTx(signerAddress, '/inco.preflight.v1.MsgRegisterInput', msg);
34
- const handle = computeHandle({ prehandle: bytesFromHexString(prehandle), context });
35
- return { transactionHash: result.transactionHash, handle: parse(Handle, handle) };
37
+ const handle = (0, handle_1.computeHandle)({ prehandle: (0, binary_1.bytesFromHexString)(prehandle), context });
38
+ return { transactionHash: result.transactionHash, handle: (0, schema_1.parse)(Handle, handle) };
36
39
  },
37
40
  };
38
41
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL3ByZWZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sVUFBVSxDQUFDO0FBRTdELHdFQUF3RTtBQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQXNCcEQsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osTUFBTSxFQUNOLGFBQWEsR0FDNEI7SUFDekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUVsRixPQUFPO1FBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFvQjtZQUM3RCxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQztnQkFDM0QsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO2dCQUNoRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2pELFlBQVksRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN4RCw0REFBNEQ7b0JBQzVELFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUMvQyxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXO2lCQUMxQzthQUNGLENBQUMsQ0FBQztZQUVILDZFQUE2RTtZQUM3RSxFQUFFO1lBQ0Ysc0VBQXNFO1lBQ3RFLHlFQUF5RTtZQUN6RSw0REFBNEQ7WUFDNUQsMEVBQTBFO1lBQzFFLCtDQUErQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLHFDQUFxQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRWhHLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL3ByZWZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdDQSwwQ0FvQ0M7QUFwRUQsbUNBQWdDO0FBQ2hDLHNDQUF3RDtBQUV4RCw2REFBd0U7QUFDeEUsc0NBQTBDO0FBQzFDLHNDQUFrQztBQUNsQyxxQ0FBNkQ7QUFFN0Qsd0VBQXdFO0FBQ3hFLE1BQU0sTUFBTSxHQUFHLGdCQUFPLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQXNCcEQsK0RBQStEO0FBQ3hELEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixNQUFNLEVBQ04sYUFBYSxHQUM0QjtJQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdUJBQWMsRUFBQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRWxGLE9BQU87UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQW9CO1lBQzdELE1BQU0sR0FBRyxHQUFHLHFCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDbEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUMzRCxNQUFNLEVBQUUsYUFBYTtnQkFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ2hELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDakQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ3hELDREQUE0RDtvQkFDNUQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQy9DLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVc7aUJBQzFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsNkVBQTZFO1lBQzdFLEVBQUU7WUFDRixzRUFBc0U7WUFDdEUseUVBQXlFO1lBQ3pFLDREQUE0RDtZQUM1RCwwRUFBMEU7WUFDMUUsK0NBQStDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFaEcsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBYSxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUEsMkJBQWtCLEVBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUEsY0FBSyxFQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,17 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveLightningDeployment = getActiveLightningDeployment;
4
+ exports.getLightningDeployments = getLightningDeployments;
1
5
  // Avoid inporting any other dependencies in this file to avoid serialisation issues downstream in infracto
2
- import { getSupportedChain } from '../chain';
3
- import { lightningDeployments } from '../generated/lightning';
4
- export function getActiveLightningDeployment(chain) {
5
- const supportedChain = getSupportedChain(chain);
6
- const deployments = lightningDeployments.filter((d) => d.chainId === supportedChain.id);
6
+ const chain_1 = require("../chain");
7
+ const lightning_1 = require("../generated/lightning");
8
+ function getActiveLightningDeployment(chain) {
9
+ const supportedChain = (0, chain_1.getSupportedChain)(chain);
10
+ const deployments = lightning_1.lightningDeployments.filter((d) => d.chainId === supportedChain.id);
7
11
  if (!deployments?.length) {
8
12
  throw new Error(`No deployments found for chain ${chain}`);
9
13
  }
10
14
  return deployments[0];
11
15
  }
12
- export function getLightningDeployments(chainId) {
13
- const supportedChain = getSupportedChain(chainId);
14
- const deployments = lightningDeployments.filter((d) => d.chainId === supportedChain.id);
16
+ function getLightningDeployments(chainId) {
17
+ const supportedChain = (0, chain_1.getSupportedChain)(chainId);
18
+ const deployments = lightning_1.lightningDeployments.filter((d) => d.chainId === supportedChain.id);
15
19
  return deployments ?? [];
16
20
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9kZXBsb3ltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyR0FBMkc7QUFDM0csT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTzlELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxLQUFlO0lBQzFELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWlCO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsT0FBTyxXQUFXLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUMifQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9kZXBsb3ltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLG9FQU9DO0FBRUQsMERBSUM7QUF0QkQsMkdBQTJHO0FBQzNHLG9DQUF1RDtBQUN2RCxzREFBOEQ7QUFPOUQsU0FBZ0IsNEJBQTRCLENBQUMsS0FBZTtJQUMxRCxNQUFNLGNBQWMsR0FBRyxJQUFBLHlCQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLGdDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBaUI7SUFDdkQsTUFBTSxjQUFjLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxnQ0FBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLE9BQU8sV0FBVyxJQUFJLEVBQUUsQ0FBQztBQUMzQixDQUFDIn0=
@@ -1,15 +1,26 @@
1
- import { decrypt as eciesDecrypt, encrypt as eciesEncrypt } from 'ecies-geth';
2
- import { ec } from 'elliptic';
3
- import { asBytes32, bytes32ToBigint, bytesFromHexString, bytesToHex } from '../binary';
4
- import { bigintToPlaintext, ciphertextEnvelopes, encryptionSchemes, getEncryptionSchemeName, } from '../encryption/encryption';
5
- import { computeHandle, computePrehandle } from '../handle';
6
- import { decodeInput, encodeInput } from './hadu';
7
- const secp256k1 = new ec('secp256k1');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSecp256k1Keypair = toSecp256k1Keypair;
4
+ exports.generateSecp256k1Keypair = generateSecp256k1Keypair;
5
+ exports.encodeSecp256k1PublicKey = encodeSecp256k1PublicKey;
6
+ exports.decodeSecp256k1PublicKey = decodeSecp256k1PublicKey;
7
+ exports.decodeSecp256k1PrivateKey = decodeSecp256k1PrivateKey;
8
+ exports.encrypt = encrypt;
9
+ exports.getEciesEncryptor = getEciesEncryptor;
10
+ exports.decrypt = decrypt;
11
+ exports.getEciesDecryptor = getEciesDecryptor;
12
+ const ecies_geth_1 = require("ecies-geth");
13
+ const elliptic_1 = require("elliptic");
14
+ const binary_1 = require("../binary");
15
+ const encryption_1 = require("../encryption/encryption");
16
+ const handle_1 = require("../handle");
17
+ const hadu_1 = require("./hadu");
18
+ const secp256k1 = new elliptic_1.ec('secp256k1');
8
19
  // Convert an ec.KeyPair from the 'elliptic' package (assumed to have geen generated
9
20
  // with the secp256k1 curve) to our Secp256k1Keypair type.
10
- export function toSecp256k1Keypair(kp) {
21
+ function toSecp256k1Keypair(kp) {
11
22
  return {
12
- scheme: encryptionSchemes.ecies,
23
+ scheme: encryption_1.encryptionSchemes.ecies,
13
24
  kp,
14
25
  encodePublicKey() {
15
26
  return new Uint8Array(kp.getPublic().encode('array', false));
@@ -17,15 +28,15 @@ export function toSecp256k1Keypair(kp) {
17
28
  };
18
29
  }
19
30
  // Generate a new ephemeral keypair for reencryption.
20
- export function generateSecp256k1Keypair() {
31
+ function generateSecp256k1Keypair() {
21
32
  return toSecp256k1Keypair(secp256k1.genKeyPair());
22
33
  }
23
34
  // EncodePublicKey encodes an ECIES public key it's 33-byte compressed form.
24
- export function encodeSecp256k1PublicKey(pub) {
35
+ function encodeSecp256k1PublicKey(pub) {
25
36
  return new Uint8Array(pub.encodeCompressed('array'));
26
37
  }
27
38
  // DecodeSecp256k1PublicKey decodes a 33-byte compressed ECIES public key.
28
- export function decodeSecp256k1PublicKey(pubKeyCompressed) {
39
+ function decodeSecp256k1PublicKey(pubKeyCompressed) {
29
40
  return secp256k1.keyFromPublic(pubKeyCompressed, 'array').getPublic();
30
41
  }
31
42
  // DecodeSecp256k1PrivateKey returns a ECIES secp256k1 private key based on the provided byte slice which is
@@ -48,50 +59,50 @@ export function decodeSecp256k1PublicKey(pubKeyCompressed) {
48
59
  // We don't include any curve parameters or ECIES params, as they are assumed to
49
60
  // be the ones in ecies.ECIES_AES128_SHA256 from go-ethereum.
50
61
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.0/crypto/ecies/params.go#L76-L82
51
- export function decodeSecp256k1PrivateKey(privKey) {
62
+ function decodeSecp256k1PrivateKey(privKey) {
52
63
  return toSecp256k1Keypair(secp256k1.keyFromPrivate(privKey, 'array'));
53
64
  }
54
65
  // Given a (usually 3rd-party known) public key, called `pubKeyA`, and an ephemeral
55
66
  // private key (usually generated locally), called `privKeyB`, encrypt the `msg`
56
67
  // using ECIES, with geth's parameters:
57
68
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
58
- export async function encrypt(pubKeyA, plaintext, privKeyB) {
69
+ async function encrypt(pubKeyA, plaintext, privKeyB) {
59
70
  const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
60
71
  const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
61
- const ct = await eciesEncrypt(pubKeyABuffer, Buffer.from(plaintext), {
72
+ const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, Buffer.from(plaintext), {
62
73
  ephemPrivateKey: privKeyBBuffer,
63
74
  });
64
75
  return new Uint8Array(ct);
65
76
  }
66
- export function getEciesEncryptor({ pubKeyA, privKeyB }) {
77
+ function getEciesEncryptor({ pubKeyA, privKeyB }) {
67
78
  const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
68
79
  const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
69
80
  return async ({ plaintext, context, }) => {
70
- if (plaintext.scheme !== encryptionSchemes.ecies) {
71
- throw new Error(`Plaintext with scheme ${getEncryptionSchemeName(plaintext.scheme)} cannot be encrypted with ECIES`);
81
+ if (plaintext.scheme !== encryption_1.encryptionSchemes.ecies) {
82
+ throw new Error(`Plaintext with scheme ${(0, encryption_1.getEncryptionSchemeName)(plaintext.scheme)} cannot be encrypted with ECIES`);
72
83
  }
73
- const ptBuf = Buffer.from(encodeInput({ plaintext, context }));
74
- const ct = await eciesEncrypt(pubKeyABuffer, ptBuf, {
84
+ const ptBuf = Buffer.from((0, hadu_1.encodeInput)({ plaintext, context }));
85
+ const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, ptBuf, {
75
86
  ephemPrivateKey: privKeyBBuffer,
76
87
  });
77
- const prehandle = computePrehandle({
88
+ const prehandle = (0, handle_1.computePrehandle)({
78
89
  ciphertext: ct,
79
90
  handleType: plaintext.type,
80
91
  indexHandle: 0,
81
92
  handleVersion: 0,
82
93
  });
83
- const handle = computeHandle({
94
+ const handle = (0, handle_1.computeHandle)({
84
95
  prehandle,
85
96
  context: context,
86
97
  });
87
98
  return {
88
- prehandle: asBytes32(prehandle),
89
- handle: asBytes32(handle),
99
+ prehandle: (0, binary_1.asBytes32)(prehandle),
100
+ handle: (0, binary_1.asBytes32)(handle),
90
101
  context,
91
102
  ciphertext: {
92
- scheme: encryptionSchemes.ecies,
103
+ scheme: encryption_1.encryptionSchemes.ecies,
93
104
  type: plaintext.type,
94
- value: bytesToHex(ct),
105
+ value: (0, binary_1.bytesToHex)(ct),
95
106
  },
96
107
  };
97
108
  };
@@ -99,26 +110,26 @@ export function getEciesEncryptor({ pubKeyA, privKeyB }) {
99
110
  // Given an ephemeral private key, called `privKeyA`, and a ciphertext `ct`,
100
111
  // decrypt the ciphertext using ECIES, with geth's parameters:
101
112
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
102
- export async function decrypt(privKeyA, ciphertext) {
113
+ async function decrypt(privKeyA, ciphertext) {
103
114
  const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
104
- const pt = await eciesDecrypt(privKeyABuffer, Buffer.from(ciphertext));
115
+ const pt = await (0, ecies_geth_1.decrypt)(privKeyABuffer, Buffer.from(ciphertext));
105
116
  return new Uint8Array(pt);
106
117
  }
107
- export function getEciesDecryptor({ privKeyA }) {
118
+ function getEciesDecryptor({ privKeyA }) {
108
119
  const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
109
120
  return async ({ scheme, type, value, envelope, }) => {
110
- if (scheme !== encryptionSchemes.ecies) {
111
- throw new Error(`Ciphertext with scheme ${getEncryptionSchemeName(scheme)} cannot be decrypted with ECIES`);
121
+ if (scheme !== encryption_1.encryptionSchemes.ecies) {
122
+ throw new Error(`Ciphertext with scheme ${(0, encryption_1.getEncryptionSchemeName)(scheme)} cannot be decrypted with ECIES`);
112
123
  }
113
- const ptBuf = await eciesDecrypt(privKeyABuffer, bytesFromHexString(value));
124
+ const ptBuf = await (0, ecies_geth_1.decrypt)(privKeyABuffer, (0, binary_1.bytesFromHexString)(value));
114
125
  // If envelope field is omitted then assume HADU, only with an explicit none envelope do we assume a raw byte
115
126
  // encoding as would be performed by the compute server
116
- if (envelope === ciphertextEnvelopes.none) {
117
- const bigPt = bytes32ToBigint(Buffer.from(ptBuf).toString('hex'));
118
- return bigintToPlaintext(scheme, type, bigPt);
127
+ if (envelope === encryption_1.ciphertextEnvelopes.none) {
128
+ const bigPt = (0, binary_1.bytes32ToBigint)(Buffer.from(ptBuf).toString('hex'));
129
+ return (0, encryption_1.bigintToPlaintext)(scheme, type, bigPt);
119
130
  }
120
- const { plaintext } = decodeInput(ptBuf.toString());
131
+ const { plaintext } = (0, hadu_1.decodeInput)(ptBuf.toString());
121
132
  return plaintext;
122
133
  };
123
134
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9lY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlFLE9BQU8sRUFBUyxFQUFFLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBSW5CLGlCQUFpQixFQUdqQix1QkFBdUIsR0FJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxELE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBVXRDLG9GQUFvRjtBQUNwRiwwREFBMEQ7QUFDMUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQWM7SUFDL0MsT0FBTztRQUNMLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1FBQy9CLEVBQUU7UUFDRixlQUFlO1lBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELHFEQUFxRDtBQUNyRCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxNQUFNLFVB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
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9lY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSxnREFRQztBQUdELDREQUVDO0FBR0QsNERBRUM7QUFHRCw0REFFQztBQXNCRCw4REFFQztBQU1ELDBCQWFDO0FBUUQsOENBcUNDO0FBS0QsMEJBS0M7QUFPRCw4Q0FxQkM7QUF0TEQsMkNBQThFO0FBQzlFLHVDQUFxQztBQUNyQyxzQ0FBdUY7QUFDdkYseURBYWtDO0FBQ2xDLHNDQUE0RDtBQUU1RCxpQ0FBa0Q7QUFFbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7QUFVdEMsb0ZBQW9GO0FBQ3BGLDBEQUEwRDtBQUMxRCxTQUFnQixrQkFBa0IsQ0FBQyxFQUFjO0lBQy9DLE9BQU87UUFDTCxNQUFNLEVBQUUsOEJBQWlCLENBQUMsS0FBSztRQUMvQixFQUFFO1FBQ0YsZUFBZTtZQUNiLE9BQU8sSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxxREFBcUQ7QUFDckQsU0FBZ0Isd0JBQXdCO0lBQ3RDLE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxTQUFnQix3QkFBd0IsQ0FBQyxHQUFvQjtJQUMzRCxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCwwRUFBMEU7QUFDMUUsU0FBZ0Isd0JBQXdCLENBQUMsZ0JBQTRCO0lBQ25FLE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxT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
package/dist/lite/hadu.js CHANGED
@@ -1,36 +1,41 @@
1
- import { Schema } from 'effect';
2
- import { parseJson } from 'effect/Schema';
3
- import { Bytes32 } from '../binary';
4
- import { bytes32ToPlaintext, EncryptionScheme, plaintextToBytes32, SupportedFheType, } from '../encryption';
5
- import { InputContext } from '../handle';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HaduInput = exports.EncryptionEnvelope = exports.encryptionEnvelopes = void 0;
4
+ exports.encodeInput = encodeInput;
5
+ exports.decodeInput = decodeInput;
6
+ const effect_1 = require("effect");
7
+ const Schema_1 = require("effect/Schema");
8
+ const binary_1 = require("../binary");
9
+ const encryption_1 = require("../encryption");
10
+ const handle_1 = require("../handle");
6
11
  // HADU stands for "Host Chain, ACL, DApp, and User" it maps to the InputContext type where the aclAddress
7
12
  // may actually be the singular IncoLite contract which embeds its own ACL
8
- export const encryptionEnvelopes = {
13
+ exports.encryptionEnvelopes = {
9
14
  none: 0,
10
15
  hadu: 1,
11
16
  };
12
- export const EncryptionEnvelope = Schema.Literal(...Object.values(encryptionEnvelopes));
13
- export const HaduInput = parseJson(Schema.Struct({
14
- envelope: Schema.Literal(encryptionEnvelopes.hadu),
15
- scheme: EncryptionScheme,
16
- context: InputContext,
17
- plaintext: Bytes32,
18
- type: SupportedFheType,
17
+ exports.EncryptionEnvelope = effect_1.Schema.Literal(...Object.values(exports.encryptionEnvelopes));
18
+ exports.HaduInput = (0, Schema_1.parseJson)(effect_1.Schema.Struct({
19
+ envelope: effect_1.Schema.Literal(exports.encryptionEnvelopes.hadu),
20
+ scheme: encryption_1.EncryptionScheme,
21
+ context: handle_1.InputContext,
22
+ plaintext: binary_1.Bytes32,
23
+ type: encryption_1.SupportedFheType,
19
24
  }));
20
- export function encodeInput({ plaintext, context }) {
21
- return Schema.encodeSync(HaduInput)({
22
- envelope: encryptionEnvelopes.hadu,
25
+ function encodeInput({ plaintext, context }) {
26
+ return effect_1.Schema.encodeSync(exports.HaduInput)({
27
+ envelope: exports.encryptionEnvelopes.hadu,
23
28
  scheme: plaintext.scheme,
24
29
  type: plaintext.type,
25
- plaintext: plaintextToBytes32(plaintext),
30
+ plaintext: (0, encryption_1.plaintextToBytes32)(plaintext),
26
31
  context,
27
32
  });
28
33
  }
29
- export function decodeInput(json) {
30
- const { scheme, context, plaintext, type } = Schema.decodeSync(HaduInput)(json);
34
+ function decodeInput(json) {
35
+ const { scheme, context, plaintext, type } = effect_1.Schema.decodeSync(exports.HaduInput)(json);
31
36
  return {
32
- plaintext: bytes32ToPlaintext(plaintext, scheme, type),
37
+ plaintext: (0, encryption_1.bytes32ToPlaintext)(plaintext, scheme, type),
33
38
  context,
34
39
  };
35
40
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFkdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saXRlL2hhZHUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpDLDBHQUEwRztBQUMxRywwRUFBMEU7QUFFMUUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFLWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNaLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNsRCxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLElBQUksRUFBRSxnQkFBZ0I7Q0FDdkIsQ0FBQyxDQUNILENBQUM7QUFJRixNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBd0I7SUFDdEUsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxPQUFPO0tBQ1IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRixPQUFPO1FBQ0wsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1FBQ3RELE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyJ9
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFkdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saXRlL2hhZHUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUNBLGtDQVFDO0FBRUQsa0NBTUM7QUFyREQsbUNBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyxzQ0FBb0M7QUFDcEMsOENBTXVCO0FBQ3ZCLHNDQUF5QztBQUV6QywwR0FBMEc7QUFDMUcsMEVBQTBFO0FBRTdELFFBQUEsbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFLRSxRQUFBLGtCQUFrQixHQUFHLGVBQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDJCQUFtQixDQUFDLENBQUMsQ0FBQztBQUUzRSxRQUFBLFNBQVMsR0FBRyxJQUFBLGtCQUFTLEVBQ2hDLGVBQU0sQ0FBQyxNQUFNLENBQUM7SUFDWixRQUFRLEVBQUUsZUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDbEQsTUFBTSxFQUFFLDZCQUFnQjtJQUN4QixPQUFPLEVBQUUscUJBQVk7SUFDckIsU0FBUyxFQUFFLGdCQUFPO0lBQ2xCLElBQUksRUFBRSw2QkFBZ0I7Q0FDdkIsQ0FBQyxDQUNILENBQUM7QUFJRixTQUFnQixXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUF3QjtJQUN0RSxPQUFPLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxJQUFJO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsU0FBUyxFQUFFLElBQUEsK0JBQWtCLEVBQUMsU0FBUyxDQUFDO1FBQ3hDLE9BQU87S0FDUixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLE9BQU87UUFDTCxTQUFTLEVBQUUsSUFBQSwrQkFBa0IsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN0RCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,7 +1,23 @@
1
- export * from '../generated/abis/lightning';
2
- export * from './deployments';
3
- export * from './ecies';
4
- export * from './hadu';
5
- export * from './lightning';
6
- export * from './reencrypt';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIn0=
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
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../generated/abis/lightning"), exports);
18
+ __exportStar(require("./deployments"), exports);
19
+ __exportStar(require("./ecies"), exports);
20
+ __exportStar(require("./hadu"), exports);
21
+ __exportStar(require("./lightning"), exports);
22
+ __exportStar(require("./reencrypt"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTRDO0FBRTVDLGdEQUE4QjtBQUM5QiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDhDQUE0QjtBQUM1Qiw4Q0FBNEIifQ==
@@ -1,18 +1,21 @@
1
- import { hexToBytes } from 'viem';
2
- import { baseSepolia } from 'viem/chains';
3
- import { HexString, parseAddress } from '../binary';
4
- import { encryptionSchemes } from '../encryption';
5
- import { lightningDeployments } from '../generated/lightning';
6
- import { localNodeLightningConfig } from '../generated/local-node';
7
- import { handleTypes } from '../handle';
8
- import { parse } from '../schema';
9
- import { decodeSecp256k1PublicKey, generateSecp256k1Keypair, getEciesEncryptor } from './ecies';
10
- import { getKmsClient, incoLiteReencryptor } from './reencrypt';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lightning = void 0;
4
+ const viem_1 = require("viem");
5
+ const chains_1 = require("viem/chains");
6
+ const binary_1 = require("../binary");
7
+ const encryption_1 = require("../encryption");
8
+ const lightning_1 = require("../generated/lightning");
9
+ const local_node_1 = require("../generated/local-node");
10
+ const handle_1 = require("../handle");
11
+ const schema_1 = require("../schema");
12
+ const ecies_1 = require("./ecies");
13
+ const reencrypt_1 = require("./reencrypt");
11
14
  /**
12
15
  * The Lightning class provides a convenient way to interact with the Inco Lightning contract by binding to a specific
13
16
  * deployment.
14
17
  */
15
- export class Lightning {
18
+ class Lightning {
16
19
  _deployment;
17
20
  covalidatorUrl;
18
21
  executorAddress;
@@ -24,14 +27,14 @@ export class Lightning {
24
27
  constructor(_deployment, covalidatorUrl) {
25
28
  this._deployment = _deployment;
26
29
  this.covalidatorUrl = covalidatorUrl;
27
- this.executorAddress = parseAddress(_deployment.executorAddress);
28
- this.eciesPublicKey = parse(HexString, _deployment.eciesPublicKey);
30
+ this.executorAddress = (0, binary_1.parseAddress)(_deployment.executorAddress);
31
+ this.eciesPublicKey = (0, schema_1.parse)(binary_1.HexString, _deployment.eciesPublicKey);
29
32
  this.chainId = BigInt(_deployment.chainId);
30
- this.ephemeralKeypair = generateSecp256k1Keypair();
31
- this.kmsClient = getKmsClient(covalidatorUrl);
32
- this.encryptor = getEciesEncryptor({
33
- scheme: encryptionSchemes.ecies,
34
- pubKeyA: decodeSecp256k1PublicKey(hexToBytes(parse(HexString, _deployment.eciesPublicKey))),
33
+ this.ephemeralKeypair = (0, ecies_1.generateSecp256k1Keypair)();
34
+ this.kmsClient = (0, reencrypt_1.getKmsClient)(covalidatorUrl);
35
+ this.encryptor = (0, ecies_1.getEciesEncryptor)({
36
+ scheme: encryption_1.encryptionSchemes.ecies,
37
+ pubKeyA: (0, ecies_1.decodeSecp256k1PublicKey)((0, viem_1.hexToBytes)((0, schema_1.parse)(binary_1.HexString, _deployment.eciesPublicKey))),
35
38
  privKeyB: this.ephemeralKeypair,
36
39
  });
37
40
  }
@@ -39,7 +42,7 @@ export class Lightning {
39
42
  * Get a Lightning instance bound to the latest Lightning deployment for the Base Sepolia testnet.
40
43
  */
41
44
  static baseSepoliaTestnet() {
42
- return Lightning.latest('testnet', baseSepolia.id);
45
+ return Lightning.latest('testnet', chains_1.baseSepolia.id);
43
46
  }
44
47
  /**
45
48
  * Get a Lightning instance bound to our canonical Anvil-based test node and test Covalidator node
@@ -52,7 +55,7 @@ export class Lightning {
52
55
  *
53
56
  */
54
57
  static localNode() {
55
- return Lightning.custom(localNodeLightningConfig);
58
+ return Lightning.custom(local_node_1.localNodeLightningConfig);
56
59
  }
57
60
  /**
58
61
  * Get a Lightning deployment by name or executor address on a particular chain.
@@ -61,8 +64,8 @@ export class Lightning {
61
64
  */
62
65
  static at(id) {
63
66
  const deployment = this.isIdByName(id)
64
- ? lightningDeployments.find((d) => d.name === id.name && d.chainId === id.chainId)
65
- : lightningDeployments.find((d) => d.executorAddress === id.executorAddress && d.chainId === id.chainId);
67
+ ? lightning_1.lightningDeployments.find((d) => d.name === id.name && d.chainId === id.chainId)
68
+ : lightning_1.lightningDeployments.find((d) => d.executorAddress === id.executorAddress && d.chainId === id.chainId);
66
69
  if (!deployment) {
67
70
  throw new Error(`No deployment found for ${JSON.stringify(id)}`);
68
71
  }
@@ -86,7 +89,7 @@ export class Lightning {
86
89
  */
87
90
  static latestDeployment(pepper, chainId) {
88
91
  // Deployments are sorted so we are guaranteed to get the latest first
89
- const latestByPepper = lightningDeployments.find((d) => d.pepper === pepper && d.chainId === chainId);
92
+ const latestByPepper = lightning_1.lightningDeployments.find((d) => d.pepper === pepper && d.chainId === chainId);
90
93
  if (!latestByPepper) {
91
94
  // This should not actually happen provided this file compiles since we are extracting the available peppers
92
95
  // from the const itself
@@ -125,8 +128,8 @@ export class Lightning {
125
128
  context: {
126
129
  hostChainId: this.chainId,
127
130
  aclAddress: this.executorAddress,
128
- userAddress: parseAddress(accountAddress),
129
- contractAddress: parseAddress(dappAddress),
131
+ userAddress: (0, binary_1.parseAddress)(accountAddress),
132
+ contractAddress: (0, binary_1.parseAddress)(dappAddress),
130
133
  },
131
134
  });
132
135
  return ciphertext.value;
@@ -139,7 +142,7 @@ export class Lightning {
139
142
  * @param walletClient the wallet client to use for signing the reencrypt request.
140
143
  */
141
144
  getReencryptor(walletClient) {
142
- return incoLiteReencryptor({
145
+ return (0, reencrypt_1.incoLiteReencryptor)({
143
146
  walletClient,
144
147
  kmsConnectRpcEndpointOrClient: this.kmsClient,
145
148
  chainId: this.chainId,
@@ -159,15 +162,15 @@ export class Lightning {
159
162
  static plaintextFromValue(value) {
160
163
  if (typeof value === 'boolean') {
161
164
  return {
162
- scheme: encryptionSchemes.ecies,
163
- type: handleTypes.ebool,
165
+ scheme: encryption_1.encryptionSchemes.ecies,
166
+ type: handle_1.handleTypes.ebool,
164
167
  value: value,
165
168
  };
166
169
  }
167
170
  else if (typeof value === 'bigint' || typeof value === 'number') {
168
171
  return {
169
- scheme: encryptionSchemes.ecies,
170
- type: handleTypes.euint256,
172
+ scheme: encryption_1.encryptionSchemes.ecies,
173
+ type: handle_1.handleTypes.euint256,
171
174
  value: BigInt(value),
172
175
  };
173
176
  }
@@ -176,4 +179,5 @@ export class Lightning {
176
179
  }
177
180
  }
178
181
  }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpdGUvbGlnaHRuaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBa0IsVUFBVSxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBVyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdELE9BQU8sRUFBZSxpQkFBaUIsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxTQUFTLENBQUM7QUFDbEgsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQXdDaEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFVRDtJQUNEO0lBVkYsZUFBZSxDQUFVO0lBQ3pCLGNBQWMsQ0FBWTtJQUMxQixPQUFPLENBQVM7SUFFZixTQUFTLENBQXlCO0lBQ2xDLGdCQUFnQixDQUFtQjtJQUNuQyxTQUFTLENBQTRCO0lBRXRELFlBQ21CLFdBQWMsRUFDZixjQUFzQjtRQURyQixnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUNmLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBRXRDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsY0FBYyxHQUFHLEtB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
182
+ exports.Lightning = Lightning;
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpdGUvbGlnaHRuaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtCQUEyRTtBQUMzRSx3Q0FBMEM7QUFDMUMsc0NBQTZEO0FBQzdELDhDQUF1RjtBQUV2RixzREFBOEQ7QUFDOUQsd0RBQW1FO0FBQ25FLHNDQUF3QztBQUV4QyxzQ0FBa0M7QUFDbEMsbUNBQWtIO0FBQ2xILDJDQUFnRTtBQXdDaEU7OztHQUdHO0FBQ0gsTUFBYSxTQUFTO0lBVUQ7SUFDRDtJQVZGLGVBQWUsQ0FBVTtJQUN6QixjQUFjLENBQVk7SUFDMUIsT0FBTyxDQUFTO0lBRWYsU0FBUyxDQUF5QjtJQUNsQyxnQkFBZ0IsQ0FBbUI7SUFDbkMsU0FBUyxDQUE0QjtJQUV0RCxZQUNtQixXQUFjLEVBQ2YsY0FBc0I7UUFEckIsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUV0QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUEscUJBQVksRUFBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFBLGNBQUssRUFBQyxrQkFBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUEsZ0NBQXdCLEdBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEseUJBQWlCLEVBQUM7WUFDakMsTUFBTSxFQUFFLDhCQUFpQixDQUFDLEtBQUs7WUFDL0IsT0FBTyxFQUFFLElBQUEsZ0NBQXdCLEVBQUMsSUFBQSxpQkFBVSxF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