@inco/js 0.1.35 → 0.1.37

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 (108) hide show
  1. package/README.md +20 -0
  2. package/dist/binary.js +32 -47
  3. package/dist/chain.js +7 -11
  4. package/dist/encryption/encryption.js +54 -62
  5. package/dist/encryption/index.cjs +24706 -0
  6. package/dist/encryption/index.js +2 -18
  7. package/dist/encryption/index.mjs +25787 -0
  8. package/dist/fhevm/fhe-environment.js +6 -9
  9. package/dist/fhevm/fhevm.js +34 -40
  10. package/dist/fhevm/index.cjs +87 -0
  11. package/dist/fhevm/index.js +2 -18
  12. package/dist/fhevm/index.mjs +90 -0
  13. package/dist/fhevm/reencrypt.js +33 -37
  14. package/dist/fhevm/tfhe.js +79 -87
  15. package/dist/fhevm/types.js +13 -16
  16. package/dist/generated/abis/addTwo.js +2 -5
  17. package/dist/generated/abis/inco-fhevm.js +47 -50
  18. package/dist/generated/abis/index.cjs +12493 -0
  19. package/dist/generated/abis/index.js +3 -19
  20. package/dist/generated/abis/index.mjs +12496 -0
  21. package/dist/generated/abis/lightning.d.ts +1361 -115
  22. package/dist/generated/abis/lightning.js +1043 -140
  23. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +22 -25
  24. package/dist/generated/es/cosmos/msg/v1/msg_pb.js +6 -9
  25. package/dist/generated/es/cosmos_proto/cosmos_pb.js +18 -21
  26. package/dist/generated/es/google/api/annotations_pb.js +6 -9
  27. package/dist/generated/es/google/api/http_pb.js +6 -9
  28. package/dist/generated/es/inco/fhe/v1/events_pb.js +7 -10
  29. package/dist/generated/es/inco/fhe/v1/genesis_pb.js +12 -15
  30. package/dist/generated/es/inco/fhe/v1/query_pb.js +25 -28
  31. package/dist/generated/es/inco/fhe/v1/tx_pb.js +25 -28
  32. package/dist/generated/es/inco/fhe/v1/types_pb.js +19 -22
  33. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +11 -14
  34. package/dist/generated/es/inco/kms/lite/v1/types_pb.js +10 -13
  35. package/dist/generated/es/inco/preflight/v1/genesis_pb.js +6 -9
  36. package/dist/generated/es/inco/preflight/v1/query_pb.js +11 -14
  37. package/dist/generated/es/inco/preflight/v1/tx_pb.js +13 -16
  38. package/dist/generated/es/inco/preflight/v1/types_pb.js +8 -11
  39. package/dist/generated/es/kms/base_pb.js +35 -38
  40. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +43 -46
  41. package/dist/generated/fhe-environments.js +2 -5
  42. package/dist/generated/lightning.d.ts +21 -0
  43. package/dist/generated/lightning.js +24 -5
  44. package/dist/generated/local-node.js +2 -5
  45. package/dist/generated/ts/amino/amino.js +2 -5
  46. package/dist/generated/ts/cometbft/abci/v1/types.js +547 -563
  47. package/dist/generated/ts/cometbft/crypto/v1/keys.js +7 -10
  48. package/dist/generated/ts/cometbft/crypto/v1/proof.js +33 -36
  49. package/dist/generated/ts/cometbft/types/v1/params.js +95 -98
  50. package/dist/generated/ts/cometbft/types/v1/validator.js +40 -45
  51. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +25 -28
  52. package/dist/generated/ts/cosmos/msg/v1/msg.js +2 -5
  53. package/dist/generated/ts/cosmos_proto/cosmos.js +15 -20
  54. package/dist/generated/ts/gogoproto/gogo.js +2 -5
  55. package/dist/generated/ts/google/api/annotations.js +2 -5
  56. package/dist/generated/ts/google/api/http.js +30 -33
  57. package/dist/generated/ts/google/protobuf/descriptor.js +468 -506
  58. package/dist/generated/ts/google/protobuf/duration.js +7 -10
  59. package/dist/generated/ts/google/protobuf/timestamp.js +7 -10
  60. package/dist/generated/ts/google/protobuf/wrappers.js +39 -42
  61. package/dist/generated/ts/inco/abci/v1/types.js +13 -16
  62. package/dist/generated/ts/inco/fhe/module/v1/module.js +7 -10
  63. package/dist/generated/ts/inco/fhe/v1/events.js +32 -35
  64. package/dist/generated/ts/inco/fhe/v1/genesis.js +127 -130
  65. package/dist/generated/ts/inco/fhe/v1/query.js +160 -163
  66. package/dist/generated/ts/inco/fhe/v1/tx.js +150 -153
  67. package/dist/generated/ts/inco/fhe/v1/types.js +70 -75
  68. package/dist/generated/ts/inco/originchain/module/v1/module.js +7 -10
  69. package/dist/generated/ts/inco/originchain/v1/abci.js +34 -37
  70. package/dist/generated/ts/inco/originchain/v1/events.js +11 -14
  71. package/dist/generated/ts/inco/originchain/v1/genesis.js +13 -16
  72. package/dist/generated/ts/inco/originchain/v1/query.js +41 -44
  73. package/dist/generated/ts/inco/originchain/v1/tx.js +24 -27
  74. package/dist/generated/ts/inco/originchain/v1/types.js +11 -14
  75. package/dist/generated/ts/inco/preflight/module/v1/module.js +7 -10
  76. package/dist/generated/ts/inco/preflight/v1/genesis.js +27 -30
  77. package/dist/generated/ts/inco/preflight/v1/query.js +41 -44
  78. package/dist/generated/ts/inco/preflight/v1/tx.js +53 -56
  79. package/dist/generated/ts/inco/preflight/v1/types.js +38 -41
  80. package/dist/handle.js +26 -33
  81. package/dist/index.cjs +24883 -0
  82. package/dist/index.js +6 -22
  83. package/dist/index.mjs +25964 -0
  84. package/dist/l1/client.js +19 -23
  85. package/dist/l1/index.js +3 -19
  86. package/dist/l1/preflight.js +13 -16
  87. package/dist/lite/deployments.js +9 -13
  88. package/dist/lite/ecies.js +37 -48
  89. package/dist/lite/hadu.js +21 -26
  90. package/dist/lite/index.cjs +52789 -0
  91. package/dist/lite/index.js +7 -23
  92. package/dist/lite/index.mjs +71691 -0
  93. package/dist/lite/lightning.js +31 -35
  94. package/dist/lite/reencrypt.d.ts +4 -4
  95. package/dist/lite/reencrypt.js +33 -44
  96. package/dist/local/index.cjs +24479 -0
  97. package/dist/local/index.js +2 -18
  98. package/dist/local/index.mjs +42864 -0
  99. package/dist/local/local-node.js +21 -25
  100. package/dist/reencryption/eip712.js +18 -21
  101. package/dist/reencryption/index.cjs +24681 -0
  102. package/dist/reencryption/index.js +3 -19
  103. package/dist/reencryption/index.mjs +24684 -0
  104. package/dist/reencryption/types.d.ts +6 -1
  105. package/dist/reencryption/types.js +1 -2
  106. package/dist/schema.js +6 -10
  107. package/dist/viem.js +7 -11
  108. package/package.json +1 -1
package/dist/l1/client.js CHANGED
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createL1Wallet = createL1Wallet;
4
- exports.createL1Client = createL1Client;
5
- const connect_1 = require("@connectrpc/connect");
6
- const connect_node_1 = require("@connectrpc/connect-node");
7
- const proto_signing_1 = require("@cosmjs/proto-signing");
8
- const stargate_1 = require("@cosmjs/stargate");
9
- const fhe = require("../generated/es/inco/fhe/v1/query_pb");
10
- const preflight = require("../generated/es/inco/preflight/v1/query_pb");
11
- const tx_1 = require("../generated/ts/inco/fhe/v1/tx");
12
- const tx_2 = require("../generated/ts/inco/preflight/v1/tx");
1
+ import { createClient } from '@connectrpc/connect';
2
+ import { createGrpcTransport } from '@connectrpc/connect-node';
3
+ import { DirectSecp256k1HdWallet, Registry } from '@cosmjs/proto-signing';
4
+ import { defaultRegistryTypes as defaultStargateTypes, SigningStargateClient, } from '@cosmjs/stargate';
5
+ import * as fhe from '../generated/es/inco/fhe/v1/query_pb';
6
+ import * as preflight from '../generated/es/inco/preflight/v1/query_pb';
7
+ import { MsgAddCovalidator, MsgAddFheEnv } from '../generated/ts/inco/fhe/v1/tx';
8
+ import { MsgRegisterInput } from '../generated/ts/inco/preflight/v1/tx';
13
9
  // We could have extracted these strings from types inside
14
10
  // ../generated/es/fhe/v1/tx_pb, but it seems more readable to hardcode
15
11
  // them here.
@@ -23,9 +19,9 @@ const msgAddFheEnvTypeUrl = '/inco.fhe.v1.MsgAddFheEnv';
23
19
  // If we want to support more messages for strong TS typings, we need to add
24
20
  // them here.
25
21
  const supportedMsgs = {
26
- [msgRegisterInputTypeUrl]: tx_2.MsgRegisterInput,
27
- [msgAddCovalidatorTypeUrl]: tx_1.MsgAddCovalidator,
28
- [msgAddFheEnvTypeUrl]: tx_1.MsgAddFheEnv,
22
+ [msgRegisterInputTypeUrl]: MsgRegisterInput,
23
+ [msgAddCovalidatorTypeUrl]: MsgAddCovalidator,
24
+ [msgAddFheEnvTypeUrl]: MsgAddFheEnv,
29
25
  };
30
26
  // The list of supported queries on the Inco L1.
31
27
  //
@@ -35,22 +31,22 @@ const supportedQueries = {
35
31
  fhe,
36
32
  preflight,
37
33
  };
38
- async function createL1Wallet(mnemonic) {
39
- return await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix: 'inco' });
34
+ export async function createL1Wallet(mnemonic) {
35
+ return await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix: 'inco' });
40
36
  }
41
37
  // Creates a Cosmos L1 client using CosmJS.
42
- async function createL1Client({ cometRpcEndpoint, grpcEndpoint, wallet, waitTimeForTxInclusion = 10_000, }) {
38
+ export async function createL1Client({ cometRpcEndpoint, grpcEndpoint, wallet, waitTimeForTxInclusion = 10_000, }) {
43
39
  // Manual registry creation is required to register custom Msg types.
44
- const registry = new proto_signing_1.Registry(stargate_1.defaultRegistryTypes);
40
+ const registry = new Registry(defaultStargateTypes);
45
41
  Object.entries(supportedMsgs).forEach(([typeUrl, message]) => {
46
42
  // @ts-ignore TODO: Fix this typing issue. This was introcued in:
47
43
  // https://github.com/Inco-fhevm/inco-monorepo/pull/251
48
44
  registry.register(typeUrl, message);
49
45
  });
50
46
  // Create one shared gRPC transport for all queries.
51
- const transport = (0, connect_node_1.createGrpcTransport)({ baseUrl: grpcEndpoint });
52
- const query = Object.fromEntries(Object.entries(supportedQueries).map(([k, v]) => [k, (0, connect_1.createClient)(v.Query, transport)]));
53
- const signingClient = await stargate_1.SigningStargateClient.connectWithSigner(cometRpcEndpoint, wallet, {
47
+ const transport = createGrpcTransport({ baseUrl: grpcEndpoint });
48
+ const query = Object.fromEntries(Object.entries(supportedQueries).map(([k, v]) => [k, createClient(v.Query, transport)]));
49
+ const signingClient = await SigningStargateClient.connectWithSigner(cometRpcEndpoint, wallet, {
54
50
  registry,
55
51
  });
56
52
  // We currently assume that the Inco chain has 0 fees and hardcode the default gas limit.
@@ -94,4 +90,4 @@ async function createL1Client({ cometRpcEndpoint, grpcEndpoint, wallet, waitTime
94
90
  },
95
91
  };
96
92
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVGQSx3Q0FFQztBQUdELHdDQXdFQztBQXBLRCxpREFBMkQ7QUFDM0QsMkRBQStEO0FBQy9ELHlEQUE4RjtBQUM5RiwrQ0FLMEI7QUFDMUIsNERBQTREO0FBQzVELHdFQUF3RTtBQUN4RSx1REFBaUY7QUFDakYsNkRBQW9GO0FBZXBGLDBEQUEwRDtBQUMxRCx1RUFBdUU7QUFDdkUsYUFBYTtBQUNiLE1BQU0sdUJBQXVCLEdBQUcscUNBQXFDLENBQUM7QUFDdEUsTUFBTSx3QkFBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNsRSxNQUFNLG1CQUFtQixHQUFHLDJCQUEyQixDQUFDO0FBRXhELDRFQUE0RTtBQUM1RSx3RUFBd0U7QUFDeEUsc0JBQXNCO0FBQ3RCLEVBQUU7QUFDRiw0RUFBNEU7QUFDNUUsYUFBYTtBQUNiLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxxQkFBZ0I7SUFDM0MsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLHNCQUFpQjtJQUM3QyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsaUJBQVk7Q0FDcEMsQ0FBQztBQU1GLGdEQUFnRDtBQUNoRCxFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLHlCQUF5QjtBQUN6QixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLEdBQUc7SUFDSCxTQUFTO0NBQ1YsQ0FBQztBQThCSyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQWdCO0lBQ25ELE9BQU8sTUFBTSx1Q0FBdUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUVELDJDQUEyQztBQUNwQyxLQUFLLFVBQVUsY0FBYyxDQUFDLEVBQ25DLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osTUFBTSxFQUNOLHNCQUFzQixH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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBc0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQ0wsb0JBQW9CLElBQUksb0JBQW9CLEVBRTVDLHFCQUFxQixHQUV0QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sS0FBSyxHQUFHLE1BQU0sc0NBQXNDLENBQUM7QUFDNUQsT0FBTyxLQUFLLFNBQVMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakYsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFlcEYsMERBQTBEO0FBQzFELHVFQUF1RTtBQUN2RSxhQUFhO0FBQ2IsTUFBTSx1QkFBdUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUN0RSxNQUFNLHdCQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQ2xFLE1BQU0sbUJBQW1CLEdBQUcsMkJBQTJCLENBQUM7QUFFeEQsNEVBQTRFO0FBQzVFLHdFQUF3RTtBQUN4RSxzQkFBc0I7QUFDdEIsRUFBRTtBQUNGLDRFQUE0RTtBQUM1RSxhQUFhO0FBQ2IsTUFBTSxhQUFhLEdBQUc7SUFDcEIsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLGdCQUFnQjtJQUMzQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsaUJBQWlCO0lBQzdDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxZQUFZO0NBQ3BDLENBQUM7QUFNRixnREFBZ0Q7QUFDaEQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx5QkFBeUI7QUFDekIs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
package/dist/l1/index.js CHANGED
@@ -1,19 +1,3 @@
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("./client"), exports);
18
- __exportStar(require("./preflight"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbDEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw4Q0FBNEIifQ==
1
+ export * from './client';
2
+ export * from './preflight';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbDEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUMifQ==
@@ -1,20 +1,17 @@
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");
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';
10
7
  // Do not export this value, only allow parsing of Handle to happen here
11
- const Handle = binary_1.Bytes32.pipe(effect_1.Schema.brand('Handle'));
8
+ const Handle = Bytes32.pipe(Schema.brand('Handle'));
12
9
  // Sends a preflight input to the Cosmos L1 chain using CosmJS.
13
- async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerAddress, }) {
14
- const l1Client = await (0, client_1.createL1Client)({ cometRpcEndpoint, wallet, grpcEndpoint });
10
+ export async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerAddress, }) {
11
+ const l1Client = await createL1Client({ cometRpcEndpoint, wallet, grpcEndpoint });
15
12
  return {
16
13
  async send({ prehandle, ciphertext, context }) {
17
- const msg = tx_1.MsgRegisterInput.create({
14
+ const msg = MsgRegisterInput.create({
18
15
  prehandle: Buffer.from(prehandle.replace(/^0x/, ''), 'hex'),
19
16
  signer: signerAddress,
20
17
  ciphertext: Buffer.from(ciphertext.value, 'hex'),
@@ -34,9 +31,9 @@ async function cosmJSPreflight({ cometRpcEndpoint, grpcEndpoint, wallet, signerA
34
31
  // 2. The FheEnv must have been created in the on-chain registry. Only the
35
32
  // council can add new FheEnvs to the registry.
36
33
  const result = await l1Client.sendTx(signerAddress, '/inco.preflight.v1.MsgRegisterInput', msg);
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) };
34
+ const handle = computeHandle({ prehandle: bytesFromHexString(prehandle), context });
35
+ return { transactionHash: result.transactionHash, handle: parse(Handle, handle) };
39
36
  },
40
37
  };
41
38
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL3ByZWZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdDQSwwQ0FvQ0M7QUFwRUQsbUNBQWdDO0FBQ2hDLHNDQUF3RDtBQUV4RCw2REFBd0U7QUFDeEUsc0NBQTBDO0FBQzFDLHNDQUFrQztBQUNsQyxxQ0FBNkQ7QUFFN0Qsd0VBQXdFO0FBQ3hFLE1BQU0sTUFBTSxHQUFHLGdCQUFPLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQXNCcEQsK0RBQStEO0FBQ3hELEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixNQUFNLEVBQ04sYUFBYSxHQUM0QjtJQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdUJBQWMsRUFBQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRWxGLE9BQU87UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQW9CO1lBQzdELE1BQU0sR0FBRyxHQUFHLHFCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDbEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUMzRCxNQUFNLEVBQUUsYUFBYTtnQkFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ2hELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDakQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ3hELDREQUE0RDtvQkFDNUQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQy9DLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVc7aUJBQzFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsNkVBQTZFO1lBQzdFLEVBQUU7WUFDRixzRUFBc0U7WUFDdEUseUVBQXlFO1lBQ3pFLDREQUE0RDtZQUM1RCwwRUFBMEU7WUFDMUUsK0NBQStDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFaEcsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBYSxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUEsMkJBQWtCLEVBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUEsY0FBSyxFQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxL3ByZWZsaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sVUFBVSxDQUFDO0FBRTdELHdFQUF3RTtBQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQXNCcEQsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osTUFBTSxFQUNOLGFBQWEsR0FDNEI7SUFDekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUVsRixPQUFPO1FBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFvQjtZQUM3RCxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQztnQkFDM0QsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO2dCQUNoRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2pELFlBQVksRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN4RCw0REFBNEQ7b0JBQzVELFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUMvQyxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXO2lCQUMxQzthQUNGLENBQUMsQ0FBQztZQUVILDZFQUE2RTtZQUM3RSxFQUFFO1lBQ0Ysc0VBQXNFO1lBQ3RFLHlFQUF5RTtZQUN6RSw0REFBNEQ7WUFDNUQsMEVBQTBFO1lBQzFFLCtDQUErQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLHFDQUFxQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRWhHLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,21 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getActiveLightningDeployment = getActiveLightningDeployment;
4
- exports.getLightningDeployments = getLightningDeployments;
5
1
  // Avoid inporting any other dependencies in this file to avoid serialisation issues downstream in infracto
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);
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);
11
7
  if (!deployments?.length) {
12
8
  throw new Error(`No deployments found for chain ${chain}`);
13
9
  }
14
10
  return deployments[0];
15
11
  }
16
- function getLightningDeployments(chainId) {
17
- const supportedChain = (0, chain_1.getSupportedChain)(chainId);
18
- const deployments = lightning_1.lightningDeployments.filter((d) => d.chainId === supportedChain.id);
12
+ export function getLightningDeployments(chainId) {
13
+ const supportedChain = getSupportedChain(chainId);
14
+ const deployments = lightningDeployments.filter((d) => d.chainId === supportedChain.id);
19
15
  return deployments ?? [];
20
16
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9kZXBsb3ltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVNBLG9FQU9DO0FBRUQsMERBSUM7QUF0QkQsMkdBQTJHO0FBQzNHLG9DQUF1RDtBQUN2RCxzREFBOEQ7QUFPOUQsU0FBZ0IsNEJBQTRCLENBQUMsS0FBZTtJQUMxRCxNQUFNLGNBQWMsR0FBRyxJQUFBLHlCQUFpQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLGdDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsT0FBaUI7SUFDdkQsTUFBTSxjQUFjLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxnQ0FBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLE9BQU8sV0FBVyxJQUFJLEVBQUUsQ0FBQztBQUMzQixDQUFDIn0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9kZXBsb3ltZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyR0FBMkc7QUFDM0csT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTzlELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxLQUFlO0lBQzFELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWlCO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEYsT0FBTyxXQUFXLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUMifQ==
@@ -1,26 +1,15 @@
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');
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');
19
8
  // Convert an ec.KeyPair from the 'elliptic' package (assumed to have geen generated
20
9
  // with the secp256k1 curve) to our Secp256k1Keypair type.
21
- function toSecp256k1Keypair(kp) {
10
+ export function toSecp256k1Keypair(kp) {
22
11
  return {
23
- scheme: encryption_1.encryptionSchemes.ecies,
12
+ scheme: encryptionSchemes.ecies,
24
13
  kp,
25
14
  encodePublicKey() {
26
15
  return new Uint8Array(kp.getPublic().encode('array', false));
@@ -28,15 +17,15 @@ function toSecp256k1Keypair(kp) {
28
17
  };
29
18
  }
30
19
  // Generate a new ephemeral keypair for reencryption.
31
- function generateSecp256k1Keypair() {
20
+ export function generateSecp256k1Keypair() {
32
21
  return toSecp256k1Keypair(secp256k1.genKeyPair());
33
22
  }
34
23
  // EncodePublicKey encodes an ECIES public key it's 33-byte compressed form.
35
- function encodeSecp256k1PublicKey(pub) {
24
+ export function encodeSecp256k1PublicKey(pub) {
36
25
  return new Uint8Array(pub.encodeCompressed('array'));
37
26
  }
38
27
  // DecodeSecp256k1PublicKey decodes a 33-byte compressed ECIES public key.
39
- function decodeSecp256k1PublicKey(pubKeyCompressed) {
28
+ export function decodeSecp256k1PublicKey(pubKeyCompressed) {
40
29
  return secp256k1.keyFromPublic(pubKeyCompressed, 'array').getPublic();
41
30
  }
42
31
  // DecodeSecp256k1PrivateKey returns a ECIES secp256k1 private key based on the provided byte slice which is
@@ -59,50 +48,50 @@ function decodeSecp256k1PublicKey(pubKeyCompressed) {
59
48
  // We don't include any curve parameters or ECIES params, as they are assumed to
60
49
  // be the ones in ecies.ECIES_AES128_SHA256 from go-ethereum.
61
50
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.0/crypto/ecies/params.go#L76-L82
62
- function decodeSecp256k1PrivateKey(privKey) {
51
+ export function decodeSecp256k1PrivateKey(privKey) {
63
52
  return toSecp256k1Keypair(secp256k1.keyFromPrivate(privKey, 'array'));
64
53
  }
65
54
  // Given a (usually 3rd-party known) public key, called `pubKeyA`, and an ephemeral
66
55
  // private key (usually generated locally), called `privKeyB`, encrypt the `msg`
67
56
  // using ECIES, with geth's parameters:
68
57
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
69
- async function encrypt(pubKeyA, plaintext, privKeyB) {
58
+ export async function encrypt(pubKeyA, plaintext, privKeyB) {
70
59
  const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
71
60
  const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
72
- const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, Buffer.from(plaintext), {
61
+ const ct = await eciesEncrypt(pubKeyABuffer, Buffer.from(plaintext), {
73
62
  ephemPrivateKey: privKeyBBuffer,
74
63
  });
75
64
  return new Uint8Array(ct);
76
65
  }
77
- function getEciesEncryptor({ pubKeyA, privKeyB }) {
66
+ export function getEciesEncryptor({ pubKeyA, privKeyB }) {
78
67
  const pubKeyABuffer = Buffer.from(pubKeyA.encode('array', false));
79
68
  const privKeyBBuffer = privKeyB.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
80
69
  return async ({ plaintext, context, }) => {
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`);
70
+ if (plaintext.scheme !== encryptionSchemes.ecies) {
71
+ throw new Error(`Plaintext with scheme ${getEncryptionSchemeName(plaintext.scheme)} cannot be encrypted with ECIES`);
83
72
  }
84
- const ptBuf = Buffer.from((0, hadu_1.encodeInput)({ plaintext, context }));
85
- const ct = await (0, ecies_geth_1.encrypt)(pubKeyABuffer, ptBuf, {
73
+ const ptBuf = Buffer.from(encodeInput({ plaintext, context }));
74
+ const ct = await eciesEncrypt(pubKeyABuffer, ptBuf, {
86
75
  ephemPrivateKey: privKeyBBuffer,
87
76
  });
88
- const prehandle = (0, handle_1.computePrehandle)({
77
+ const prehandle = computePrehandle({
89
78
  ciphertext: ct,
90
79
  handleType: plaintext.type,
91
80
  indexHandle: 0,
92
81
  handleVersion: 0,
93
82
  });
94
- const handle = (0, handle_1.computeHandle)({
83
+ const handle = computeHandle({
95
84
  prehandle,
96
85
  context: context,
97
86
  });
98
87
  return {
99
- prehandle: (0, binary_1.asBytes32)(prehandle),
100
- handle: (0, binary_1.asBytes32)(handle),
88
+ prehandle: asBytes32(prehandle),
89
+ handle: asBytes32(handle),
101
90
  context,
102
91
  ciphertext: {
103
- scheme: encryption_1.encryptionSchemes.ecies,
92
+ scheme: encryptionSchemes.ecies,
104
93
  type: plaintext.type,
105
- value: (0, binary_1.bytesToHex)(ct),
94
+ value: bytesToHex(ct),
106
95
  },
107
96
  };
108
97
  };
@@ -110,26 +99,26 @@ function getEciesEncryptor({ pubKeyA, privKeyB }) {
110
99
  // Given an ephemeral private key, called `privKeyA`, and a ciphertext `ct`,
111
100
  // decrypt the ciphertext using ECIES, with geth's parameters:
112
101
  // ref: https://github.com/ethereum/go-ethereum/blob/v1.15.2/crypto/ecies/ecies.go
113
- async function decrypt(privKeyA, ciphertext) {
102
+ export async function decrypt(privKeyA, ciphertext) {
114
103
  const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
115
- const pt = await (0, ecies_geth_1.decrypt)(privKeyABuffer, Buffer.from(ciphertext));
104
+ const pt = await eciesDecrypt(privKeyABuffer, Buffer.from(ciphertext));
116
105
  return new Uint8Array(pt);
117
106
  }
118
- function getEciesDecryptor({ privKeyA }) {
107
+ export function getEciesDecryptor({ privKeyA }) {
119
108
  const privKeyABuffer = privKeyA.kp.getPrivate().toArrayLike(Buffer, 'be', 32);
120
109
  return async ({ scheme, type, value, envelope, }) => {
121
- if (scheme !== encryption_1.encryptionSchemes.ecies) {
122
- throw new Error(`Ciphertext with scheme ${(0, encryption_1.getEncryptionSchemeName)(scheme)} cannot be decrypted with ECIES`);
110
+ if (scheme !== encryptionSchemes.ecies) {
111
+ throw new Error(`Ciphertext with scheme ${getEncryptionSchemeName(scheme)} cannot be decrypted with ECIES`);
123
112
  }
124
- const ptBuf = await (0, ecies_geth_1.decrypt)(privKeyABuffer, (0, binary_1.bytesFromHexString)(value));
113
+ const ptBuf = await eciesDecrypt(privKeyABuffer, bytesFromHexString(value));
125
114
  // If envelope field is omitted then assume HADU, only with an explicit none envelope do we assume a raw byte
126
115
  // encoding as would be performed by the compute server
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);
116
+ if (envelope === ciphertextEnvelopes.none) {
117
+ const bigPt = bytes32ToBigint(Buffer.from(ptBuf).toString('hex'));
118
+ return bigintToPlaintext(scheme, type, bigPt);
130
119
  }
131
- const { plaintext } = (0, hadu_1.decodeInput)(ptBuf.toString());
120
+ const { plaintext } = decodeInput(ptBuf.toString());
132
121
  return plaintext;
133
122
  };
134
123
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9lY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlDQSxnREFRQztBQUdELDREQUVDO0FBR0QsNERBRUM7QUFHRCw0REFFQztBQXNCRCw4REFFQztBQU1ELDBCQWFDO0FBUUQsOENBcUNDO0FBS0QsMEJBS0M7QUFPRCw4Q0FxQkM7QUF0TEQsMkNBQThFO0FBQzlFLHVDQUFxQztBQUNyQyxzQ0FBdUY7QUFDdkYseURBYWtDO0FBQ2xDLHNDQUE0RDtBQUU1RCxpQ0FBa0Q7QUFFbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7QUFVdEMsb0ZBQW9GO0FBQ3BGLDBEQUEwRDtBQUMxRCxTQUFnQixrQkFBa0IsQ0FBQyxFQUFjO0lBQy9DLE9BQU87UUFDTCxNQUFNLEVBQUUsOEJBQWlCLENBQUMsS0FBSztRQUMvQixFQUFFO1FBQ0YsZUFBZTtZQUNiLE9BQU8sSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxxREFBcUQ7QUFDckQsU0FBZ0Isd0JBQXdCO0lBQ3RDLE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxTQUFnQix3QkFBd0IsQ0FBQyxHQUFvQjtJQUMzRCxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCwwRUFBMEU7QUFDMUUsU0FBZ0Isd0JBQXdCLENBQUMsZ0JBQTRCO0lBQ25FLE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxT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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGl0ZS9lY2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlFLE9BQU8sRUFBUyxFQUFFLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBSW5CLGlCQUFpQixFQUdqQix1QkFBdUIsR0FJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxELE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBVXRDLG9GQUFvRjtBQUNwRiwwREFBMEQ7QUFDMUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQWM7SUFDL0MsT0FBTztRQUNMLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1FBQy9CLEVBQUU7UUFDRixlQUFlO1lBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELHFEQUFxRDtBQUNyRCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxNQUFNLFVB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
package/dist/lite/hadu.js CHANGED
@@ -1,41 +1,36 @@
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");
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';
11
6
  // HADU stands for "Host Chain, ACL, DApp, and User" it maps to the InputContext type where the aclAddress
12
7
  // may actually be the singular IncoLite contract which embeds its own ACL
13
- exports.encryptionEnvelopes = {
8
+ export const encryptionEnvelopes = {
14
9
  none: 0,
15
10
  hadu: 1,
16
11
  };
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,
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,
24
19
  }));
25
- function encodeInput({ plaintext, context }) {
26
- return effect_1.Schema.encodeSync(exports.HaduInput)({
27
- envelope: exports.encryptionEnvelopes.hadu,
20
+ export function encodeInput({ plaintext, context }) {
21
+ return Schema.encodeSync(HaduInput)({
22
+ envelope: encryptionEnvelopes.hadu,
28
23
  scheme: plaintext.scheme,
29
24
  type: plaintext.type,
30
- plaintext: (0, encryption_1.plaintextToBytes32)(plaintext),
25
+ plaintext: plaintextToBytes32(plaintext),
31
26
  context,
32
27
  });
33
28
  }
34
- function decodeInput(json) {
35
- const { scheme, context, plaintext, type } = effect_1.Schema.decodeSync(exports.HaduInput)(json);
29
+ export function decodeInput(json) {
30
+ const { scheme, context, plaintext, type } = Schema.decodeSync(HaduInput)(json);
36
31
  return {
37
- plaintext: (0, encryption_1.bytes32ToPlaintext)(plaintext, scheme, type),
32
+ plaintext: bytes32ToPlaintext(plaintext, scheme, type),
38
33
  context,
39
34
  };
40
35
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFkdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saXRlL2hhZHUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUNBLGtDQVFDO0FBRUQsa0NBTUM7QUFyREQsbUNBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyxzQ0FBb0M7QUFDcEMsOENBTXVCO0FBQ3ZCLHNDQUF5QztBQUV6QywwR0FBMEc7QUFDMUcsMEVBQTBFO0FBRTdELFFBQUEsbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFLRSxRQUFBLGtCQUFrQixHQUFHLGVBQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLDJCQUFtQixDQUFDLENBQUMsQ0FBQztBQUUzRSxRQUFBLFNBQVMsR0FBRyxJQUFBLGtCQUFTLEVBQ2hDLGVBQU0sQ0FBQyxNQUFNLENBQUM7SUFDWixRQUFRLEVBQUUsZUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDbEQsTUFBTSxFQUFFLDZCQUFnQjtJQUN4QixPQUFPLEVBQUUscUJBQVk7SUFDckIsU0FBUyxFQUFFLGdCQUFPO0lBQ2xCLElBQUksRUFBRSw2QkFBZ0I7Q0FDdkIsQ0FBQyxDQUNILENBQUM7QUFJRixTQUFnQixXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUF3QjtJQUN0RSxPQUFPLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxJQUFJO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsU0FBUyxFQUFFLElBQUEsK0JBQWtCLEVBQUMsU0FBUyxDQUFDO1FBQ3hDLE9BQU87S0FDUixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLGVBQU0sQ0FBQyxVQUFVLENBQUMsaUJBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLE9BQU87UUFDTCxTQUFTLEVBQUUsSUFBQSwrQkFBa0IsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN0RCxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFkdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saXRlL2hhZHUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpDLDBHQUEwRztBQUMxRywwRUFBMEU7QUFFMUUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztDQUNDLENBQUM7QUFLWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNaLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNsRCxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLElBQUksRUFBRSxnQkFBZ0I7Q0FDdkIsQ0FBQyxDQUNILENBQUM7QUFJRixNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBd0I7SUFDdEUsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxPQUFPO0tBQ1IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRixPQUFPO1FBQ0wsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1FBQ3RELE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyJ9