@invisible-labs/sdk 0.8.0-devnet → 0.9.0-devnet

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 (46) hide show
  1. package/README.md +7 -0
  2. package/dist/.invisible-sdk-build-target.json +1 -1
  3. package/dist/{chunk-HJFMDMPY.js → chunk-6AKBRYKO.js} +3 -3
  4. package/dist/{chunk-HJFMDMPY.js.map → chunk-6AKBRYKO.js.map} +1 -1
  5. package/dist/{chunk-DCTYBUY3.js → chunk-AIKC2XQS.js} +3 -3
  6. package/dist/{chunk-DCTYBUY3.js.map → chunk-AIKC2XQS.js.map} +1 -1
  7. package/dist/{chunk-Y7AK6RBV.js → chunk-EOPZVOVP.js} +11 -6
  8. package/dist/chunk-EOPZVOVP.js.map +1 -0
  9. package/dist/{chunk-EBWTAXNT.js → chunk-EPWTRF5U.js} +3 -3
  10. package/dist/{chunk-EBWTAXNT.js.map → chunk-EPWTRF5U.js.map} +1 -1
  11. package/dist/{chunk-IG6JJFR2.js → chunk-HWRMSK7E.js} +8 -6
  12. package/dist/chunk-HWRMSK7E.js.map +1 -0
  13. package/dist/{chunk-MZKJU3UA.js → chunk-ISIWWGSR.js} +16 -6
  14. package/dist/chunk-ISIWWGSR.js.map +1 -0
  15. package/dist/{chunk-K67FTCQU.js → chunk-JNNVPZEU.js} +3 -3
  16. package/dist/chunk-JNNVPZEU.js.map +1 -0
  17. package/dist/{chunk-MPNVF727.js → chunk-QF5TSUQE.js} +178 -41
  18. package/dist/chunk-QF5TSUQE.js.map +1 -0
  19. package/dist/{chunk-QRN46R3F.js → chunk-RWKG7N7I.js} +10 -3
  20. package/dist/chunk-RWKG7N7I.js.map +1 -0
  21. package/dist/coordinator-DHL3AP7V.js +4 -0
  22. package/dist/{coordinator-E2TS6NR2.js.map → coordinator-DHL3AP7V.js.map} +1 -1
  23. package/dist/dkgWorker.js +1 -1
  24. package/dist/events.js +3 -3
  25. package/dist/frostRuntime-JESDHN6O.js +4 -0
  26. package/dist/{frostRuntime-6FTPKUCP.js.map → frostRuntime-JESDHN6O.js.map} +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.js +8 -8
  29. package/dist/lp.d.ts +10 -1
  30. package/dist/lp.js +178 -65
  31. package/dist/lp.js.map +1 -1
  32. package/dist/stats.js +1 -1
  33. package/dist/storage.js +2 -2
  34. package/dist/{types.generated-YhFu9ZBR.d.ts → types.generated-DrM2M4DZ.d.ts} +6 -2
  35. package/dist/user.d.ts +18 -9
  36. package/dist/user.js +86 -30
  37. package/dist/user.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-IG6JJFR2.js.map +0 -1
  40. package/dist/chunk-K67FTCQU.js.map +0 -1
  41. package/dist/chunk-MPNVF727.js.map +0 -1
  42. package/dist/chunk-MZKJU3UA.js.map +0 -1
  43. package/dist/chunk-QRN46R3F.js.map +0 -1
  44. package/dist/chunk-Y7AK6RBV.js.map +0 -1
  45. package/dist/coordinator-E2TS6NR2.js +0 -4
  46. package/dist/frostRuntime-6FTPKUCP.js +0 -4
@@ -1,4 +1,4 @@
1
- import { PolicyValidationError, AttestationError } from './chunk-QRN46R3F.js';
1
+ import { PolicyValidationError, AttestationError } from './chunk-RWKG7N7I.js';
2
2
 
3
3
  // src/core/solanaAddress.ts
4
4
  var SOLANA_PUBLIC_KEY_BYTE_LENGTH = 32;
@@ -119,5 +119,5 @@ function assertAttested(session) {
119
119
  }
120
120
 
121
121
  export { assertAttested, hex, lamports, publicKey, requestId, solanaAddressFromPublicKeyBytes };
122
- //# sourceMappingURL=chunk-EBWTAXNT.js.map
123
- //# sourceMappingURL=chunk-EBWTAXNT.js.map
122
+ //# sourceMappingURL=chunk-EPWTRF5U.js.map
123
+ //# sourceMappingURL=chunk-EPWTRF5U.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/solanaAddress.ts","../src/core/brands.ts","../src/session/guards.ts"],"names":[],"mappings":"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","file":"chunk-EBWTAXNT.js","sourcesContent":["import { PolicyValidationError } from \"./errors.js\";\n\nconst SOLANA_PUBLIC_KEY_BYTE_LENGTH = 32;\nconst SOLANA_ADDRESS_MIN_LENGTH = 32;\nconst SOLANA_ADDRESS_MAX_LENGTH = 44;\nconst BASE58_ALPHABET = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nconst BASE58_RADIX = BigInt(BASE58_ALPHABET.length);\nconst BASE58_LEADING_ZERO_CHAR = \"1\";\nconst BYTE_MASK = 0xffn;\nconst BYTE_RADIX_BITS = 8n;\nconst MAX_SOLANA_PUBLIC_KEY_VALUE = (1n << (BigInt(SOLANA_PUBLIC_KEY_BYTE_LENGTH) * 8n)) - 1n;\n\nconst BASE58_DIGITS = new Map<string, number>(\n Array.from(BASE58_ALPHABET, (character, index) => [character, index]),\n);\n\nexport function assertCanonicalSolanaAddress(value: unknown): asserts value is string {\n if (typeof value !== \"string\") {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `destination address must be a string, received ${typeof value}`,\n );\n }\n if (\n value.trim() !== value ||\n value.length < SOLANA_ADDRESS_MIN_LENGTH ||\n value.length > SOLANA_ADDRESS_MAX_LENGTH\n ) {\n throwInvalidDestinationAddress(value);\n }\n\n const decoded = decodeBase58SolanaAddress(value);\n if (encodeBase58(decoded) !== value) {\n throwInvalidDestinationAddress(value);\n }\n}\n\n/** Encode a 32-byte Ed25519 public key as its canonical Solana address. */\nexport function solanaAddressFromPublicKeyBytes(bytes: Uint8Array): string {\n if (bytes.byteLength !== SOLANA_PUBLIC_KEY_BYTE_LENGTH) {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `Solana public key must be ${SOLANA_PUBLIC_KEY_BYTE_LENGTH} bytes, received ${bytes.byteLength}`,\n );\n }\n return encodeBase58(bytes);\n}\n\nfunction decodeBase58SolanaAddress(value: string): Uint8Array {\n let decoded = 0n;\n for (const character of value) {\n const digit = BASE58_DIGITS.get(character);\n if (digit === undefined) {\n throwInvalidDestinationAddress(value);\n }\n decoded = decoded * BASE58_RADIX + BigInt(digit);\n if (decoded > MAX_SOLANA_PUBLIC_KEY_VALUE) {\n throwInvalidDestinationAddress(value);\n }\n }\n\n const bytes = new Uint8Array(SOLANA_PUBLIC_KEY_BYTE_LENGTH);\n for (let index = SOLANA_PUBLIC_KEY_BYTE_LENGTH - 1; index >= 0; index -= 1) {\n bytes[index] = Number(decoded & BYTE_MASK);\n decoded >>= BYTE_RADIX_BITS;\n }\n return bytes;\n}\n\nfunction encodeBase58(bytes: Uint8Array): string {\n let leadingZeros = 0;\n for (const byte of bytes) {\n if (byte !== 0) break;\n leadingZeros += 1;\n }\n\n let value = 0n;\n for (const byte of bytes) {\n value = (value << BYTE_RADIX_BITS) + BigInt(byte);\n }\n\n let encoded = \"\";\n while (value > 0n) {\n const digit = Number(value % BASE58_RADIX);\n encoded = BASE58_ALPHABET[digit]! + encoded;\n value /= BASE58_RADIX;\n }\n\n return BASE58_LEADING_ZERO_CHAR.repeat(leadingZeros) + encoded;\n}\n\nfunction throwInvalidDestinationAddress(value: string): never {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `destination address must be a canonical 32-byte Solana address: ${value}`,\n );\n}\n","/**\n * Branded scalar types.\n *\n * Branding makes structurally-identical primitives (a lamport amount, a base58\n * address, a correlation id) non-interchangeable at the type level, so the\n * compiler catches \"passed a request id where an address was expected\" before\n * it reaches the wire. The brand exists only at compile time; at runtime these\n * are plain `number` / `string`.\n *\n * Construct branded values through the smart constructors here. These\n * constructors enforce scalar-level invariants; payout-policy semantics stay in\n * the validation module.\n */\n\nimport { PolicyValidationError } from \"./errors.js\";\nimport { assertCanonicalSolanaAddress } from \"./solanaAddress.js\";\n\n/** Attach a compile-time-only brand `B` to base type `T`. */\nexport type Brand<T, B extends string> = T & { readonly __brand: B };\n\n/** A non-negative integer amount of lamports (1 SOL = 1_000_000_000 lamports). */\nexport type Lamports = Brand<number, \"Lamports\">;\n\n/** A Solana account address as base58 text. */\nexport type PublicKey = Brand<string, \"PublicKey\">;\n\n/** A client-generated correlation id for one logical command. */\nexport type RequestId = Brand<string, \"RequestId\">;\n\n/** Lowercase hexadecimal text (no `0x` prefix). */\nexport type Hex = Brand<string, \"Hex\">;\n\n/**\n * Brand a number as {@link Lamports}.\n *\n * @throws PolicyValidationError `INVALID_AMOUNT` if not a non-negative safe integer.\n */\nexport function lamports(value: number): Lamports {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new PolicyValidationError(\n \"INVALID_AMOUNT\",\n `lamports must be a non-negative safe integer, received ${String(value)}`,\n );\n }\n return value as Lamports;\n}\n\n/**\n * Brand a string as a {@link PublicKey}.\n *\n * Enforces canonical base58 encoding of a 32-byte Solana public key.\n *\n * @throws PolicyValidationError `INVALID_DESTINATION_ADDRESS` if obviously malformed.\n */\nexport function publicKey(value: string): PublicKey {\n assertCanonicalSolanaAddress(value);\n return value as PublicKey;\n}\n\n/**\n * Brand a non-empty string as a {@link RequestId}.\n *\n * @throws PolicyValidationError `INVALID_AMOUNT` is not appropriate here; an empty\n * id is a programming error, so this throws a plain `Error`.\n */\nexport function requestId(value: string): RequestId {\n if (value.length === 0) {\n throw new Error(\"requestId must be a non-empty string\");\n }\n return value as RequestId;\n}\n\n/**\n * Brand a string as lowercase {@link Hex}.\n *\n * @throws Error if the string contains non-hex characters.\n */\nexport function hex(value: string): Hex {\n if (!/^[0-9a-f]*$/.test(value)) {\n throw new Error(`not lowercase hex: ${value}`);\n }\n return value as Hex;\n}\n","/**\n * Session guards used by mutating commands.\n */\n\nimport { AttestationError } from \"../core/errors.js\";\nimport type { Session } from \"../core/session.js\";\n\n/**\n * Assert the session has passed attestation. Every mutating actor command calls\n * this before touching the wire, so an unattested session can never sign or\n * send sensitive material.\n *\n * @throws AttestationError `NOT_ATTESTED` when the session is not attested.\n */\nexport function assertAttested(session: Session): void {\n if (!session.attested) {\n throw new AttestationError(\n \"NOT_ATTESTED\",\n \"session is not attested; sensitive commands are blocked until attestation completes\",\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/solanaAddress.ts","../src/core/brands.ts","../src/session/guards.ts"],"names":[],"mappings":"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","file":"chunk-EPWTRF5U.js","sourcesContent":["import { PolicyValidationError } from \"./errors.js\";\n\nconst SOLANA_PUBLIC_KEY_BYTE_LENGTH = 32;\nconst SOLANA_ADDRESS_MIN_LENGTH = 32;\nconst SOLANA_ADDRESS_MAX_LENGTH = 44;\nconst BASE58_ALPHABET = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\nconst BASE58_RADIX = BigInt(BASE58_ALPHABET.length);\nconst BASE58_LEADING_ZERO_CHAR = \"1\";\nconst BYTE_MASK = 0xffn;\nconst BYTE_RADIX_BITS = 8n;\nconst MAX_SOLANA_PUBLIC_KEY_VALUE = (1n << (BigInt(SOLANA_PUBLIC_KEY_BYTE_LENGTH) * 8n)) - 1n;\n\nconst BASE58_DIGITS = new Map<string, number>(\n Array.from(BASE58_ALPHABET, (character, index) => [character, index]),\n);\n\nexport function assertCanonicalSolanaAddress(value: unknown): asserts value is string {\n if (typeof value !== \"string\") {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `destination address must be a string, received ${typeof value}`,\n );\n }\n if (\n value.trim() !== value ||\n value.length < SOLANA_ADDRESS_MIN_LENGTH ||\n value.length > SOLANA_ADDRESS_MAX_LENGTH\n ) {\n throwInvalidDestinationAddress(value);\n }\n\n const decoded = decodeBase58SolanaAddress(value);\n if (encodeBase58(decoded) !== value) {\n throwInvalidDestinationAddress(value);\n }\n}\n\n/** Encode a 32-byte Ed25519 public key as its canonical Solana address. */\nexport function solanaAddressFromPublicKeyBytes(bytes: Uint8Array): string {\n if (bytes.byteLength !== SOLANA_PUBLIC_KEY_BYTE_LENGTH) {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `Solana public key must be ${SOLANA_PUBLIC_KEY_BYTE_LENGTH} bytes, received ${bytes.byteLength}`,\n );\n }\n return encodeBase58(bytes);\n}\n\nfunction decodeBase58SolanaAddress(value: string): Uint8Array {\n let decoded = 0n;\n for (const character of value) {\n const digit = BASE58_DIGITS.get(character);\n if (digit === undefined) {\n throwInvalidDestinationAddress(value);\n }\n decoded = decoded * BASE58_RADIX + BigInt(digit);\n if (decoded > MAX_SOLANA_PUBLIC_KEY_VALUE) {\n throwInvalidDestinationAddress(value);\n }\n }\n\n const bytes = new Uint8Array(SOLANA_PUBLIC_KEY_BYTE_LENGTH);\n for (let index = SOLANA_PUBLIC_KEY_BYTE_LENGTH - 1; index >= 0; index -= 1) {\n bytes[index] = Number(decoded & BYTE_MASK);\n decoded >>= BYTE_RADIX_BITS;\n }\n return bytes;\n}\n\nfunction encodeBase58(bytes: Uint8Array): string {\n let leadingZeros = 0;\n for (const byte of bytes) {\n if (byte !== 0) break;\n leadingZeros += 1;\n }\n\n let value = 0n;\n for (const byte of bytes) {\n value = (value << BYTE_RADIX_BITS) + BigInt(byte);\n }\n\n let encoded = \"\";\n while (value > 0n) {\n const digit = Number(value % BASE58_RADIX);\n encoded = BASE58_ALPHABET[digit]! + encoded;\n value /= BASE58_RADIX;\n }\n\n return BASE58_LEADING_ZERO_CHAR.repeat(leadingZeros) + encoded;\n}\n\nfunction throwInvalidDestinationAddress(value: string): never {\n throw new PolicyValidationError(\n \"INVALID_DESTINATION_ADDRESS\",\n `destination address must be a canonical 32-byte Solana address: ${value}`,\n );\n}\n","/**\n * Branded scalar types.\n *\n * Branding makes structurally-identical primitives (a lamport amount, a base58\n * address, a correlation id) non-interchangeable at the type level, so the\n * compiler catches \"passed a request id where an address was expected\" before\n * it reaches the wire. The brand exists only at compile time; at runtime these\n * are plain `number` / `string`.\n *\n * Construct branded values through the smart constructors here. These\n * constructors enforce scalar-level invariants; payout-policy semantics stay in\n * the validation module.\n */\n\nimport { PolicyValidationError } from \"./errors.js\";\nimport { assertCanonicalSolanaAddress } from \"./solanaAddress.js\";\n\n/** Attach a compile-time-only brand `B` to base type `T`. */\nexport type Brand<T, B extends string> = T & { readonly __brand: B };\n\n/** A non-negative integer amount of lamports (1 SOL = 1_000_000_000 lamports). */\nexport type Lamports = Brand<number, \"Lamports\">;\n\n/** A Solana account address as base58 text. */\nexport type PublicKey = Brand<string, \"PublicKey\">;\n\n/** A client-generated correlation id for one logical command. */\nexport type RequestId = Brand<string, \"RequestId\">;\n\n/** Lowercase hexadecimal text (no `0x` prefix). */\nexport type Hex = Brand<string, \"Hex\">;\n\n/**\n * Brand a number as {@link Lamports}.\n *\n * @throws PolicyValidationError `INVALID_AMOUNT` if not a non-negative safe integer.\n */\nexport function lamports(value: number): Lamports {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new PolicyValidationError(\n \"INVALID_AMOUNT\",\n `lamports must be a non-negative safe integer, received ${String(value)}`,\n );\n }\n return value as Lamports;\n}\n\n/**\n * Brand a string as a {@link PublicKey}.\n *\n * Enforces canonical base58 encoding of a 32-byte Solana public key.\n *\n * @throws PolicyValidationError `INVALID_DESTINATION_ADDRESS` if obviously malformed.\n */\nexport function publicKey(value: string): PublicKey {\n assertCanonicalSolanaAddress(value);\n return value as PublicKey;\n}\n\n/**\n * Brand a non-empty string as a {@link RequestId}.\n *\n * @throws PolicyValidationError `INVALID_AMOUNT` is not appropriate here; an empty\n * id is a programming error, so this throws a plain `Error`.\n */\nexport function requestId(value: string): RequestId {\n if (value.length === 0) {\n throw new Error(\"requestId must be a non-empty string\");\n }\n return value as RequestId;\n}\n\n/**\n * Brand a string as lowercase {@link Hex}.\n *\n * @throws Error if the string contains non-hex characters.\n */\nexport function hex(value: string): Hex {\n if (!/^[0-9a-f]*$/.test(value)) {\n throw new Error(`not lowercase hex: ${value}`);\n }\n return value as Hex;\n}\n","/**\n * Session guards used by mutating commands.\n */\n\nimport { AttestationError } from \"../core/errors.js\";\nimport type { Session } from \"../core/session.js\";\n\n/**\n * Assert the session has passed attestation. Every mutating actor command calls\n * this before touching the wire, so an unattested session can never sign or\n * send sensitive material.\n *\n * @throws AttestationError `NOT_ATTESTED` when the session is not attested.\n */\nexport function assertAttested(session: Session): void {\n if (!session.attested) {\n throw new AttestationError(\n \"NOT_ATTESTED\",\n \"session is not attested; sensitive commands are blocked until attestation completes\",\n );\n }\n}\n"]}
@@ -1,9 +1,11 @@
1
- // ../../../../../Users/rami/Dev/Invisible/packages/shared/src/index.ts
1
+ // ../shared/src/index.ts
2
2
  var LP_POSITION_ID_MIN_LENGTH = 3;
3
3
  var LP_POSITION_ID_MAX_LENGTH = 96;
4
4
  var LP_POSITION_ID_PATTERN = /^[A-Za-z0-9_-]+$/;
5
- var LP_DEFAULT_TARGET_SHARDS = 200;
6
- var LP_MAX_TARGET_SHARDS = 300;
5
+ var LP_DEFAULT_TARGET_SHARDS = 500;
6
+ var LP_MAX_INITIAL_SHARDS = 500;
7
+ var LP_MAX_TOTAL_SHARDS = 4294967295;
8
+ var LP_SHARD_PAGE_SIZE = 50;
7
9
  var LP_DEFAULT_REFILL_BATCH_SIZE = 50;
8
10
  var LP_MAX_REFILL_BATCH_SIZE = 50;
9
11
  var PRODUCT_MIN_ENTRY_LAMPORTS = 15e8;
@@ -12,6 +14,6 @@ function isValidLpPositionId(lpPositionId) {
12
14
  return lpPositionId.length >= LP_POSITION_ID_MIN_LENGTH && lpPositionId.length <= LP_POSITION_ID_MAX_LENGTH && LP_POSITION_ID_PATTERN.test(lpPositionId);
13
15
  }
14
16
 
15
- export { LP_DEFAULT_REFILL_BATCH_SIZE, LP_DEFAULT_TARGET_SHARDS, LP_MAX_REFILL_BATCH_SIZE, LP_MAX_TARGET_SHARDS, PRODUCT_MAX_ENTRY_LAMPORTS, PRODUCT_MIN_ENTRY_LAMPORTS, isValidLpPositionId };
16
- //# sourceMappingURL=chunk-IG6JJFR2.js.map
17
- //# sourceMappingURL=chunk-IG6JJFR2.js.map
17
+ export { LP_DEFAULT_REFILL_BATCH_SIZE, LP_DEFAULT_TARGET_SHARDS, LP_MAX_INITIAL_SHARDS, LP_MAX_REFILL_BATCH_SIZE, LP_MAX_TOTAL_SHARDS, LP_SHARD_PAGE_SIZE, PRODUCT_MAX_ENTRY_LAMPORTS, PRODUCT_MIN_ENTRY_LAMPORTS, isValidLpPositionId };
18
+ //# sourceMappingURL=chunk-HWRMSK7E.js.map
19
+ //# sourceMappingURL=chunk-HWRMSK7E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../shared/src/index.ts"],"names":[],"mappings":";AAgBO,IAAM,yBAAA,GAA4B,CAAA;AAClC,IAAM,yBAAA,GAA4B,EAAA;AAClC,IAAM,sBAAA,GAAyB,kBAAA;AAC/B,IAAM,wBAAA,GAA2B;AACjC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,mBAAA,GAAsB;AAC5B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,4BAAA,GAA+B;AACrC,IAAM,wBAAA,GAA2B;AAKjC,IAAM,0BAAA,GAA6B;AACnC,IAAM,0BAAA,GAA6B;AAGnC,SAAS,oBAAoB,YAAA,EAA+B;AACjE,EAAA,OACE,YAAA,CAAa,UAAU,yBAAA,IACvB,YAAA,CAAa,UAAU,yBAAA,IACvB,sBAAA,CAAuB,KAAK,YAAY,CAAA;AAE5C","file":"chunk-HWRMSK7E.js","sourcesContent":["/**\n * Shared workspace entrypoint.\n *\n * Keep exports here pure and reusable across workspaces. Do not put React,\n * DOM-only, libp2p runtime state, or feature-specific glue in this package.\n */\nexport function sleep(ms: number): Promise<void> {\n if (ms <= 0) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\n\nexport const LP_POSITION_ID_MIN_LENGTH = 3;\nexport const LP_POSITION_ID_MAX_LENGTH = 96;\nexport const LP_POSITION_ID_PATTERN = /^[A-Za-z0-9_-]+$/;\nexport const LP_DEFAULT_TARGET_SHARDS = 500;\nexport const LP_MAX_INITIAL_SHARDS = 500;\nexport const LP_MAX_TOTAL_SHARDS = 0xffff_ffff;\nexport const LP_SHARD_PAGE_SIZE = 50;\nexport const LP_DEFAULT_REFILL_BATCH_SIZE = 50;\nexport const LP_MAX_REFILL_BATCH_SIZE = 50;\n\n// Temporary TypeScript mirrors of the Rust TEE entry limits, plus the distinct\n// mainnet UI default. Keep them guarded by `npm run product-limits:check` until\n// cross-language generated product constants exist.\nexport const PRODUCT_MIN_ENTRY_LAMPORTS = 1_500_000_000;\nexport const PRODUCT_MAX_ENTRY_LAMPORTS = 100_000_000_000;\nexport const PRODUCT_DEFAULT_MAINNET_ENTRY_LAMPORTS = 1_500_000_000;\n\nexport function isValidLpPositionId(lpPositionId: string): boolean {\n return (\n lpPositionId.length >= LP_POSITION_ID_MIN_LENGTH &&\n lpPositionId.length <= LP_POSITION_ID_MAX_LENGTH &&\n LP_POSITION_ID_PATTERN.test(lpPositionId)\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { getSessionState } from './chunk-HJFMDMPY.js';
2
- import { TransportError, CommandError } from './chunk-QRN46R3F.js';
1
+ import { getSessionState } from './chunk-6AKBRYKO.js';
2
+ import { TransportError, CommandError, COORDINATOR_CAPACITY_FULL_ERROR_CODE, COORDINATOR_CAPACITY_FULL_USER_MESSAGE } from './chunk-RWKG7N7I.js';
3
3
 
4
4
  // src/coordinator/protocolClient.ts
5
5
  var MAX_COORDINATOR_REQUEST_ID = 4294967295;
@@ -32,7 +32,7 @@ var CoordinatorMessageType = {
32
32
  };
33
33
  var protocolPromise = null;
34
34
  function loadProtocol() {
35
- protocolPromise ??= import('./coordinator-E2TS6NR2.js');
35
+ protocolPromise ??= import('./coordinator-DHL3AP7V.js');
36
36
  return protocolPromise;
37
37
  }
38
38
  var runtimes = /* @__PURE__ */ new WeakMap();
@@ -270,8 +270,10 @@ function rejectMatchingOutOfBandErrors(runtime, swapId, error) {
270
270
  }
271
271
  function commandErrorFromCoordinatorError(payload) {
272
272
  const coordinatorCode = toCoordinatorWireErrorCode(payload.code);
273
- return new CommandError(commandCodeFromCoordinatorCode(coordinatorCode), payload.message, {
273
+ const message = coordinatorCode === COORDINATOR_CAPACITY_FULL_ERROR_CODE ? COORDINATOR_CAPACITY_FULL_USER_MESSAGE : payload.message;
274
+ return new CommandError(commandCodeFromCoordinatorCode(coordinatorCode), message, {
274
275
  coordinatorCode,
276
+ coordinatorMessage: payload.message,
275
277
  ...payload.failed_req_id !== void 0 ? { failedReqId: payload.failed_req_id } : {}
276
278
  });
277
279
  }
@@ -281,6 +283,11 @@ function commandCodeFromCoordinatorCode(code) {
281
283
  case "ERR_UNKNOWN_SWAP":
282
284
  case "ERR_SWAP_NOT_REFUNDABLE":
283
285
  return "REJECTED_STATE";
286
+ case "ERR_INITIALIZATION_BUSY":
287
+ case "ERR_PRESEAL_ADMISSION_BUSY":
288
+ return "RETRYABLE_BUSY";
289
+ case COORDINATOR_CAPACITY_FULL_ERROR_CODE:
290
+ return "REJECTED_RESOURCE_CAP";
284
291
  case "ERR_INTERNAL":
285
292
  case "ERR_SETTLEMENT_FAILED":
286
293
  return "REJECTED_STALE_JOB";
@@ -302,6 +309,9 @@ function toCoordinatorWireErrorCode(code) {
302
309
  case "ERR_SWAP_NOT_REFUNDABLE":
303
310
  case "ERR_DKG_FAILURE":
304
311
  case "ERR_INTERNAL":
312
+ case "ERR_INITIALIZATION_BUSY":
313
+ case "ERR_PRESEAL_ADMISSION_BUSY":
314
+ case COORDINATOR_CAPACITY_FULL_ERROR_CODE:
305
315
  case "ERR_INVALID_DEPOSIT":
306
316
  case "ERR_SETTLEMENT_FAILED":
307
317
  return code;
@@ -325,5 +335,5 @@ function rejectAll(runtime, error) {
325
335
  }
326
336
 
327
337
  export { CoordinatorMessageType, EnvelopeKind, closeProtocolRuntime, onEnvelope, requestEnvelope };
328
- //# sourceMappingURL=chunk-MZKJU3UA.js.map
329
- //# sourceMappingURL=chunk-MZKJU3UA.js.map
338
+ //# sourceMappingURL=chunk-ISIWWGSR.js.map
339
+ //# sourceMappingURL=chunk-ISIWWGSR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/coordinator/protocolClient.ts"],"names":["pending"],"mappings":"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","file":"chunk-ISIWWGSR.js","sourcesContent":["import {\n COORDINATOR_CAPACITY_FULL_ERROR_CODE,\n COORDINATOR_CAPACITY_FULL_USER_MESSAGE,\n CommandError,\n TransportError,\n type CommandErrorCode,\n type CoordinatorWireErrorCode,\n} from \"../core/errors.js\";\nimport type { Session } from \"../core/session.js\";\nimport { getSessionState, type SessionState } from \"../session/state.js\";\nimport type { Unsubscribe } from \"../transport/types.js\";\n\nconst COORDINATOR_ENVELOPE_VERSION = 2;\nconst MAX_COORDINATOR_REQUEST_ID = 0xffff_ffff;\nconst OUT_OF_BAND_REQUEST_ID = 0;\n\nexport const EnvelopeKind = {\n REQUEST: \"request\",\n RESPONSE: \"response\",\n PUSH: \"push\",\n ERROR: \"error\",\n} as const;\n\nexport type EnvelopeKind = (typeof EnvelopeKind)[keyof typeof EnvelopeKind];\n\nexport const CoordinatorMessageType = {\n ContractRequest: \"ContractRequest\",\n LpCreateAuthorization: \"LpCreateAuthorization\",\n DkgInit: \"DkgInit\",\n DkgRound1: \"DkgRound1\",\n DkgRound2: \"DkgRound2\",\n DkgComplete: \"DkgComplete\",\n DelegateShare: \"DelegateShare\",\n DelegateAck: \"DelegateAck\",\n DepositConfirmed: \"DepositConfirmed\",\n Sync: \"Sync\",\n SyncRequired: \"SyncRequired\",\n Refill: \"Refill\",\n PayoutExecuted: \"PayoutExecuted\",\n WithdrawRequest: \"WithdrawRequest\",\n WithdrawAccepted: \"WithdrawAccepted\",\n WithdrawExecuted: \"WithdrawExecuted\",\n LpCommand: \"LpCommand\",\n Error: \"Error\",\n} as const;\n\nexport type CoordinatorMessageType =\n (typeof CoordinatorMessageType)[keyof typeof CoordinatorMessageType];\n\nexport type Envelope = {\n readonly version: typeof COORDINATOR_ENVELOPE_VERSION;\n readonly kind: EnvelopeKind;\n readonly type: CoordinatorMessageType;\n readonly swap_id: string | null;\n readonly req_id: number;\n readonly timestamp_ms: number;\n readonly payload: unknown;\n};\n\ntype ProtocolModule = {\n readonly ENVELOPE_VERSION: typeof COORDINATOR_ENVELOPE_VERSION;\n readonly EnvelopeKind: typeof EnvelopeKind;\n readonly CoordinatorMessageType: typeof CoordinatorMessageType;\n readonly encodeValidated: (envelope: Envelope) => Uint8Array;\n readonly decode: (raw: Uint8Array) => { ok: true; value: Envelope } | { ok: false; error: Error };\n readonly asErrorPayload: (envelope: Envelope) => {\n readonly code: string;\n readonly failed_req_id?: number;\n readonly message: string;\n };\n};\n\nlet protocolPromise: Promise<ProtocolModule> | null = null;\n\nfunction loadProtocol(): Promise<ProtocolModule> {\n protocolPromise ??= import(\"protocol/coordinator\") as Promise<ProtocolModule>;\n return protocolPromise;\n}\n\nexport type ProtocolLogDirection = \"in\" | \"out\" | \"info\";\nexport type ProtocolLogHandler = (message: string, direction: ProtocolLogDirection) => void;\nexport type ProtocolEnvelopeHandler = (envelope: Envelope) => void;\n\nexport interface RequestEnvelopeOptions {\n readonly swapId?: string | null;\n readonly timeoutMs?: number;\n readonly signal?: AbortSignal;\n readonly onLog?: ProtocolLogHandler;\n /** Reject this request when the coordinator reports a swap-scoped error without a request id. */\n readonly rejectMatchingOutOfBandErrors?: boolean;\n /** Contract allocation responses must carry the server-assigned swap_id. */\n readonly requireNonNullResponseSwapId?: boolean;\n}\n\nexport interface AwaitPushOptions {\n /** Exact business routing key. Omit only for legacy wildcard waiters. */\n readonly swapId?: string | null;\n readonly timeoutMs?: number | null;\n}\n\ntype PendingRequest = {\n readonly expectedSwapId: string | null;\n readonly resolve: (envelope: Envelope) => void;\n readonly reject: (error: Error) => void;\n readonly timer: ReturnType<typeof setTimeout> | null;\n readonly signal?: AbortSignal;\n readonly abortHandler?: () => void;\n readonly swapId: string | null;\n readonly rejectMatchingOutOfBandErrors: boolean;\n readonly requireNonNullResponseSwapId: boolean;\n};\n\ntype PushWaiter = {\n readonly swapId?: string | null;\n readonly resolve: (envelope: Envelope) => void;\n readonly reject: (error: Error) => void;\n readonly timer: ReturnType<typeof setTimeout> | null;\n};\n\ntype ProtocolRuntime = {\n reqCounter: number;\n readonly pending: Map<number, PendingRequest>;\n readonly pushWaiters: Map<CoordinatorMessageType, PushWaiter[]>;\n readonly envelopeHandlers: Set<ProtocolEnvelopeHandler>;\n unsubscribeChannel: Unsubscribe | null;\n unsubscribeTransport: Unsubscribe | null;\n};\n\nconst runtimes = new WeakMap<SessionState, ProtocolRuntime>();\n\nexport async function requestEnvelope(\n session: Session,\n type: CoordinatorMessageType,\n payload: unknown,\n options: RequestEnvelopeOptions = {},\n): Promise<Envelope> {\n throwIfRequestAborted(options.signal);\n const protocol = await loadProtocol();\n throwIfRequestAborted(options.signal);\n const state = getSessionState(session);\n const runtime = ensureProtocolRuntime(state);\n const channel = state.channel;\n if (!state.attested || channel === null) {\n throw new TransportError(\"CONNECTION_LOST\", \"coordinator request requires an attested channel\");\n }\n\n if (runtime.reqCounter >= MAX_COORDINATOR_REQUEST_ID) {\n throw new CommandError(\"REJECTED_STATE\", \"coordinator request id space exhausted\");\n }\n const reqId = runtime.reqCounter + 1;\n runtime.reqCounter = reqId;\n const envelope: Envelope = {\n version: protocol.ENVELOPE_VERSION,\n kind: protocol.EnvelopeKind.REQUEST,\n type,\n swap_id: options.swapId ?? null,\n req_id: reqId,\n timestamp_ms: Date.now(),\n payload,\n };\n const frame = protocol.encodeValidated(envelope);\n\n return new Promise((resolve, reject) => {\n const abortHandler =\n options.signal === undefined\n ? undefined\n : () => rejectPending(runtime, reqId, createRequestAbortError());\n const timer =\n options.timeoutMs === undefined\n ? null\n : setTimeout(() => {\n rejectPending(\n runtime,\n reqId,\n new CommandError(\n \"REJECTED_STALE_JOB\",\n `coordinator request timed out for ${type} after ${options.timeoutMs}ms`,\n ),\n );\n }, options.timeoutMs);\n\n runtime.pending.set(reqId, {\n expectedSwapId: options.swapId ?? null,\n resolve,\n reject,\n timer,\n signal: options.signal,\n abortHandler,\n swapId: envelope.swap_id,\n rejectMatchingOutOfBandErrors: options.rejectMatchingOutOfBandErrors === true,\n requireNonNullResponseSwapId: options.requireNonNullResponseSwapId === true,\n });\n if (abortHandler !== undefined) {\n options.signal?.addEventListener(\"abort\", abortHandler, { once: true });\n if (options.signal?.aborted === true) {\n abortHandler();\n return;\n }\n }\n options.onLog?.(`-> ${type} req_id=${reqId}`, \"out\");\n try {\n channel.send(frame);\n } catch (error) {\n rejectPending(runtime, reqId, error instanceof Error ? error : new Error(String(error)));\n }\n });\n}\n\nexport function awaitPush(\n session: Session,\n type: CoordinatorMessageType,\n options: AwaitPushOptions = {},\n): Promise<Envelope> {\n const state = getSessionState(session);\n const runtime = ensureProtocolRuntime(state);\n const timeoutMs = options.timeoutMs === undefined ? 30_000 : options.timeoutMs;\n\n return new Promise((resolve, reject) => {\n const timer =\n timeoutMs === null\n ? null\n : setTimeout(() => {\n removePushWaiter(runtime, type, waiter);\n reject(new CommandError(\"REJECTED_STALE_JOB\", `timed out waiting for ${type} push`));\n }, timeoutMs);\n const waiter: PushWaiter = { swapId: options.swapId, resolve, reject, timer };\n const waiters = runtime.pushWaiters.get(type) ?? [];\n waiters.push(waiter);\n runtime.pushWaiters.set(type, waiters);\n });\n}\n\nexport function onEnvelope(session: Session, handler: ProtocolEnvelopeHandler): Unsubscribe {\n const runtime = ensureProtocolRuntime(getSessionState(session));\n runtime.envelopeHandlers.add(handler);\n return () => runtime.envelopeHandlers.delete(handler);\n}\n\nexport function closeProtocolRuntime(session: Session): void {\n const state = getSessionState(session);\n const runtime = runtimes.get(state);\n if (!runtime) return;\n const error = new TransportError(\"CONNECTION_LOST\", \"coordinator protocol runtime closed\");\n rejectAll(runtime, error);\n runtime.unsubscribeChannel?.();\n runtime.unsubscribeTransport?.();\n runtimes.delete(state);\n}\n\nfunction ensureProtocolRuntime(state: SessionState): ProtocolRuntime {\n const existing = runtimes.get(state);\n if (existing) return existing;\n\n const runtime: ProtocolRuntime = {\n reqCounter: 0,\n pending: new Map(),\n pushWaiters: new Map(),\n envelopeHandlers: new Set(),\n unsubscribeChannel: null,\n unsubscribeTransport: null,\n };\n\n if (state.channel === null) {\n throw new TransportError(\"CONNECTION_LOST\", \"coordinator protocol requires a live channel\");\n }\n runtime.unsubscribeChannel = state.channel.onMessage((frame) => handleFrame(runtime, frame));\n runtime.unsubscribeTransport = state.transport.onStateChange((transportState) => {\n if (transportState === \"closing\" || transportState === \"closed\") {\n rejectAll(runtime, new TransportError(\"CONNECTION_LOST\", \"coordinator transport closed\"));\n }\n });\n\n runtimes.set(state, runtime);\n return runtime;\n}\n\nfunction handleFrame(runtime: ProtocolRuntime, frame: Uint8Array): void {\n void handleFrameAsync(runtime, frame);\n}\n\nasync function handleFrameAsync(runtime: ProtocolRuntime, frame: Uint8Array): Promise<void> {\n const protocol = await loadProtocol();\n const decoded = protocol.decode(frame);\n if (!decoded.ok) {\n rejectAll(runtime, decoded.error);\n return;\n }\n\n const envelope = decoded.value;\n if (envelope.kind === protocol.EnvelopeKind.RESPONSE) {\n const pending = runtime.pending.get(envelope.req_id);\n if (pending && !pendingRequestMatchesSwapId(pending, envelope.swap_id)) {\n rejectPending(\n runtime,\n envelope.req_id,\n requestSwapIdMismatchError(envelope.req_id, pending.expectedSwapId, envelope.swap_id),\n );\n return;\n }\n }\n\n const errorPayload =\n envelope.kind === protocol.EnvelopeKind.ERROR ? protocol.asErrorPayload(envelope) : null;\n if (errorPayload?.failed_req_id !== undefined) {\n const pending = runtime.pending.get(errorPayload.failed_req_id);\n if (pending && !pendingRequestMatchesSwapId(pending, envelope.swap_id, false)) {\n rejectPending(\n runtime,\n errorPayload.failed_req_id,\n requestSwapIdMismatchError(\n errorPayload.failed_req_id,\n pending.expectedSwapId,\n envelope.swap_id,\n ),\n );\n return;\n }\n }\n\n for (const handler of runtime.envelopeHandlers) handler(envelope);\n\n if (envelope.kind === protocol.EnvelopeKind.ERROR) {\n const payload = errorPayload!;\n const error = commandErrorFromCoordinatorError(payload);\n if (payload.failed_req_id === undefined || payload.failed_req_id === OUT_OF_BAND_REQUEST_ID) {\n if (envelope.swap_id !== null) {\n rejectMatchingOutOfBandErrors(runtime, envelope.swap_id, error);\n }\n return;\n }\n const pending = runtime.pending.get(payload.failed_req_id);\n if (!pending) return;\n if (!pendingRequestMatchesSwapId(pending, envelope.swap_id, false)) {\n rejectPending(\n runtime,\n payload.failed_req_id,\n requestSwapIdMismatchError(payload.failed_req_id, pending.expectedSwapId, envelope.swap_id),\n );\n return;\n }\n rejectPending(runtime, payload.failed_req_id, error);\n return;\n }\n\n if (envelope.kind === protocol.EnvelopeKind.PUSH) {\n resolvePushWaiter(runtime, envelope);\n return;\n }\n\n if (envelope.kind !== protocol.EnvelopeKind.RESPONSE) return;\n const pending = runtime.pending.get(envelope.req_id);\n if (!pending) return;\n if (!pendingRequestMatchesSwapId(pending, envelope.swap_id)) {\n rejectPending(\n runtime,\n envelope.req_id,\n requestSwapIdMismatchError(envelope.req_id, pending.expectedSwapId, envelope.swap_id),\n );\n return;\n }\n runtime.pending.delete(envelope.req_id);\n cleanupPendingRequest(pending);\n pending.resolve(envelope);\n}\n\nfunction pendingRequestMatchesSwapId(\n pending: PendingRequest,\n responseSwapId: string | null,\n enforceNonNullResponseSwapId = true,\n): boolean {\n if (\n enforceNonNullResponseSwapId &&\n pending.requireNonNullResponseSwapId &&\n responseSwapId === null\n ) {\n return false;\n }\n return pending.expectedSwapId === null || pending.expectedSwapId === responseSwapId;\n}\n\nfunction requestSwapIdMismatchError(\n reqId: number,\n expectedSwapId: string | null,\n receivedSwapId: string | null,\n): CommandError {\n return new CommandError(\n \"REJECTED_STATE\",\n `coordinator response swap_id mismatch for req_id=${reqId}: expected ${expectedSwapId ?? \"null\"}, received ${receivedSwapId ?? \"null\"}`,\n { failedReqId: reqId },\n );\n}\n\nfunction resolvePushWaiter(runtime: ProtocolRuntime, envelope: Envelope): void {\n const waiters = runtime.pushWaiters.get(envelope.type);\n const waiterIndex = waiters?.findIndex(\n (candidate) => candidate.swapId === undefined || candidate.swapId === envelope.swap_id,\n );\n const waiter =\n waiters && waiterIndex !== undefined && waiterIndex >= 0\n ? waiters.splice(waiterIndex, 1)[0]\n : undefined;\n if (!waiter || !waiters) return;\n if (waiters.length === 0) {\n runtime.pushWaiters.delete(envelope.type);\n }\n if (waiter.timer) clearTimeout(waiter.timer);\n waiter.resolve(envelope);\n}\n\nfunction rejectPending(runtime: ProtocolRuntime, reqId: number, error: Error): void {\n const pending = runtime.pending.get(reqId);\n if (!pending) return;\n runtime.pending.delete(reqId);\n cleanupPendingRequest(pending);\n pending.reject(error);\n}\n\nfunction cleanupPendingRequest(pending: PendingRequest): void {\n if (pending.timer) clearTimeout(pending.timer);\n if (pending.signal !== undefined && pending.abortHandler !== undefined) {\n pending.signal.removeEventListener(\"abort\", pending.abortHandler);\n }\n}\n\nfunction throwIfRequestAborted(signal: AbortSignal | undefined): void {\n if (signal?.aborted === true) throw createRequestAbortError();\n}\n\nfunction createRequestAbortError(): DOMException {\n return new DOMException(\"coordinator request aborted\", \"AbortError\");\n}\n\nfunction rejectMatchingOutOfBandErrors(\n runtime: ProtocolRuntime,\n swapId: string,\n error: Error,\n): void {\n for (const [reqId, pending] of runtime.pending) {\n if (!pending.rejectMatchingOutOfBandErrors || pending.swapId !== swapId) continue;\n rejectPending(runtime, reqId, error);\n }\n}\n\nfunction commandErrorFromCoordinatorError(payload: {\n readonly code: string;\n readonly failed_req_id?: number;\n readonly message: string;\n}): CommandError {\n const coordinatorCode = toCoordinatorWireErrorCode(payload.code);\n const message =\n coordinatorCode === COORDINATOR_CAPACITY_FULL_ERROR_CODE\n ? COORDINATOR_CAPACITY_FULL_USER_MESSAGE\n : payload.message;\n return new CommandError(commandCodeFromCoordinatorCode(coordinatorCode), message, {\n coordinatorCode,\n coordinatorMessage: payload.message,\n ...(payload.failed_req_id !== undefined ? { failedReqId: payload.failed_req_id } : {}),\n });\n}\n\nfunction commandCodeFromCoordinatorCode(code: CoordinatorWireErrorCode): CommandErrorCode {\n switch (code) {\n case \"ERR_UNEXPECTED_TYPE\":\n case \"ERR_UNKNOWN_SWAP\":\n case \"ERR_SWAP_NOT_REFUNDABLE\":\n return \"REJECTED_STATE\";\n case \"ERR_INITIALIZATION_BUSY\":\n case \"ERR_PRESEAL_ADMISSION_BUSY\":\n return \"RETRYABLE_BUSY\";\n case COORDINATOR_CAPACITY_FULL_ERROR_CODE:\n return \"REJECTED_RESOURCE_CAP\";\n case \"ERR_INTERNAL\":\n case \"ERR_SETTLEMENT_FAILED\":\n return \"REJECTED_STALE_JOB\";\n case \"ERR_INVALID_PAYLOAD\":\n case \"ERR_POLICY_VIOLATION\":\n case \"ERR_INVALID_RECOVERY_CODE\":\n case \"ERR_DKG_FAILURE\":\n case \"ERR_INVALID_DEPOSIT\":\n return \"REJECTED_GUARD\";\n }\n}\n\nfunction toCoordinatorWireErrorCode(code: string): CoordinatorWireErrorCode {\n switch (code) {\n case \"ERR_INVALID_PAYLOAD\":\n case \"ERR_UNEXPECTED_TYPE\":\n case \"ERR_UNKNOWN_SWAP\":\n case \"ERR_POLICY_VIOLATION\":\n case \"ERR_INVALID_RECOVERY_CODE\":\n case \"ERR_SWAP_NOT_REFUNDABLE\":\n case \"ERR_DKG_FAILURE\":\n case \"ERR_INTERNAL\":\n case \"ERR_INITIALIZATION_BUSY\":\n case \"ERR_PRESEAL_ADMISSION_BUSY\":\n case COORDINATOR_CAPACITY_FULL_ERROR_CODE:\n case \"ERR_INVALID_DEPOSIT\":\n case \"ERR_SETTLEMENT_FAILED\":\n return code;\n default:\n return \"ERR_INTERNAL\";\n }\n}\n\nfunction removePushWaiter(\n runtime: ProtocolRuntime,\n type: CoordinatorMessageType,\n waiter: PushWaiter,\n): void {\n const waiters = runtime.pushWaiters.get(type);\n if (!waiters) return;\n const index = waiters.indexOf(waiter);\n if (index >= 0) waiters.splice(index, 1);\n if (waiters.length === 0) runtime.pushWaiters.delete(type);\n}\n\nfunction rejectAll(runtime: ProtocolRuntime, error: Error): void {\n for (const [reqId, pending] of runtime.pending.entries()) {\n runtime.pending.delete(reqId);\n cleanupPendingRequest(pending);\n pending.reject(error);\n }\n for (const [type, waiters] of runtime.pushWaiters.entries()) {\n runtime.pushWaiters.delete(type);\n for (const waiter of waiters) {\n if (waiter.timer) clearTimeout(waiter.timer);\n waiter.reject(error);\n }\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __export, __toBinary } from './chunk-VR6T6OJS.js';
2
2
 
3
- // ../../../../../Users/rami/Dev/Invisible/frost/pkg/frost.js
3
+ // ../../frost/pkg/frost.js
4
4
  var frost_exports = {};
5
5
  __export(frost_exports, {
6
6
  DkgKeyPackageHandle: () => DkgKeyPackageHandle,
@@ -595,5 +595,5 @@ async function loadFrost() {
595
595
  }
596
596
 
597
597
  export { ensureFrostWasm, loadFrost };
598
- //# sourceMappingURL=chunk-K67FTCQU.js.map
599
- //# sourceMappingURL=chunk-K67FTCQU.js.map
598
+ //# sourceMappingURL=chunk-JNNVPZEU.js.map
599
+ //# sourceMappingURL=chunk-JNNVPZEU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../frost/pkg/frost.js","../src/frost/frostWasm.bundled.ts","../src/frost/frostRuntime.ts"],"names":["module"],"mappings":"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","file":"chunk-JNNVPZEU.js","sourcesContent":["/* @ts-self-types=\"./frost.d.ts\" */\n\nexport class DkgKeyPackageHandle {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(DkgKeyPackageHandle.prototype);\n obj.__wbg_ptr = ptr;\n DkgKeyPackageHandleFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n DkgKeyPackageHandleFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_dkgkeypackagehandle_free(ptr, 0);\n }\n abort() {\n wasm.dkgkeypackagehandle_abort(this.__wbg_ptr);\n }\n /**\n * @returns {Uint8Array}\n */\n groupPublicKeyBytes() {\n const ret = wasm.dkgkeypackagehandle_groupPublicKeyBytes(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Alice's signing share as raw bytes — sent to the coordinator in DelegateShare.\n * Treat as secret: never log, never store in plaintext outside the encrypted channel.\n * @returns {Uint8Array}\n */\n secretShareBytes() {\n const ret = wasm.dkgkeypackagehandle_secretShareBytes(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n}\nif (Symbol.dispose) DkgKeyPackageHandle.prototype[Symbol.dispose] = DkgKeyPackageHandle.prototype.free;\n\nexport class DkgRound1State {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(DkgRound1State.prototype);\n obj.__wbg_ptr = ptr;\n DkgRound1StateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n DkgRound1StateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_dkground1state_free(ptr, 0);\n }\n abort() {\n wasm.dkground1state_abort(this.__wbg_ptr);\n }\n /**\n * @param {number} peer_id\n * @param {Uint8Array} peer_round1_package_bytes\n * @returns {DkgRound2State}\n */\n intoRound2(peer_id, peer_round1_package_bytes) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passArray8ToWasm0(peer_round1_package_bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.dkground1state_intoRound2(ptr, peer_id, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return DkgRound2State.__wrap(ret[0]);\n }\n /**\n * @returns {Uint8Array}\n */\n round1PackageBytes() {\n const ret = wasm.dkground1state_round1PackageBytes(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n}\nif (Symbol.dispose) DkgRound1State.prototype[Symbol.dispose] = DkgRound1State.prototype.free;\n\nexport class DkgRound2State {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(DkgRound2State.prototype);\n obj.__wbg_ptr = ptr;\n DkgRound2StateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n DkgRound2StateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_dkground2state_free(ptr, 0);\n }\n abort() {\n wasm.dkground2state_abort(this.__wbg_ptr);\n }\n /**\n * @param {number} peer_id\n * @param {Uint8Array} peer_round1_package_bytes\n * @param {Uint8Array} peer_round2_package_bytes\n * @returns {DkgKeyPackageHandle}\n */\n intoRound3(peer_id, peer_round1_package_bytes, peer_round2_package_bytes) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passArray8ToWasm0(peer_round1_package_bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(peer_round2_package_bytes, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.dkground2state_intoRound3(ptr, peer_id, ptr0, len0, ptr1, len1);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return DkgKeyPackageHandle.__wrap(ret[0]);\n }\n /**\n * @param {number} peer_id\n * @returns {Uint8Array}\n */\n round2PackageBytesFor(peer_id) {\n const ret = wasm.dkground2state_round2PackageBytesFor(this.__wbg_ptr, peer_id);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n}\nif (Symbol.dispose) DkgRound2State.prototype[Symbol.dispose] = DkgRound2State.prototype.free;\n\nexport class SignRound1State {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SignRound1State.prototype);\n obj.__wbg_ptr = ptr;\n SignRound1StateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SignRound1StateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_signround1state_free(ptr, 0);\n }\n abort() {\n wasm.signround1state_abort(this.__wbg_ptr);\n }\n /**\n * @returns {Uint8Array}\n */\n commitmentBytes() {\n const ret = wasm.signround1state_commitmentBytes(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @param {Uint8Array} message\n * @param {number} peer_id\n * @param {Uint8Array} peer_commitment_bytes\n * @returns {SignRound2State}\n */\n intoRound2(message, peer_id, peer_commitment_bytes) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passArray8ToWasm0(message, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray8ToWasm0(peer_commitment_bytes, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.signround1state_intoRound2(ptr, ptr0, len0, peer_id, ptr1, len1);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return SignRound2State.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) SignRound1State.prototype[Symbol.dispose] = SignRound1State.prototype.free;\n\nexport class SignRound2State {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SignRound2State.prototype);\n obj.__wbg_ptr = ptr;\n SignRound2StateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SignRound2StateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_signround2state_free(ptr, 0);\n }\n abort() {\n const ptr = this.__destroy_into_raw();\n wasm.signround2state_abort(ptr);\n }\n /**\n * @param {number} peer_id\n * @param {Uint8Array} peer_share_bytes\n * @returns {Uint8Array}\n */\n aggregate(peer_id, peer_share_bytes) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passArray8ToWasm0(peer_share_bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.signround2state_aggregate(ptr, peer_id, ptr0, len0);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v2;\n }\n /**\n * @returns {Uint8Array}\n */\n signatureShareBytes() {\n const ret = wasm.signround2state_signatureShareBytes(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n}\nif (Symbol.dispose) SignRound2State.prototype[Symbol.dispose] = SignRound2State.prototype.free;\n\n/**\n * @param {number} participant_id\n * @returns {DkgRound1State}\n */\nexport function dkgRound1(participant_id) {\n const ret = wasm.dkgRound1(participant_id);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return DkgRound1State.__wrap(ret[0]);\n}\n\n/**\n * @returns {string}\n */\nexport function frostDkgDemoRun() {\n let deferred2_0;\n let deferred2_1;\n try {\n const ret = wasm.frostDkgDemoRun();\n var ptr1 = ret[0];\n var len1 = ret[1];\n if (ret[3]) {\n ptr1 = 0; len1 = 0;\n throw takeFromExternrefTable0(ret[2]);\n }\n deferred2_0 = ptr1;\n deferred2_1 = len1;\n return getStringFromWasm0(ptr1, len1);\n } finally {\n wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n }\n}\n\n/**\n * @param {DkgKeyPackageHandle} handle\n * @returns {SignRound1State}\n */\nexport function signRound1(handle) {\n _assertClass(handle, DkgKeyPackageHandle);\n const ret = wasm.signRound1(handle.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return SignRound1State.__wrap(ret[0]);\n}\n\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg___wbindgen_is_function_d633e708baf0d146: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_4b3de556756ee8a8: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_7debe47dc1e045c2: function(arg0) {\n const ret = typeof(arg0) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_c18285b9fc34cb7d: function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n },\n __wbg___wbindgen_throw_39bc967c0e5a9b58: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_call_08ad0d89caa7cb79: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_crypto_38df2bab126b63dc: function(arg0) {\n const ret = arg0.crypto;\n return ret;\n },\n __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {\n arg0.getRandomValues(arg1);\n }, arguments); },\n __wbg_length_5855c1f289dfffc1: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {\n const ret = arg0.msCrypto;\n return ret;\n },\n __wbg_new_with_length_c8449d782396d344: function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return ret;\n },\n __wbg_node_84ea875411254db1: function(arg0) {\n const ret = arg0.node;\n return ret;\n },\n __wbg_process_44c7a14e11e9f69e: function(arg0) {\n const ret = arg0.process;\n return ret;\n },\n __wbg_prototypesetcall_f034d444741426c3: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {\n arg0.randomFillSync(arg1);\n }, arguments); },\n __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {\n const ret = module.require;\n return ret;\n }, arguments); },\n __wbg_static_accessor_GLOBAL_THIS_14325d8cca34bb77: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_GLOBAL_f3a1e69f9c5a7e8e: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_SELF_50cdb5b517789aca: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_WINDOW_d6c4126e4c244380: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_subarray_7ad5f01d4a9c1c4d: function(arg0, arg1, arg2) {\n const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_versions_276b2795b1c6a219: function(arg0) {\n const ret = arg0.versions;\n return ret;\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./frost_bg.js\": import0,\n };\n}\n\nconst DkgKeyPackageHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_dkgkeypackagehandle_free(ptr >>> 0, 1));\nconst DkgRound1StateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_dkground1state_free(ptr >>> 0, 1));\nconst DkgRound2StateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_dkground2state_free(ptr >>> 0, 1));\nconst SignRound1StateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_signround1state_free(ptr >>> 0, 1));\nconst SignRound2StateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_signround2state_free(ptr >>> 0, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('frost_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n","/**\n * Published-bundle FROST wasm loader.\n *\n * The wasm binary is inlined at build time (esbuild \"binary\" loader -> a\n * `Uint8Array`), so the published package is fully self-contained: no asset\n * path, no `import.meta.url` resolution, and no `frost/pkg` `file:` dependency\n * for a consumer's bundler to handle. tsup swaps `frostWasm.dev.ts` for this\n * module when producing `dist` (see tsup.config.ts); it is never bundled by the\n * web app or vitest.\n */\nimport type { FrostInit } from \"./frostRuntime.js\";\n// Bundler-inlined: resolved by the esbuild \"binary\" loader to the raw wasm\n// bytes. The relative path is resolved at build time, never at runtime.\nimport frostWasmBytes from \"../../../../frost/pkg/frost_bg.wasm\";\n\nexport async function instantiateFrost(init: FrostInit): Promise<void> {\n await init({ module_or_path: frostWasmBytes as unknown as Uint8Array });\n}\n","/**\n * Centralized FROST wasm runtime.\n *\n * Both the coordinator session (main thread) and the LP DKG worker initialize\n * FROST through this one module, so the wasm is instantiated exactly once per\n * realm. The actual wasm-loading strategy is delegated to a swappable loader:\n *\n * - From source (web app, vitest, Node) the dev loader resolves the asset next\n * to `frost/pkg` (Vite-friendly URL / Node `file:` read).\n * - In the published bundle, tsup swaps in the bundled loader, which inlines the\n * wasm bytes so the tarball is self-contained (see tsup.config.ts).\n *\n * @INFO Keep this module behind a dynamic `import()` at every call site so the\n * (large) wasm payload lands in its own lazy chunk.\n */\nimport init, * as frost from \"frost\";\nimport { instantiateFrost } from \"./frostWasm.dev.js\";\n\nexport type FrostModule = typeof frost;\n/** The default `init` exported by the FROST wasm-bindgen module. */\nexport type FrostInit = typeof init;\n\nlet initPromise: Promise<void> | null = null;\n\n/**\n * Instantiate the FROST wasm module exactly once. Safe to call repeatedly; a\n * failed instantiation is not memoized so the next caller retries.\n */\nexport async function ensureFrostWasm(): Promise<void> {\n initPromise ??= instantiateFrost(init);\n try {\n await initPromise;\n } catch (err) {\n initPromise = null;\n throw err;\n }\n}\n\n/** The FROST module namespace, guaranteed initialized. */\nexport async function loadFrost(): Promise<FrostModule> {\n await ensureFrostWasm();\n return frost;\n}\n"]}