@agirails/sdk 4.4.8 → 4.5.2

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 (99) hide show
  1. package/dist/builders/DeliveryProofBuilder.d.ts +224 -13
  2. package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
  3. package/dist/builders/DeliveryProofBuilder.js +247 -13
  4. package/dist/builders/DeliveryProofBuilder.js.map +1 -1
  5. package/dist/cli/agirails.d.ts +85 -1
  6. package/dist/cli/agirails.d.ts.map +1 -1
  7. package/dist/cli/agirails.js +429 -154
  8. package/dist/cli/agirails.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts +54 -0
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +193 -1
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/receipt.d.ts +70 -2
  14. package/dist/cli/commands/receipt.d.ts.map +1 -1
  15. package/dist/cli/commands/receipt.js +218 -3
  16. package/dist/cli/commands/receipt.js.map +1 -1
  17. package/dist/cli/commands/test.d.ts +77 -1
  18. package/dist/cli/commands/test.d.ts.map +1 -1
  19. package/dist/cli/commands/test.js +264 -2
  20. package/dist/cli/commands/test.js.map +1 -1
  21. package/dist/cli/lib/runRequest.d.ts +90 -0
  22. package/dist/cli/lib/runRequest.d.ts.map +1 -1
  23. package/dist/cli/lib/runRequest.js +300 -9
  24. package/dist/cli/lib/runRequest.js.map +1 -1
  25. package/dist/cli/lib/sentinelReflections.d.ts +111 -0
  26. package/dist/cli/lib/sentinelReflections.d.ts.map +1 -0
  27. package/dist/cli/lib/sentinelReflections.js +193 -0
  28. package/dist/cli/lib/sentinelReflections.js.map +1 -0
  29. package/dist/delivery/MockDeliveryChannel.d.ts +208 -0
  30. package/dist/delivery/MockDeliveryChannel.d.ts.map +1 -0
  31. package/dist/delivery/MockDeliveryChannel.js +445 -0
  32. package/dist/delivery/MockDeliveryChannel.js.map +1 -0
  33. package/dist/delivery/RelayDeliveryChannel.d.ts +176 -0
  34. package/dist/delivery/RelayDeliveryChannel.d.ts.map +1 -0
  35. package/dist/delivery/RelayDeliveryChannel.js +377 -0
  36. package/dist/delivery/RelayDeliveryChannel.js.map +1 -0
  37. package/dist/delivery/channel.d.ts +282 -0
  38. package/dist/delivery/channel.d.ts.map +1 -0
  39. package/dist/delivery/channel.js +76 -0
  40. package/dist/delivery/channel.js.map +1 -0
  41. package/dist/delivery/channelLog.d.ts +115 -0
  42. package/dist/delivery/channelLog.d.ts.map +1 -0
  43. package/dist/delivery/channelLog.js +94 -0
  44. package/dist/delivery/channelLog.js.map +1 -0
  45. package/dist/delivery/crypto.d.ts +312 -0
  46. package/dist/delivery/crypto.d.ts.map +1 -0
  47. package/dist/delivery/crypto.js +495 -0
  48. package/dist/delivery/crypto.js.map +1 -0
  49. package/dist/delivery/eip712.d.ts +248 -0
  50. package/dist/delivery/eip712.d.ts.map +1 -0
  51. package/dist/delivery/eip712.js +397 -0
  52. package/dist/delivery/eip712.js.map +1 -0
  53. package/dist/delivery/envelopeBuilder.d.ts +531 -0
  54. package/dist/delivery/envelopeBuilder.d.ts.map +1 -0
  55. package/dist/delivery/envelopeBuilder.js +832 -0
  56. package/dist/delivery/envelopeBuilder.js.map +1 -0
  57. package/dist/delivery/index.d.ts +53 -0
  58. package/dist/delivery/index.d.ts.map +1 -0
  59. package/dist/delivery/index.js +143 -0
  60. package/dist/delivery/index.js.map +1 -0
  61. package/dist/delivery/keys.d.ts +344 -0
  62. package/dist/delivery/keys.d.ts.map +1 -0
  63. package/dist/delivery/keys.js +513 -0
  64. package/dist/delivery/keys.js.map +1 -0
  65. package/dist/delivery/nonce-keys.d.ts +93 -0
  66. package/dist/delivery/nonce-keys.d.ts.map +1 -0
  67. package/dist/delivery/nonce-keys.js +88 -0
  68. package/dist/delivery/nonce-keys.js.map +1 -0
  69. package/dist/delivery/setupBuilder.d.ts +403 -0
  70. package/dist/delivery/setupBuilder.d.ts.map +1 -0
  71. package/dist/delivery/setupBuilder.js +554 -0
  72. package/dist/delivery/setupBuilder.js.map +1 -0
  73. package/dist/delivery/types.d.ts +722 -0
  74. package/dist/delivery/types.d.ts.map +1 -0
  75. package/dist/delivery/types.js +150 -0
  76. package/dist/delivery/types.js.map +1 -0
  77. package/dist/delivery/validate.d.ts +288 -0
  78. package/dist/delivery/validate.d.ts.map +1 -0
  79. package/dist/delivery/validate.js +648 -0
  80. package/dist/delivery/validate.js.map +1 -0
  81. package/dist/level1/Agent.d.ts +130 -0
  82. package/dist/level1/Agent.d.ts.map +1 -1
  83. package/dist/level1/Agent.js +248 -0
  84. package/dist/level1/Agent.js.map +1 -1
  85. package/dist/level1/types/Options.d.ts +62 -0
  86. package/dist/level1/types/Options.d.ts.map +1 -1
  87. package/dist/level1/types/Options.js +22 -0
  88. package/dist/level1/types/Options.js.map +1 -1
  89. package/dist/runtime/MockRuntime.d.ts +32 -0
  90. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  91. package/dist/runtime/MockRuntime.js +44 -0
  92. package/dist/runtime/MockRuntime.js.map +1 -1
  93. package/dist/wallet/aa/BundlerClient.d.ts.map +1 -1
  94. package/dist/wallet/aa/BundlerClient.js +18 -3
  95. package/dist/wallet/aa/BundlerClient.js.map +1 -1
  96. package/dist/wallet/aa/PaymasterClient.d.ts.map +1 -1
  97. package/dist/wallet/aa/PaymasterClient.js +4 -1
  98. package/dist/wallet/aa/PaymasterClient.js.map +1 -1
  99. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopeBuilder.js","sourceRoot":"","sources":["../../src/delivery/envelopeBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * AIP-16 Delivery Surface — Module Barrel
3
+ * ========================================
4
+ *
5
+ * Public re-export surface for the AGIRAILS delivery layer (AIP-16 Rev 5).
6
+ *
7
+ * Phase 2a foundation: types + EIP-712 domain/types/recovery helpers.
8
+ * Later phases add cryptographic primitives (`crypto.ts`), builders
9
+ * (`setupBuilder.ts`, `envelopeBuilder.ts`), verifiers, the channel
10
+ * client, and a structured error class extending `ACTPError`.
11
+ *
12
+ * Consumers SHOULD import from this barrel rather than reaching into
13
+ * individual files, so future internal refactors do not break call
14
+ * sites:
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import {
19
+ * DeliveryScheme,
20
+ * DeliverySetupSignedV1,
21
+ * DeliveryEnvelopeWireV1,
22
+ * CANONICAL_EMPTY_BYTES32,
23
+ * DELIVERY_DOMAIN_NAME,
24
+ * buildDeliveryDomain,
25
+ * recoverSetupSigner,
26
+ * } from '@agirails/sdk/delivery';
27
+ * ```
28
+ */
29
+ export type { DeliveryScheme, DeliveryMode, DeliveryPrivacy, ParticipantRole, DeliveryNetwork, DeliverySetupSignedV1, DeliverySetupWireV1, DeliveryEnvelopeSignedV1, DeliveryEnvelopeWireV1, BuildSetupResult, BuildEnvelopeResult, DeliveryErrorCode, DeliveryError, } from './types';
30
+ export { CANONICAL_EMPTY_BYTES32, CANONICAL_EMPTY_BYTES12, CANONICAL_EMPTY_BYTES16, } from './types';
31
+ export { DELIVERY_DOMAIN_NAME, DELIVERY_DOMAIN_VERSION, DELIVERY_SETUP_TYPES_V1, DELIVERY_ENVELOPE_TYPES_V1, chainIdForNetwork, buildDeliveryDomain, recoverSetupSigner, recoverEnvelopeSigner, DeliveryEip712Error, } from './eip712';
32
+ export type { EphemeralKeyPair } from './keys';
33
+ export { X25519_PUBLIC_KEY_LENGTH, X25519_PRIVATE_KEY_LENGTH, X25519_SHARED_SECRET_LENGTH, DELIVERY_SESSION_KEY_LENGTH, TX_ID_BYTES, DELIVERY_HKDF_INFO_V1, generateEphemeralKeyPair, deriveSharedSecret, deriveSessionKey, pubkeyToHex, pubkeyFromHex, DeliveryCryptoError, } from './keys';
34
+ export type { EncryptResult } from './crypto';
35
+ export { AES_GCM_NONCE_LENGTH, AES_GCM_TAG_LENGTH, AES_KEY_LENGTH, encryptBody, decryptBody, bodyHash, bytesToHex, bytesFromHex, } from './crypto';
36
+ export type { ValidationResult } from './validate';
37
+ export { isValidBytes32, isValidBytes12, isValidBytes16, isValidAddress, isValidUintString, isValidScheme, isValidPrivacy, isValidRole, isCanonicalEmptyBytes32, isCanonicalEmptyBytes12, isCanonicalEmptyBytes16, validateSetupSigned, validateSetupWire, validateEnvelopeSigned, validateEnvelopeWire, validateSchemeConsistency, } from './validate';
38
+ export { DELIVERY_NONCE_KEY_SETUP, DELIVERY_NONCE_KEY_ENVELOPE, } from './nonce-keys';
39
+ export type { DeliveryNonceKey } from './nonce-keys';
40
+ export { DeliverySetupBuilder } from './setupBuilder';
41
+ export type { BuildSetupParams } from './setupBuilder';
42
+ export { DEFAULT_SETUP_EXPIRY_SEC, SETUP_TIMESTAMP_SKEW_SEC, DEFAULT_ACCEPTED_CHANNELS, } from './setupBuilder';
43
+ export { DeliveryEnvelopeBuilder } from './envelopeBuilder';
44
+ export type { BuildPublicEnvelopeParams, BuildEncryptedEnvelopeParams, } from './envelopeBuilder';
45
+ export { ENVELOPE_TIMESTAMP_SKEW_SEC, ENVELOPE_AAD_LENGTH, buildEnvelopeAad, } from './envelopeBuilder';
46
+ export type { DeliveryChannel, DeliverySubscription, SetupCallback, EnvelopeCallback, } from './channel';
47
+ export type { LogFn } from './channelLog';
48
+ export { noopLog } from './channelLog';
49
+ export { MockDeliveryChannel } from './MockDeliveryChannel';
50
+ export type { MockDeliveryChannelOptions } from './MockDeliveryChannel';
51
+ export { RelayDeliveryChannel, POLL_INTERVAL_MS, REQUEST_TIMEOUT_MS, } from './RelayDeliveryChannel';
52
+ export type { RelayDeliveryChannelOptions } from './RelayDeliveryChannel';
53
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,YAAY,EAEV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EAEf,qBAAqB,EACrB,mBAAmB,EAEnB,wBAAwB,EACxB,sBAAsB,EAEtB,gBAAgB,EAChB,mBAAmB,EAEnB,iBAAiB,EACjB,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAMjB,OAAO,EAEL,oBAAoB,EACpB,uBAAuB,EAEvB,uBAAuB,EACvB,0BAA0B,EAE1B,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAMlB,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAEL,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EAEX,qBAAqB,EAErB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAEhB,WAAW,EACX,aAAa,EAEb,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAMhB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAEL,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EAEd,WAAW,EACX,WAAW,EAEX,QAAQ,EAER,UAAU,EACV,YAAY,GACb,MAAM,UAAU,CAAC;AAMlB,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAEL,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,WAAW,EAEX,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAEvB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EAEpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,YAAY,EACV,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAMnB,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * AIP-16 Delivery Surface — Module Barrel
4
+ * ========================================
5
+ *
6
+ * Public re-export surface for the AGIRAILS delivery layer (AIP-16 Rev 5).
7
+ *
8
+ * Phase 2a foundation: types + EIP-712 domain/types/recovery helpers.
9
+ * Later phases add cryptographic primitives (`crypto.ts`), builders
10
+ * (`setupBuilder.ts`, `envelopeBuilder.ts`), verifiers, the channel
11
+ * client, and a structured error class extending `ACTPError`.
12
+ *
13
+ * Consumers SHOULD import from this barrel rather than reaching into
14
+ * individual files, so future internal refactors do not break call
15
+ * sites:
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import {
20
+ * DeliveryScheme,
21
+ * DeliverySetupSignedV1,
22
+ * DeliveryEnvelopeWireV1,
23
+ * CANONICAL_EMPTY_BYTES32,
24
+ * DELIVERY_DOMAIN_NAME,
25
+ * buildDeliveryDomain,
26
+ * recoverSetupSigner,
27
+ * } from '@agirails/sdk/delivery';
28
+ * ```
29
+ */
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.DELIVERY_NONCE_KEY_ENVELOPE = exports.DELIVERY_NONCE_KEY_SETUP = exports.validateSchemeConsistency = exports.validateEnvelopeWire = exports.validateEnvelopeSigned = exports.validateSetupWire = exports.validateSetupSigned = exports.isCanonicalEmptyBytes16 = exports.isCanonicalEmptyBytes12 = exports.isCanonicalEmptyBytes32 = exports.isValidRole = exports.isValidPrivacy = exports.isValidScheme = exports.isValidUintString = exports.isValidAddress = exports.isValidBytes16 = exports.isValidBytes12 = exports.isValidBytes32 = exports.bytesFromHex = exports.bytesToHex = exports.bodyHash = exports.decryptBody = exports.encryptBody = exports.AES_KEY_LENGTH = exports.AES_GCM_TAG_LENGTH = exports.AES_GCM_NONCE_LENGTH = exports.DeliveryCryptoError = exports.pubkeyFromHex = exports.pubkeyToHex = exports.deriveSessionKey = exports.deriveSharedSecret = exports.generateEphemeralKeyPair = exports.DELIVERY_HKDF_INFO_V1 = exports.TX_ID_BYTES = exports.DELIVERY_SESSION_KEY_LENGTH = exports.X25519_SHARED_SECRET_LENGTH = exports.X25519_PRIVATE_KEY_LENGTH = exports.X25519_PUBLIC_KEY_LENGTH = exports.DeliveryEip712Error = exports.recoverEnvelopeSigner = exports.recoverSetupSigner = exports.buildDeliveryDomain = exports.chainIdForNetwork = exports.DELIVERY_ENVELOPE_TYPES_V1 = exports.DELIVERY_SETUP_TYPES_V1 = exports.DELIVERY_DOMAIN_VERSION = exports.DELIVERY_DOMAIN_NAME = exports.CANONICAL_EMPTY_BYTES16 = exports.CANONICAL_EMPTY_BYTES12 = exports.CANONICAL_EMPTY_BYTES32 = void 0;
32
+ exports.REQUEST_TIMEOUT_MS = exports.POLL_INTERVAL_MS = exports.RelayDeliveryChannel = exports.MockDeliveryChannel = exports.noopLog = exports.buildEnvelopeAad = exports.ENVELOPE_AAD_LENGTH = exports.ENVELOPE_TIMESTAMP_SKEW_SEC = exports.DeliveryEnvelopeBuilder = exports.DEFAULT_ACCEPTED_CHANNELS = exports.SETUP_TIMESTAMP_SKEW_SEC = exports.DEFAULT_SETUP_EXPIRY_SEC = exports.DeliverySetupBuilder = void 0;
33
+ var types_1 = require("./types");
34
+ // Canonical empty value constants
35
+ Object.defineProperty(exports, "CANONICAL_EMPTY_BYTES32", { enumerable: true, get: function () { return types_1.CANONICAL_EMPTY_BYTES32; } });
36
+ Object.defineProperty(exports, "CANONICAL_EMPTY_BYTES12", { enumerable: true, get: function () { return types_1.CANONICAL_EMPTY_BYTES12; } });
37
+ Object.defineProperty(exports, "CANONICAL_EMPTY_BYTES16", { enumerable: true, get: function () { return types_1.CANONICAL_EMPTY_BYTES16; } });
38
+ // ---------------------------------------------------------------------------
39
+ // EIP-712 domain, types, and recovery helpers (Phase 2a)
40
+ // ---------------------------------------------------------------------------
41
+ var eip712_1 = require("./eip712");
42
+ // Domain constants
43
+ Object.defineProperty(exports, "DELIVERY_DOMAIN_NAME", { enumerable: true, get: function () { return eip712_1.DELIVERY_DOMAIN_NAME; } });
44
+ Object.defineProperty(exports, "DELIVERY_DOMAIN_VERSION", { enumerable: true, get: function () { return eip712_1.DELIVERY_DOMAIN_VERSION; } });
45
+ // EIP-712 typed-data schemas (field order IMMUTABLE)
46
+ Object.defineProperty(exports, "DELIVERY_SETUP_TYPES_V1", { enumerable: true, get: function () { return eip712_1.DELIVERY_SETUP_TYPES_V1; } });
47
+ Object.defineProperty(exports, "DELIVERY_ENVELOPE_TYPES_V1", { enumerable: true, get: function () { return eip712_1.DELIVERY_ENVELOPE_TYPES_V1; } });
48
+ // Network + domain helpers
49
+ Object.defineProperty(exports, "chainIdForNetwork", { enumerable: true, get: function () { return eip712_1.chainIdForNetwork; } });
50
+ Object.defineProperty(exports, "buildDeliveryDomain", { enumerable: true, get: function () { return eip712_1.buildDeliveryDomain; } });
51
+ // Recovery helpers
52
+ Object.defineProperty(exports, "recoverSetupSigner", { enumerable: true, get: function () { return eip712_1.recoverSetupSigner; } });
53
+ Object.defineProperty(exports, "recoverEnvelopeSigner", { enumerable: true, get: function () { return eip712_1.recoverEnvelopeSigner; } });
54
+ // Error class
55
+ Object.defineProperty(exports, "DeliveryEip712Error", { enumerable: true, get: function () { return eip712_1.DeliveryEip712Error; } });
56
+ var keys_1 = require("./keys");
57
+ // Length constants
58
+ Object.defineProperty(exports, "X25519_PUBLIC_KEY_LENGTH", { enumerable: true, get: function () { return keys_1.X25519_PUBLIC_KEY_LENGTH; } });
59
+ Object.defineProperty(exports, "X25519_PRIVATE_KEY_LENGTH", { enumerable: true, get: function () { return keys_1.X25519_PRIVATE_KEY_LENGTH; } });
60
+ Object.defineProperty(exports, "X25519_SHARED_SECRET_LENGTH", { enumerable: true, get: function () { return keys_1.X25519_SHARED_SECRET_LENGTH; } });
61
+ Object.defineProperty(exports, "DELIVERY_SESSION_KEY_LENGTH", { enumerable: true, get: function () { return keys_1.DELIVERY_SESSION_KEY_LENGTH; } });
62
+ Object.defineProperty(exports, "TX_ID_BYTES", { enumerable: true, get: function () { return keys_1.TX_ID_BYTES; } });
63
+ // HKDF info string for v1
64
+ Object.defineProperty(exports, "DELIVERY_HKDF_INFO_V1", { enumerable: true, get: function () { return keys_1.DELIVERY_HKDF_INFO_V1; } });
65
+ // Core primitives
66
+ Object.defineProperty(exports, "generateEphemeralKeyPair", { enumerable: true, get: function () { return keys_1.generateEphemeralKeyPair; } });
67
+ Object.defineProperty(exports, "deriveSharedSecret", { enumerable: true, get: function () { return keys_1.deriveSharedSecret; } });
68
+ Object.defineProperty(exports, "deriveSessionKey", { enumerable: true, get: function () { return keys_1.deriveSessionKey; } });
69
+ // Hex format helpers
70
+ Object.defineProperty(exports, "pubkeyToHex", { enumerable: true, get: function () { return keys_1.pubkeyToHex; } });
71
+ Object.defineProperty(exports, "pubkeyFromHex", { enumerable: true, get: function () { return keys_1.pubkeyFromHex; } });
72
+ // Error class
73
+ Object.defineProperty(exports, "DeliveryCryptoError", { enumerable: true, get: function () { return keys_1.DeliveryCryptoError; } });
74
+ var crypto_1 = require("./crypto");
75
+ // Length constants
76
+ Object.defineProperty(exports, "AES_GCM_NONCE_LENGTH", { enumerable: true, get: function () { return crypto_1.AES_GCM_NONCE_LENGTH; } });
77
+ Object.defineProperty(exports, "AES_GCM_TAG_LENGTH", { enumerable: true, get: function () { return crypto_1.AES_GCM_TAG_LENGTH; } });
78
+ Object.defineProperty(exports, "AES_KEY_LENGTH", { enumerable: true, get: function () { return crypto_1.AES_KEY_LENGTH; } });
79
+ // AEAD primitives
80
+ Object.defineProperty(exports, "encryptBody", { enumerable: true, get: function () { return crypto_1.encryptBody; } });
81
+ Object.defineProperty(exports, "decryptBody", { enumerable: true, get: function () { return crypto_1.decryptBody; } });
82
+ // keccak256 body hash (for payloadHash binding)
83
+ Object.defineProperty(exports, "bodyHash", { enumerable: true, get: function () { return crypto_1.bodyHash; } });
84
+ // Hex format helpers (wire-boundary serialization)
85
+ Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return crypto_1.bytesToHex; } });
86
+ Object.defineProperty(exports, "bytesFromHex", { enumerable: true, get: function () { return crypto_1.bytesFromHex; } });
87
+ var validate_1 = require("./validate");
88
+ // Primitive validators
89
+ Object.defineProperty(exports, "isValidBytes32", { enumerable: true, get: function () { return validate_1.isValidBytes32; } });
90
+ Object.defineProperty(exports, "isValidBytes12", { enumerable: true, get: function () { return validate_1.isValidBytes12; } });
91
+ Object.defineProperty(exports, "isValidBytes16", { enumerable: true, get: function () { return validate_1.isValidBytes16; } });
92
+ Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return validate_1.isValidAddress; } });
93
+ Object.defineProperty(exports, "isValidUintString", { enumerable: true, get: function () { return validate_1.isValidUintString; } });
94
+ Object.defineProperty(exports, "isValidScheme", { enumerable: true, get: function () { return validate_1.isValidScheme; } });
95
+ Object.defineProperty(exports, "isValidPrivacy", { enumerable: true, get: function () { return validate_1.isValidPrivacy; } });
96
+ Object.defineProperty(exports, "isValidRole", { enumerable: true, get: function () { return validate_1.isValidRole; } });
97
+ // Canonical-empty checks
98
+ Object.defineProperty(exports, "isCanonicalEmptyBytes32", { enumerable: true, get: function () { return validate_1.isCanonicalEmptyBytes32; } });
99
+ Object.defineProperty(exports, "isCanonicalEmptyBytes12", { enumerable: true, get: function () { return validate_1.isCanonicalEmptyBytes12; } });
100
+ Object.defineProperty(exports, "isCanonicalEmptyBytes16", { enumerable: true, get: function () { return validate_1.isCanonicalEmptyBytes16; } });
101
+ // Schema validators
102
+ Object.defineProperty(exports, "validateSetupSigned", { enumerable: true, get: function () { return validate_1.validateSetupSigned; } });
103
+ Object.defineProperty(exports, "validateSetupWire", { enumerable: true, get: function () { return validate_1.validateSetupWire; } });
104
+ Object.defineProperty(exports, "validateEnvelopeSigned", { enumerable: true, get: function () { return validate_1.validateEnvelopeSigned; } });
105
+ Object.defineProperty(exports, "validateEnvelopeWire", { enumerable: true, get: function () { return validate_1.validateEnvelopeWire; } });
106
+ // Cross-field consistency
107
+ Object.defineProperty(exports, "validateSchemeConsistency", { enumerable: true, get: function () { return validate_1.validateSchemeConsistency; } });
108
+ // ============================================================================
109
+ // Nonce key constants (AIP-16 Rev5 — per-builder key separation)
110
+ // ============================================================================
111
+ var nonce_keys_1 = require("./nonce-keys");
112
+ Object.defineProperty(exports, "DELIVERY_NONCE_KEY_SETUP", { enumerable: true, get: function () { return nonce_keys_1.DELIVERY_NONCE_KEY_SETUP; } });
113
+ Object.defineProperty(exports, "DELIVERY_NONCE_KEY_ENVELOPE", { enumerable: true, get: function () { return nonce_keys_1.DELIVERY_NONCE_KEY_ENVELOPE; } });
114
+ // ============================================================================
115
+ // Buyer setup builder + verifier (Phase 2b)
116
+ // ============================================================================
117
+ var setupBuilder_1 = require("./setupBuilder");
118
+ Object.defineProperty(exports, "DeliverySetupBuilder", { enumerable: true, get: function () { return setupBuilder_1.DeliverySetupBuilder; } });
119
+ var setupBuilder_2 = require("./setupBuilder");
120
+ Object.defineProperty(exports, "DEFAULT_SETUP_EXPIRY_SEC", { enumerable: true, get: function () { return setupBuilder_2.DEFAULT_SETUP_EXPIRY_SEC; } });
121
+ Object.defineProperty(exports, "SETUP_TIMESTAMP_SKEW_SEC", { enumerable: true, get: function () { return setupBuilder_2.SETUP_TIMESTAMP_SKEW_SEC; } });
122
+ Object.defineProperty(exports, "DEFAULT_ACCEPTED_CHANNELS", { enumerable: true, get: function () { return setupBuilder_2.DEFAULT_ACCEPTED_CHANNELS; } });
123
+ // ============================================================================
124
+ // Provider envelope builder + verifier + decryptor (Phase 2b)
125
+ // ============================================================================
126
+ var envelopeBuilder_1 = require("./envelopeBuilder");
127
+ Object.defineProperty(exports, "DeliveryEnvelopeBuilder", { enumerable: true, get: function () { return envelopeBuilder_1.DeliveryEnvelopeBuilder; } });
128
+ var envelopeBuilder_2 = require("./envelopeBuilder");
129
+ Object.defineProperty(exports, "ENVELOPE_TIMESTAMP_SKEW_SEC", { enumerable: true, get: function () { return envelopeBuilder_2.ENVELOPE_TIMESTAMP_SKEW_SEC; } });
130
+ Object.defineProperty(exports, "ENVELOPE_AAD_LENGTH", { enumerable: true, get: function () { return envelopeBuilder_2.ENVELOPE_AAD_LENGTH; } });
131
+ Object.defineProperty(exports, "buildEnvelopeAad", { enumerable: true, get: function () { return envelopeBuilder_2.buildEnvelopeAad; } });
132
+ var channelLog_1 = require("./channelLog");
133
+ Object.defineProperty(exports, "noopLog", { enumerable: true, get: function () { return channelLog_1.noopLog; } });
134
+ // ============================================================================
135
+ // Channel implementations (Phase 2b)
136
+ // ============================================================================
137
+ var MockDeliveryChannel_1 = require("./MockDeliveryChannel");
138
+ Object.defineProperty(exports, "MockDeliveryChannel", { enumerable: true, get: function () { return MockDeliveryChannel_1.MockDeliveryChannel; } });
139
+ var RelayDeliveryChannel_1 = require("./RelayDeliveryChannel");
140
+ Object.defineProperty(exports, "RelayDeliveryChannel", { enumerable: true, get: function () { return RelayDeliveryChannel_1.RelayDeliveryChannel; } });
141
+ Object.defineProperty(exports, "POLL_INTERVAL_MS", { enumerable: true, get: function () { return RelayDeliveryChannel_1.POLL_INTERVAL_MS; } });
142
+ Object.defineProperty(exports, "REQUEST_TIMEOUT_MS", { enumerable: true, get: function () { return RelayDeliveryChannel_1.REQUEST_TIMEOUT_MS; } });
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,344 @@
1
+ /**
2
+ * AIP-16 Delivery Surface — X25519 Keys, ECDH, HKDF (Phase 2a Foundation)
3
+ * ========================================================================
4
+ *
5
+ * Cryptographic primitives for the encrypted delivery scheme
6
+ * (`x25519-aes256gcm-v1`) of AIP-16 Rev 5.
7
+ *
8
+ * This module is intentionally *primitive-level* — it deals only in
9
+ * raw key material (Uint8Array), 0x-prefixed hex serialization, and
10
+ * the three numbered steps of the ECDH+HKDF derivation:
11
+ *
12
+ * 1. Generate an ephemeral X25519 keypair.
13
+ * 2. Combine the local secret with the peer's public key (ECDH on
14
+ * Curve25519, per RFC 7748) to produce a 32-byte shared secret.
15
+ * 3. Stretch the shared secret to a 32-byte AES-256-GCM key via
16
+ * HKDF-SHA256 (RFC 5869), using the on-chain `txId` as the salt
17
+ * and `"agirails-delivery-v1"` as the info string.
18
+ *
19
+ * AEAD encryption itself, body framing, and EIP-712 signing live in
20
+ * later phases (`crypto.ts`, `envelopeBuilder.ts`); this file is
21
+ * deliberately small so it can be audited end-to-end.
22
+ *
23
+ * ## Library choice
24
+ *
25
+ * X25519 is implemented via `@noble/curves/ed25519` (audited, no
26
+ * native deps, constant-time on supported runtimes). HKDF-SHA256 is
27
+ * provided by Node's built-in `crypto.hkdfSync` — chosen over
28
+ * `@noble/hashes` to minimize the new-dependency surface. Both choices
29
+ * are deterministic and have no global state.
30
+ *
31
+ * ## Memory hygiene
32
+ *
33
+ * Private key material returned by `generateEphemeralKeyPair` is held
34
+ * in plain `Uint8Array`s. The intent of "ephemeral" in AIP-16 is that
35
+ * the caller derives the session key and then drops the reference to
36
+ * the private key. Forward secrecy against compromise of long-term
37
+ * provider/requester keys is provided by *fresh keypair per delivery*;
38
+ * there is no key-rotation mechanism within a single delivery exchange.
39
+ *
40
+ * Callers SHOULD avoid logging `EphemeralKeyPair.privateKey` or any
41
+ * value derived from it.
42
+ *
43
+ * ## What is NOT here
44
+ *
45
+ * - AES-256-GCM seal/open (later: `crypto.ts`).
46
+ * - keccak256 hashing of body bytes (uses ethers in builders).
47
+ * - EIP-712 signing (already in `eip712.ts`).
48
+ * - Smart-wallet equality checks (later: verifier modules).
49
+ *
50
+ * @module delivery/keys
51
+ * @see {@link https://www.rfc-editor.org/rfc/rfc7748 RFC 7748 — Elliptic Curves for Security (X25519)}
52
+ * @see {@link https://www.rfc-editor.org/rfc/rfc5869 RFC 5869 — HKDF}
53
+ * @see ./types — `DeliveryErrorCode` (crypto_* codes referenced here)
54
+ * @see ./eip712 — EIP-712 domain & recovery (the *other* foundation module)
55
+ */
56
+ import type { DeliveryErrorCode } from './types';
57
+ /**
58
+ * Length (in bytes) of an X25519 public key. RFC 7748 §5.
59
+ *
60
+ * Both the buyer's `buyerEphemeralPubkey` field and the provider's
61
+ * `providerEphemeralPubkey` field in the signed EIP-712 payloads carry
62
+ * exactly this many bytes (encoded as `bytes32` in the typed-data
63
+ * schema; X25519 keys happen to also be 32 bytes, which is why a
64
+ * single `bytes32` slot fits).
65
+ */
66
+ export declare const X25519_PUBLIC_KEY_LENGTH: 32;
67
+ /**
68
+ * Length (in bytes) of an X25519 private key (clamped scalar). RFC 7748 §5.
69
+ *
70
+ * Equal to {@link X25519_PUBLIC_KEY_LENGTH}, which is coincidence — the
71
+ * scalar field of Curve25519 is 252 bits but is encoded into a 32-byte
72
+ * little-endian field with the canonical clamping applied by
73
+ * `@noble/curves`.
74
+ */
75
+ export declare const X25519_PRIVATE_KEY_LENGTH: 32;
76
+ /**
77
+ * Length (in bytes) of the X25519 shared secret produced by ECDH.
78
+ *
79
+ * Per RFC 7748 the shared secret is the 32-byte little-endian encoding
80
+ * of the resulting u-coordinate.
81
+ */
82
+ export declare const X25519_SHARED_SECRET_LENGTH: 32;
83
+ /**
84
+ * Length (in bytes) of the session key derived from HKDF. Sized for
85
+ * AES-256-GCM (the only AEAD scheme defined for `x25519-aes256gcm-v1`).
86
+ */
87
+ export declare const DELIVERY_SESSION_KEY_LENGTH: 32;
88
+ /**
89
+ * Length (in bytes) of an on-chain `txId` (`bytes32`).
90
+ *
91
+ * The txId is used directly as the HKDF salt: it is high-entropy
92
+ * (keccak256 of requester/provider/amount/serviceHash/nonce) and
93
+ * unique per transaction, satisfying RFC 5869's salt recommendation
94
+ * ("a non-secret random value, ideally hash-output length").
95
+ */
96
+ export declare const TX_ID_BYTES: 32;
97
+ /**
98
+ * HKDF `info` string for v1 delivery session-key derivation.
99
+ *
100
+ * Per RFC 5869 the `info` parameter provides context binding so that
101
+ * the same `(ikm, salt)` pair produces distinct keys for distinct
102
+ * application contexts. Locking this string at v1 prevents accidental
103
+ * key reuse with any future delivery scheme that lands in v2.
104
+ *
105
+ * Encoded as UTF-8 bytes when passed to `hkdfSync`.
106
+ */
107
+ export declare const DELIVERY_HKDF_INFO_V1: "agirails-delivery-v1";
108
+ /**
109
+ * Error thrown by the delivery key primitives when key material or
110
+ * ECDH/HKDF inputs are malformed, or when the derivation produces a
111
+ * degenerate result (e.g. all-zero shared secret indicating a
112
+ * low-order peer pubkey).
113
+ *
114
+ * Mirrors the `DeliveryEip712Error` pattern from `./eip712.ts` — a
115
+ * plain `Error` subclass with a stable `code` field. The codes here
116
+ * are drawn from the `crypto_*` subset of {@link DeliveryErrorCode}.
117
+ *
118
+ * The higher-level `ACTPError`-based delivery class is introduced
119
+ * alongside the builders/verifiers in a later phase; for the
120
+ * pre-builder foundation we keep the dependency surface minimal (no
121
+ * `ACTPError` import, no `State` import).
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * try {
126
+ * const shared = deriveSharedSecret(myPriv, peerPub);
127
+ * } catch (err) {
128
+ * if (err instanceof DeliveryCryptoError) {
129
+ * console.error(err.code, err.message, err.details);
130
+ * }
131
+ * throw err;
132
+ * }
133
+ * ```
134
+ */
135
+ export declare class DeliveryCryptoError extends Error {
136
+ /** Stable machine-actionable error code from the `crypto_*` subset. */
137
+ readonly code: DeliveryErrorCode;
138
+ /** Optional structured details for debugging (expected/actual lengths, etc.). */
139
+ readonly details?: Record<string, unknown>;
140
+ constructor(code: DeliveryErrorCode, message: string, details?: Record<string, unknown>);
141
+ }
142
+ /**
143
+ * A freshly generated X25519 ephemeral keypair.
144
+ *
145
+ * Returned by {@link generateEphemeralKeyPair}. Carries both the raw
146
+ * 32-byte representations (for direct passing to ECDH) and the
147
+ * canonical lowercase 0x-prefixed hex form of the public key (for
148
+ * embedding into the EIP-712 signed projection as `bytes32`).
149
+ *
150
+ * The hex form is provided for the *public* key only; the private key
151
+ * is intentionally NOT serialized to hex by the generator. Callers
152
+ * that need to persist the private key (which AIP-16 does NOT
153
+ * require — keypairs are ephemeral) must do so explicitly.
154
+ */
155
+ export interface EphemeralKeyPair {
156
+ /**
157
+ * X25519 public key as 32 raw bytes.
158
+ *
159
+ * Equal to `pubkeyFromHex(publicKeyHex)` — the two forms are kept
160
+ * in lock-step. Pass this to {@link deriveSharedSecret} (as the
161
+ * peer's pubkey on the receiving side, or for self-verification on
162
+ * the sending side).
163
+ */
164
+ publicKey: Uint8Array;
165
+ /**
166
+ * X25519 private (secret) scalar as 32 raw bytes.
167
+ *
168
+ * SECURITY: this value MUST NOT be logged, persisted to disk, or
169
+ * transmitted across a process boundary. The recommended pattern is
170
+ * to derive the shared secret + session key immediately after
171
+ * generation and let the keypair go out of scope.
172
+ */
173
+ privateKey: Uint8Array;
174
+ /**
175
+ * Canonical 0x-prefixed lowercase hex form of `publicKey`, length 66
176
+ * characters (`"0x" + 64`). Exactly the value to embed into the
177
+ * `buyerEphemeralPubkey` or `providerEphemeralPubkey` field of the
178
+ * signed EIP-712 projection.
179
+ */
180
+ publicKeyHex: `0x${string}`;
181
+ }
182
+ /**
183
+ * Generate a fresh X25519 ephemeral keypair using the system CSPRNG
184
+ * (via `@noble/curves`, which delegates to `crypto.getRandomValues` /
185
+ * `node:crypto.randomBytes`).
186
+ *
187
+ * The returned pair is intended to live for a *single* delivery
188
+ * exchange:
189
+ * - Buyer side: generated when constructing the `DeliverySetup`,
190
+ * public key embedded into `buyerEphemeralPubkey`, private key
191
+ * held in memory until the envelope arrives and is decrypted.
192
+ * - Provider side: generated when sealing the envelope, public key
193
+ * embedded into `providerEphemeralPubkey`, private key used to
194
+ * derive the shared secret and then dropped (forward secrecy w.r.t.
195
+ * long-term provider keys).
196
+ *
197
+ * @returns A new {@link EphemeralKeyPair}.
198
+ * @throws {DeliveryCryptoError} `crypto_keygen_failed` if the
199
+ * underlying library returns key material of unexpected length
200
+ * (defensive — should never happen with `@noble/curves` on a
201
+ * conformant runtime).
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const kp = generateEphemeralKeyPair();
206
+ * // kp.publicKeyHex → "0x" + 64-hex-char ephemeral pubkey
207
+ * // pass kp.publicKey to deriveSharedSecret(myPriv, theirPub) on the peer
208
+ * ```
209
+ */
210
+ export declare function generateEphemeralKeyPair(): EphemeralKeyPair;
211
+ /**
212
+ * Compute the X25519 ECDH shared secret between a local private key
213
+ * and a peer's public key.
214
+ *
215
+ * Per RFC 7748, the shared secret is `X25519(privateKey, peerPubkey)`
216
+ * — the 32-byte little-endian encoding of the u-coordinate of the
217
+ * scalar multiplication. Both inputs MUST be exactly 32 bytes;
218
+ * X25519 itself accepts any 32-byte scalar (the canonical clamping
219
+ * is applied internally by `@noble/curves`), but malformed lengths
220
+ * indicate caller bugs.
221
+ *
222
+ * ## Low-order point check
223
+ *
224
+ * Curve25519 has a small set of "low-order" public keys for which
225
+ * the ECDH output is the all-zero secret regardless of the local
226
+ * private key. A peer that supplies a low-order pubkey can therefore
227
+ * force a known shared secret. We detect this by rejecting all-zero
228
+ * outputs with `crypto_shared_secret_failed`; the caller MUST treat
229
+ * this as a peer-protocol violation, not a transient error.
230
+ *
231
+ * (See RFC 7748 §6.1, which notes that implementations "MAY" reject
232
+ * such inputs; for AGIRAILS we MUST.)
233
+ *
234
+ * @param privateKey - Local X25519 private scalar, exactly 32 bytes.
235
+ * @param peerPubkey - Peer's X25519 public key, exactly 32 bytes.
236
+ * @returns The 32-byte shared secret (NOT the session key — see
237
+ * {@link deriveSessionKey} for the HKDF stretch).
238
+ * @throws {DeliveryCryptoError} `crypto_shared_secret_failed` if
239
+ * either input is the wrong length, if `@noble/curves` raises, or
240
+ * if the resulting shared secret is all-zero (degenerate peer).
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * const shared = deriveSharedSecret(buyerPriv, providerPub);
245
+ * const key = deriveSessionKey(shared, txId);
246
+ * // → 32-byte AES-256-GCM key
247
+ * ```
248
+ */
249
+ export declare function deriveSharedSecret(privateKey: Uint8Array, peerPubkey: Uint8Array): Uint8Array;
250
+ /**
251
+ * Stretch an X25519 shared secret into a 32-byte AES-256-GCM session
252
+ * key via HKDF-SHA256 (RFC 5869).
253
+ *
254
+ * The derivation parameters are locked for AIP-16 v1:
255
+ * - `ikm` = `sharedSecret` (32 bytes, output of {@link deriveSharedSecret})
256
+ * - `salt` = `txId` (32 bytes, decoded from the 0x-prefixed hex form)
257
+ * - `info` = `"agirails-delivery-v1"` UTF-8 by default (overridable
258
+ * for *testing only* via the optional `info` argument —
259
+ * production callers MUST use the default)
260
+ * - `digest` = SHA-256
261
+ * - `keylen` = 32 bytes
262
+ *
263
+ * Salting with the on-chain `txId` binds the session key to a
264
+ * specific ACTP transaction. Even if two parties exchange the same
265
+ * ephemeral keypairs across two different transactions (which would
266
+ * itself be a protocol violation), the resulting session keys would
267
+ * differ — limiting blast radius.
268
+ *
269
+ * ## Implementation choice: node:crypto
270
+ *
271
+ * We use Node's built-in `crypto.hkdfSync` rather than `@noble/hashes`
272
+ * to keep the dependency surface minimal. The behavior is identical:
273
+ * both implementations follow RFC 5869 step-for-step.
274
+ *
275
+ * Note that `hkdfSync` returns an `ArrayBuffer`; we wrap it in a
276
+ * `Uint8Array` view for ergonomic interop with `@noble/curves` and
277
+ * the rest of the SDK.
278
+ *
279
+ * @param sharedSecret - The 32-byte ECDH output from {@link deriveSharedSecret}.
280
+ * @param txId - The on-chain transaction id (`bytes32`) as a 0x-prefixed
281
+ * lowercase hex string (66 chars total).
282
+ * @param info - Optional info string override. Defaults to
283
+ * {@link DELIVERY_HKDF_INFO_V1}. Production callers MUST omit this
284
+ * argument; it exists solely so tests can assert that distinct
285
+ * info strings produce distinct keys (negative test).
286
+ * @returns A 32-byte session key suitable for AES-256-GCM.
287
+ * @throws {DeliveryCryptoError} `crypto_hkdf_failed` on length mismatch,
288
+ * malformed `txId`, or underlying `hkdfSync` failure.
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * const key = deriveSessionKey(shared, '0xabc…32bytes…');
293
+ * // → 32-byte Uint8Array, ready for createCipheriv('aes-256-gcm', key, nonce)
294
+ * ```
295
+ */
296
+ export declare function deriveSessionKey(sharedSecret: Uint8Array, txId: `0x${string}`, info?: string): Uint8Array;
297
+ /**
298
+ * Serialize a 32-byte X25519 public key to its canonical 0x-prefixed
299
+ * lowercase hex form.
300
+ *
301
+ * This is exactly the form embedded into the `bytes32` slots of the
302
+ * signed EIP-712 payloads (`buyerEphemeralPubkey`,
303
+ * `providerEphemeralPubkey`). The lowercase normalization ensures
304
+ * that two SDKs producing the same key produce byte-identical hex
305
+ * strings; the JSON serialization of the wire envelope then has
306
+ * exactly one valid encoding, which is required for any downstream
307
+ * `JSON.stringify` + hash anchoring.
308
+ *
309
+ * @param pubkey - X25519 public key, exactly 32 bytes.
310
+ * @returns The 0x-prefixed lowercase hex form (66 chars).
311
+ * @throws {DeliveryCryptoError} `crypto_keygen_failed` if `pubkey` is
312
+ * not a `Uint8Array` of length 32.
313
+ *
314
+ * @example
315
+ * ```typescript
316
+ * pubkeyToHex(new Uint8Array(32)); // "0x00...00" (32 zero bytes)
317
+ * ```
318
+ */
319
+ export declare function pubkeyToHex(pubkey: Uint8Array): `0x${string}`;
320
+ /**
321
+ * Deserialize a 0x-prefixed hex string into a 32-byte X25519 public
322
+ * key.
323
+ *
324
+ * Accepts both uppercase and lowercase hex digits in the input (for
325
+ * resilience with legacy systems and Ethereum's mixed-case checksum
326
+ * convention — though X25519 keys are NOT checksummed). The output is
327
+ * always raw bytes; if you need the canonical hex form, call
328
+ * `pubkeyToHex` on the result, which will be lowercase.
329
+ *
330
+ * @param hex - 0x-prefixed hex string, exactly 66 characters (`0x` +
331
+ * 64 hex chars).
332
+ * @returns The 32-byte X25519 public key.
333
+ * @throws {DeliveryCryptoError} `crypto_keygen_failed` if `hex` is
334
+ * missing the `0x` prefix, the wrong length, or contains non-hex
335
+ * characters.
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * const bytes = pubkeyFromHex('0x' + 'ab'.repeat(32));
340
+ * // → Uint8Array(32) [0xab, 0xab, …]
341
+ * ```
342
+ */
343
+ export declare function pubkeyFromHex(hex: string): Uint8Array;
344
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/delivery/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMjD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,IAAc,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,IAAc,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,IAAc,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAc,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,IAAc,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,wBAAkC,CAAC;AAMrE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,uEAAuE;IACvE,SAAgB,IAAI,EAAE,iBAAiB,CAAC;IACxC,iFAAiF;IACjF,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGhD,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASpC;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;;;;;;OAOG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;;OAKG;IACH,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;CAC7B;AAwID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,CAsC3D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACrB,UAAU,CA2CZ;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,UAAU,EACxB,IAAI,EAAE,KAAK,MAAM,EAAE,EACnB,IAAI,GAAE,MAA8B,GACnC,UAAU,CAgEZ;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,MAAM,EAAE,CAQ7D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAKrD"}