@did-btcr2/method 0.27.0 → 0.29.0
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.
- package/README.md +38 -9
- package/dist/.tsbuildinfo +1 -1
- package/dist/browser.js +20181 -31588
- package/dist/browser.mjs +20110 -31517
- package/dist/cjs/index.js +1355 -422
- package/dist/esm/core/aggregation/beacon-strategy.js +62 -0
- package/dist/esm/core/aggregation/beacon-strategy.js.map +1 -0
- package/dist/esm/core/aggregation/cohort.js +31 -8
- package/dist/esm/core/aggregation/cohort.js.map +1 -1
- package/dist/esm/core/aggregation/logger.js +15 -0
- package/dist/esm/core/aggregation/logger.js.map +1 -0
- package/dist/esm/core/aggregation/messages/base.js +12 -1
- package/dist/esm/core/aggregation/messages/base.js.map +1 -1
- package/dist/esm/core/aggregation/messages/bodies.js +90 -0
- package/dist/esm/core/aggregation/messages/bodies.js.map +1 -0
- package/dist/esm/core/aggregation/messages/factories.js.map +1 -1
- package/dist/esm/core/aggregation/messages/index.js +1 -0
- package/dist/esm/core/aggregation/messages/index.js.map +1 -1
- package/dist/esm/core/aggregation/participant.js +39 -46
- package/dist/esm/core/aggregation/participant.js.map +1 -1
- package/dist/esm/core/aggregation/runner/participant-runner.js +34 -4
- package/dist/esm/core/aggregation/runner/participant-runner.js.map +1 -1
- package/dist/esm/core/aggregation/runner/service-runner.js +198 -19
- package/dist/esm/core/aggregation/runner/service-runner.js.map +1 -1
- package/dist/esm/core/aggregation/service.js +143 -15
- package/dist/esm/core/aggregation/service.js.map +1 -1
- package/dist/esm/core/aggregation/signing-session.js +44 -5
- package/dist/esm/core/aggregation/signing-session.js.map +1 -1
- package/dist/esm/core/aggregation/transport/didcomm.js +9 -0
- package/dist/esm/core/aggregation/transport/didcomm.js.map +1 -1
- package/dist/esm/core/aggregation/transport/nostr.js +245 -16
- package/dist/esm/core/aggregation/transport/nostr.js.map +1 -1
- package/dist/esm/core/beacon/beacon.js +147 -61
- package/dist/esm/core/beacon/beacon.js.map +1 -1
- package/dist/esm/core/beacon/utils.js +14 -9
- package/dist/esm/core/beacon/utils.js.map +1 -1
- package/dist/esm/core/updater.js +269 -0
- package/dist/esm/core/updater.js.map +1 -0
- package/dist/esm/did-btcr2.js +30 -46
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/did-document.js +2 -2
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/types/core/aggregation/beacon-strategy.d.ts +52 -0
- package/dist/types/core/aggregation/beacon-strategy.d.ts.map +1 -0
- package/dist/types/core/aggregation/cohort.d.ts +20 -3
- package/dist/types/core/aggregation/cohort.d.ts.map +1 -1
- package/dist/types/core/aggregation/logger.d.ts +22 -0
- package/dist/types/core/aggregation/logger.d.ts.map +1 -0
- package/dist/types/core/aggregation/messages/base.d.ts +13 -1
- package/dist/types/core/aggregation/messages/base.d.ts.map +1 -1
- package/dist/types/core/aggregation/messages/bodies.d.ts +130 -0
- package/dist/types/core/aggregation/messages/bodies.d.ts.map +1 -0
- package/dist/types/core/aggregation/messages/factories.d.ts +1 -0
- package/dist/types/core/aggregation/messages/factories.d.ts.map +1 -1
- package/dist/types/core/aggregation/messages/index.d.ts +1 -0
- package/dist/types/core/aggregation/messages/index.d.ts.map +1 -1
- package/dist/types/core/aggregation/participant.d.ts +2 -0
- package/dist/types/core/aggregation/participant.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/events.d.ts +32 -6
- package/dist/types/core/aggregation/runner/events.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/participant-runner.d.ts +8 -2
- package/dist/types/core/aggregation/runner/participant-runner.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/service-runner.d.ts +33 -3
- package/dist/types/core/aggregation/runner/service-runner.d.ts.map +1 -1
- package/dist/types/core/aggregation/service.d.ts +33 -2
- package/dist/types/core/aggregation/service.d.ts.map +1 -1
- package/dist/types/core/aggregation/signing-session.d.ts +5 -1
- package/dist/types/core/aggregation/signing-session.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/didcomm.d.ts +3 -0
- package/dist/types/core/aggregation/transport/didcomm.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/nostr.d.ts +99 -1
- package/dist/types/core/aggregation/transport/nostr.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/transport.d.ts +25 -0
- package/dist/types/core/aggregation/transport/transport.d.ts.map +1 -1
- package/dist/types/core/beacon/beacon.d.ts +85 -18
- package/dist/types/core/beacon/beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/utils.d.ts +2 -2
- package/dist/types/core/beacon/utils.d.ts.map +1 -1
- package/dist/types/core/updater.d.ts +178 -0
- package/dist/types/core/updater.d.ts.map +1 -0
- package/dist/types/did-btcr2.d.ts +23 -23
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -6
- package/src/core/aggregation/beacon-strategy.ts +123 -0
- package/src/core/aggregation/cohort.ts +34 -8
- package/src/core/aggregation/logger.ts +33 -0
- package/src/core/aggregation/messages/base.ts +20 -5
- package/src/core/aggregation/messages/bodies.ts +223 -0
- package/src/core/aggregation/messages/factories.ts +1 -0
- package/src/core/aggregation/messages/index.ts +1 -0
- package/src/core/aggregation/participant.ts +40 -46
- package/src/core/aggregation/runner/events.ts +27 -3
- package/src/core/aggregation/runner/participant-runner.ts +42 -4
- package/src/core/aggregation/runner/service-runner.ts +227 -19
- package/src/core/aggregation/service.ts +189 -20
- package/src/core/aggregation/signing-session.ts +65 -7
- package/src/core/aggregation/transport/didcomm.ts +17 -0
- package/src/core/aggregation/transport/nostr.ts +266 -23
- package/src/core/aggregation/transport/transport.ts +33 -0
- package/src/core/beacon/beacon.ts +217 -76
- package/src/core/beacon/utils.ts +16 -11
- package/src/core/updater.ts +415 -0
- package/src/did-btcr2.ts +36 -71
- package/src/index.ts +4 -1
- package/src/utils/did-document.ts +2 -2
- package/dist/esm/core/update.js +0 -112
- package/dist/esm/core/update.js.map +0 -1
- package/dist/types/core/update.d.ts +0 -52
- package/dist/types/core/update.d.ts.map +0 -1
- package/src/core/update.ts +0 -158
package/dist/esm/did-btcr2.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { IdentifierHrp, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, METHOD_NOT_SUPPORTED, MethodError, UpdateError } from '@did-btcr2/common';
|
|
2
2
|
import { Did, DidError, DidErrorCode } from '@web5/dids';
|
|
3
|
-
import * as ecc from '@bitcoinerlab/secp256k1';
|
|
4
|
-
import { hexToBytes } from '@noble/hashes/utils';
|
|
5
|
-
import { initEccLib } from 'bitcoinjs-lib';
|
|
6
3
|
import { Identifier } from './core/identifier.js';
|
|
7
4
|
import { Resolver } from './core/resolver.js';
|
|
8
|
-
import {
|
|
5
|
+
import { Updater } from './core/updater.js';
|
|
9
6
|
import { Appendix } from './utils/appendix.js';
|
|
10
|
-
/** Initialize secp256k1 ECC library */
|
|
11
|
-
initEccLib(ecc);
|
|
12
7
|
/**
|
|
13
8
|
* Implements {@link https://dcdpr.github.io/did-btcr2 | did:btcr2 DID Method Specification}.
|
|
14
9
|
* did:btcr2 is a censorship-resistant Decentralized Identifier (DID) method using
|
|
@@ -92,34 +87,29 @@ export class DidBtcr2 {
|
|
|
92
87
|
});
|
|
93
88
|
}
|
|
94
89
|
/**
|
|
95
|
-
* Entry point for section {@link https://dcdpr.github.io/did-btcr2/#
|
|
96
|
-
* See specification for the {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process | Resolve Process}.
|
|
97
|
-
* See {@link Update | Update (class)} for class implementation.
|
|
90
|
+
* Entry point for section {@link https://dcdpr.github.io/did-btcr2/#update | 7.3 Update}.
|
|
98
91
|
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
92
|
+
* Factory method that validates the update parameters and returns a sans-I/O
|
|
93
|
+
* {@link Updater} state machine. The caller drives the updater through its
|
|
94
|
+
* phases (Construct → Sign → Broadcast → Complete) by calling `advance()` and
|
|
95
|
+
* `provide()`. The method package performs **zero I/O** — signing key retrieval
|
|
96
|
+
* (or KMS delegation) and the on-chain broadcast are the caller's responsibility.
|
|
97
|
+
*
|
|
98
|
+
* For a fully-wired version with Bitcoin broadcast and key handling, see
|
|
99
|
+
* `DidMethodApi.update()` in `@did-btcr2/api`.
|
|
100
|
+
*
|
|
101
|
+
* @param params Update construction parameters.
|
|
103
102
|
* @param {Btcr2DidDocument} params.sourceDocument The DID document being updated.
|
|
104
|
-
* @param {PatchOperation[]} params.patches The
|
|
105
|
-
* @param {
|
|
106
|
-
* @param {string} params.verificationMethodId The
|
|
107
|
-
* @param {string} params.beaconId The beacon ID
|
|
108
|
-
* @
|
|
109
|
-
* @
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* header is not `zQ3s`
|
|
103
|
+
* @param {PatchOperation[]} params.patches The JSON Patch operations to apply.
|
|
104
|
+
* @param {number} params.sourceVersionId The version ID before applying the update.
|
|
105
|
+
* @param {string} params.verificationMethodId The verification method ID to sign with.
|
|
106
|
+
* @param {string} params.beaconId The beacon service ID to broadcast through.
|
|
107
|
+
* @returns {Updater} A sans-I/O state machine for driving the update.
|
|
108
|
+
* @throws {UpdateError} If the verification method is not authorized, not found,
|
|
109
|
+
* not of type `Multikey`, or does not have a `zQ3s` publicKeyMultibase prefix.
|
|
110
|
+
* Also throws if the beacon service is not found.
|
|
113
111
|
*/
|
|
114
|
-
static
|
|
115
|
-
// If no signingMaterial provided, throw an UpdateError with INVALID_DID_UPDATE.
|
|
116
|
-
if (!signingMaterial) {
|
|
117
|
-
throw new UpdateError('Missing signing material for update', INVALID_DID_UPDATE, { signingMaterial });
|
|
118
|
-
}
|
|
119
|
-
// Convert signingMaterial to bytes if it's a hex string
|
|
120
|
-
const secretKey = typeof signingMaterial === 'string'
|
|
121
|
-
? hexToBytes(signingMaterial)
|
|
122
|
-
: signingMaterial;
|
|
112
|
+
static update({ sourceDocument, patches, sourceVersionId, verificationMethodId, beaconId, }) {
|
|
123
113
|
// Validate that the verificationMethodId is authorized for capabilityInvocation
|
|
124
114
|
if (!sourceDocument.capabilityInvocation?.some(vr => vr === verificationMethodId)) {
|
|
125
115
|
throw new UpdateError('Invalid verificationMethodId: not authorized for capabilityInvocation', INVALID_DID_DOCUMENT, sourceDocument);
|
|
@@ -138,28 +128,22 @@ export class DidBtcr2 {
|
|
|
138
128
|
if (verificationMethod.publicKeyMultibase?.slice(0, 4) !== 'zQ3s') {
|
|
139
129
|
throw new UpdateError('Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"', INVALID_DID_DOCUMENT, verificationMethod);
|
|
140
130
|
}
|
|
141
|
-
//
|
|
142
|
-
const update = Update.construct(sourceDocument, patches, sourceVersionId);
|
|
143
|
-
// Sign the unsigned update using the specified verification method
|
|
144
|
-
const signed = Update.sign(sourceDocument.id, update, verificationMethod, secretKey);
|
|
145
|
-
// Filter sourceDocument services to get beaconServices matching beaconIds
|
|
131
|
+
// Find the beacon service matching the given beaconId
|
|
146
132
|
const beaconService = sourceDocument.service
|
|
147
133
|
.filter((service) => service.id === beaconId)
|
|
148
134
|
.filter((service) => !!service)
|
|
149
135
|
.shift();
|
|
150
|
-
// If no matching beacon service found, throw an UpdateError with INVALID_DID_UPDATE.
|
|
151
136
|
if (!beaconService) {
|
|
152
137
|
throw new UpdateError('No beacon service found for provided beaconId', INVALID_DID_UPDATE, { sourceDocument, beaconId });
|
|
153
138
|
}
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return signed;
|
|
139
|
+
// Return a sans-I/O state machine the caller will drive
|
|
140
|
+
return new Updater({
|
|
141
|
+
sourceDocument,
|
|
142
|
+
patches,
|
|
143
|
+
sourceVersionId,
|
|
144
|
+
verificationMethod,
|
|
145
|
+
beaconService,
|
|
146
|
+
});
|
|
163
147
|
}
|
|
164
148
|
/**
|
|
165
149
|
* Given the W3C DID Document of a `did:btcr2` identifier, return the signing verification method that will be used
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export * from './core/aggregation/cohort.js';
|
|
|
5
5
|
export * from './core/aggregation/signing-session.js';
|
|
6
6
|
export * from './core/aggregation/phases.js';
|
|
7
7
|
export * from './core/aggregation/errors.js';
|
|
8
|
+
export * from './core/aggregation/beacon-strategy.js';
|
|
9
|
+
export * from './core/aggregation/logger.js';
|
|
8
10
|
export * from './core/aggregation/messages/index.js';
|
|
9
11
|
export * from './core/aggregation/transport/index.js';
|
|
10
12
|
export * from './core/aggregation/runner/index.js';
|
|
@@ -13,6 +15,7 @@ export * from './core/beacon/beacon.js';
|
|
|
13
15
|
export * from './core/beacon/cas-beacon.js';
|
|
14
16
|
export * from './core/beacon/error.js';
|
|
15
17
|
export * from './core/beacon/factory.js';
|
|
18
|
+
export * from './core/beacon/fee-estimator.js';
|
|
16
19
|
export * from './core/beacon/interfaces.js';
|
|
17
20
|
export * from './core/beacon/signal-discovery.js';
|
|
18
21
|
export * from './core/beacon/singleton-beacon.js';
|
|
@@ -23,7 +26,7 @@ export * from './core/identifier.js';
|
|
|
23
26
|
export * from './core/interfaces.js';
|
|
24
27
|
export * from './core/resolver.js';
|
|
25
28
|
export * from './core/types.js';
|
|
26
|
-
export * from './core/
|
|
29
|
+
export * from './core/updater.js';
|
|
27
30
|
// Utils
|
|
28
31
|
export * from './utils/appendix.js';
|
|
29
32
|
export * from './utils/did-document-builder.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,UAAU;AACV,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AAEvC,OAAO;AACP,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AAEnD,UAAU;AACV,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AAEvC,OAAO;AACP,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,QAAQ;AACR,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AAExC,SAAS;AACT,cAAc,gBAAgB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { getNetwork } from '@did-btcr2/bitcoin';
|
|
|
2
2
|
import { canonicalize, DidDocumentError, hash, IdentifierTypes, INVALID_DID_DOCUMENT, JSONUtils } from '@did-btcr2/common';
|
|
3
3
|
import { CompressedSecp256k1PublicKey } from '@did-btcr2/keypair';
|
|
4
4
|
import { isDidService } from '@web5/dids/utils';
|
|
5
|
-
import {
|
|
5
|
+
import { p2pkh } from '@scure/btc-signer';
|
|
6
6
|
import { Identifier } from '../core/identifier.js';
|
|
7
7
|
import { Appendix } from './appendix.js';
|
|
8
8
|
export const BTCR2_DID_DOCUMENT_CONTEXT = [
|
|
@@ -382,7 +382,7 @@ export class GenesisDocument extends DidDocument {
|
|
|
382
382
|
static fromPublicKey(publicKey, network) {
|
|
383
383
|
const pk = new CompressedSecp256k1PublicKey(publicKey);
|
|
384
384
|
const id = ID_PLACEHOLDER_VALUE;
|
|
385
|
-
const address =
|
|
385
|
+
const address = p2pkh(pk.compressed, getNetwork(network)).address;
|
|
386
386
|
const services = [{
|
|
387
387
|
id: `${id}#service-0`,
|
|
388
388
|
serviceEndpoint: `bitcoin:${address}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,oBAAoB,EACpB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { SignedBTCR2Update } from '@did-btcr2/cryptosuite';
|
|
2
|
+
import type { SerializedSMTProof } from '@did-btcr2/smt';
|
|
3
|
+
import type { AggregationCohort } from './cohort.js';
|
|
4
|
+
import type { BaseBody } from './messages/base.js';
|
|
5
|
+
/** Validation result returned to the participant for a distribute-data message. */
|
|
6
|
+
export interface BeaconValidationResult {
|
|
7
|
+
matches: boolean;
|
|
8
|
+
casAnnouncement?: Record<string, string>;
|
|
9
|
+
smtProof?: SerializedSMTProof;
|
|
10
|
+
}
|
|
11
|
+
/** Per-participant body attached to DISTRIBUTE_AGGREGATED_DATA by the service. */
|
|
12
|
+
export interface BeaconDistributePayload {
|
|
13
|
+
casAnnouncement?: Record<string, string>;
|
|
14
|
+
smtProof?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Pluggable strategy for beacon-type-specific aggregation, distribution, and
|
|
18
|
+
* participant-side validation. Lets new beacon types be added without
|
|
19
|
+
* modifying the service or participant state machines: register a new strategy
|
|
20
|
+
* via {@link registerBeaconStrategy}.
|
|
21
|
+
*/
|
|
22
|
+
export interface AggregateBeaconStrategy {
|
|
23
|
+
/** String constant used as `beaconType` on CohortConfig / BaseMessage bodies. */
|
|
24
|
+
readonly type: string;
|
|
25
|
+
/**
|
|
26
|
+
* Service: build the aggregated data on the cohort after all updates are
|
|
27
|
+
* collected. Implementation should mutate the cohort (set signalBytes,
|
|
28
|
+
* casAnnouncement, smtProofs, etc.).
|
|
29
|
+
*/
|
|
30
|
+
buildAggregatedData(cohort: AggregationCohort): void;
|
|
31
|
+
/**
|
|
32
|
+
* Service: produce the body fields to attach to DISTRIBUTE_AGGREGATED_DATA
|
|
33
|
+
* for a specific participant. Called once per cohort member.
|
|
34
|
+
*/
|
|
35
|
+
getDistributePayload(cohort: AggregationCohort, participantDid: string): BeaconDistributePayload;
|
|
36
|
+
/**
|
|
37
|
+
* Participant: verify the aggregated data they received reflects their own
|
|
38
|
+
* submitted update. Pure function — returns matches + sidecar fields for
|
|
39
|
+
* the caller to store.
|
|
40
|
+
*/
|
|
41
|
+
validateParticipantView(params: {
|
|
42
|
+
participantDid: string;
|
|
43
|
+
submittedUpdate: SignedBTCR2Update;
|
|
44
|
+
expectedHash: string;
|
|
45
|
+
body: BaseBody;
|
|
46
|
+
}): BeaconValidationResult;
|
|
47
|
+
}
|
|
48
|
+
/** Register a custom beacon strategy. Overwrites any existing entry with the same type. */
|
|
49
|
+
export declare function registerBeaconStrategy(strategy: AggregateBeaconStrategy): void;
|
|
50
|
+
/** Look up a registered beacon strategy by type, or undefined if not registered. */
|
|
51
|
+
export declare function getBeaconStrategy(type: string): AggregateBeaconStrategy | undefined;
|
|
52
|
+
//# sourceMappingURL=beacon-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beacon-strategy.d.ts","sourceRoot":"","sources":["../../../../src/core/aggregation/beacon-strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAEjG;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE;QAC9B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,iBAAiB,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,QAAQ,CAAC;KAChB,GAAG,sBAAsB,CAAC;CAC5B;AA4DD,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAE9E;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEnF"}
|
|
@@ -35,8 +35,19 @@ export declare class AggregationCohort {
|
|
|
35
35
|
beaconType: string;
|
|
36
36
|
/** List of participant DIDs that have been accepted into the cohort. */
|
|
37
37
|
participants: Array<string>;
|
|
38
|
-
/**
|
|
39
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Mapping from participant DID → their compressed secp256k1 public key.
|
|
40
|
+
* Distinct from {@link cohortKeys} (which is sorted per BIP-327) — this lets
|
|
41
|
+
* callers look up a participant's key without knowing their position in the
|
|
42
|
+
* sorted array. Populated by the service at `acceptParticipant` time.
|
|
43
|
+
*/
|
|
44
|
+
participantKeys: Map<string, Uint8Array>;
|
|
45
|
+
/**
|
|
46
|
+
* BIP-341 TapTweak — `taggedHash("TapTweak", internalPubkey)` for a key-path-only
|
|
47
|
+
* Taproot output. Despite prior naming, this is NOT a Merkle root: key-path-only
|
|
48
|
+
* spends have no script tree.
|
|
49
|
+
*/
|
|
50
|
+
tapTweak: Uint8Array;
|
|
40
51
|
/** The n-of-n MuSig2 Taproot beacon address. */
|
|
41
52
|
beaconAddress: string;
|
|
42
53
|
/** Pending DID updates submitted by participants, keyed by DID. */
|
|
@@ -57,7 +68,7 @@ export declare class AggregationCohort {
|
|
|
57
68
|
set cohortKeys(keys: Array<Uint8Array>);
|
|
58
69
|
/**
|
|
59
70
|
* Computes the n-of-n MuSig2 Taproot beacon address from cohort keys.
|
|
60
|
-
* Sets `
|
|
71
|
+
* Sets `tapTweak` to the BIP-341 key-path-only tweak.
|
|
61
72
|
*/
|
|
62
73
|
computeBeaconAddress(): string;
|
|
63
74
|
/**
|
|
@@ -66,6 +77,12 @@ export declare class AggregationCohort {
|
|
|
66
77
|
* messages from the service.
|
|
67
78
|
*/
|
|
68
79
|
validateMembership(participantPkHex: string, cohortKeysHex: Array<string>, expectedBeaconAddress: string): void;
|
|
80
|
+
/**
|
|
81
|
+
* Returns the position of a participant's public key in the sorted
|
|
82
|
+
* {@link cohortKeys} array, or -1 if the participant is not in the cohort.
|
|
83
|
+
* Required by MuSig2 partial-sig verification which indexes by signer position.
|
|
84
|
+
*/
|
|
85
|
+
indexOfParticipant(did: string): number;
|
|
69
86
|
addUpdate(participantDid: string, signedUpdate: SignedBTCR2Update): void;
|
|
70
87
|
hasAllUpdates(): boolean;
|
|
71
88
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohort.d.ts","sourceRoot":"","sources":["../../../../src/core/aggregation/cohort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cohort.d.ts","sourceRoot":"","sources":["../../../../src/core/aggregation/cohort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,gBAAgB,CAAC;AAMpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;;IAC5B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IAEnB,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAC;IAExB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAEhB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAEjC;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAKrD;;;;OAIG;IACH,QAAQ,EAAE,UAAU,CAAoB;IAExC,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAM;IAE3B,mEAAmE;IACnE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAa;IAE3D,qFAAqF;IACrF,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,yDAAyD;IACzD,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE5C,sFAAsF;IACtF,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,sEAAsE;IACtE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAExC,sEAAsE;IACtE,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAElC,EAAE,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,uBAAuB;IAQ7F,6DAA6D;IAC7D,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAElC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAErC;IAED;;;OAGG;IACI,oBAAoB,IAAI,MAAM;IAyBrC;;;;OAIG;IACI,kBAAkB,CACvB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAC5B,qBAAqB,EAAE,MAAM,GAC5B,IAAI;IAiBP;;;;OAIG;IACI,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQvC,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAUxE,aAAa,IAAI,OAAO;IAI/B;;;;OAIG;IACI,oBAAoB,IAAI,eAAe;IAgB9C;;;;OAIG;IACI,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IA4B/C,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAcrE;;OAEG;IACI,yBAAyB,IAAI,OAAO;IAI3C;;;OAGG;IACI,gBAAgB,IAAI,OAAO;CAInC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal injectable logger for the aggregation subsystem.
|
|
3
|
+
*
|
|
4
|
+
* Each runner and transport adapter accepts a `Logger` option; the default is
|
|
5
|
+
* {@link CONSOLE_LOGGER}, which forwards to `console.*`. Pass
|
|
6
|
+
* {@link SILENT_LOGGER} to suppress output (useful for tests) or a custom
|
|
7
|
+
* implementation to route logs to pino, winston, Sentry, etc.
|
|
8
|
+
*
|
|
9
|
+
* The interface is intentionally small — we don't want production code taking
|
|
10
|
+
* a hard dependency on any specific logger library.
|
|
11
|
+
*/
|
|
12
|
+
export interface Logger {
|
|
13
|
+
debug(message: string, ...args: unknown[]): void;
|
|
14
|
+
info(message: string, ...args: unknown[]): void;
|
|
15
|
+
warn(message: string, ...args: unknown[]): void;
|
|
16
|
+
error(message: string, ...args: unknown[]): void;
|
|
17
|
+
}
|
|
18
|
+
/** Console-backed logger. Default for runners and transports. */
|
|
19
|
+
export declare const CONSOLE_LOGGER: Logger;
|
|
20
|
+
/** No-op logger. Useful for tests and production environments with own logging pipeline. */
|
|
21
|
+
export declare const SILENT_LOGGER: Logger;
|
|
22
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/core/aggregation/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED,iEAAiE;AACjE,eAAO,MAAM,cAAc,EAAE,MAK5B,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,aAAa,EAAE,MAK3B,CAAC"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current on-the-wire protocol version.
|
|
3
|
+
*
|
|
4
|
+
* Receivers reject messages with an unknown (mismatched) version. Bumping this
|
|
5
|
+
* requires coordinated updates across all participants and any intermediate
|
|
6
|
+
* relays that inspect message content.
|
|
7
|
+
*/
|
|
8
|
+
export declare const AGGREGATION_WIRE_VERSION = 1;
|
|
1
9
|
export type BaseBody = {
|
|
2
10
|
cohortId: string;
|
|
3
11
|
cohortSize?: number;
|
|
@@ -10,6 +18,8 @@ export type BaseBody = {
|
|
|
10
18
|
nonceContribution?: Uint8Array;
|
|
11
19
|
partialSignature?: Uint8Array;
|
|
12
20
|
pendingTx?: string;
|
|
21
|
+
/** Hex-encoded scriptPubKey of the UTXO being spent. Required for BIP-341 sighash. */
|
|
22
|
+
prevOutScriptHex?: string;
|
|
13
23
|
prevOutValue?: string;
|
|
14
24
|
communicationPk?: Uint8Array;
|
|
15
25
|
beaconType?: string;
|
|
@@ -22,16 +32,18 @@ export type BaseBody = {
|
|
|
22
32
|
};
|
|
23
33
|
export type Base = {
|
|
24
34
|
type: string;
|
|
35
|
+
version?: number;
|
|
25
36
|
to?: string;
|
|
26
37
|
from: string;
|
|
27
38
|
body?: BaseBody;
|
|
28
39
|
};
|
|
29
40
|
export declare class BaseMessage {
|
|
30
41
|
type: string;
|
|
42
|
+
version: number;
|
|
31
43
|
to?: string;
|
|
32
44
|
from: string;
|
|
33
45
|
body?: BaseBody;
|
|
34
|
-
constructor({ type, to, from, body }: Base);
|
|
46
|
+
constructor({ type, version, to, from, body }: Base);
|
|
35
47
|
/**
|
|
36
48
|
* Converts a BaseMessage to a JSON object.
|
|
37
49
|
* @returns {Base} The JSON representation of the BaseMessage.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/base.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,qBAAa,WAAW;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;gBAEX,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,qBAAa,WAAW;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;gBAEX,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI;IAQnD;;;OAGG;IACI,MAAM,IAAI,IAAI;CAStB"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-message-type body interfaces and a discriminated {@link AggregationMessage}
|
|
3
|
+
* union.
|
|
4
|
+
*
|
|
5
|
+
* {@link BaseBody} remains the superset-of-all-fields body type used by the
|
|
6
|
+
* raw {@link BaseMessage} class (see `base.ts`). The narrow interfaces here
|
|
7
|
+
* describe what each specific message type is *required* to carry and are
|
|
8
|
+
* exposed alongside type guards for consumers who want compile-time narrowing.
|
|
9
|
+
*
|
|
10
|
+
* Guards validate both `type` and the presence of required body fields so they
|
|
11
|
+
* are safe to use on messages that have round-tripped through JSON / a relay.
|
|
12
|
+
*/
|
|
13
|
+
import type { SerializedSMTProof } from '@did-btcr2/smt';
|
|
14
|
+
import type { BaseMessage } from './base.js';
|
|
15
|
+
import { AGGREGATED_NONCE, AUTHORIZATION_REQUEST, COHORT_ADVERT, COHORT_OPT_IN, COHORT_OPT_IN_ACCEPT, COHORT_READY, DISTRIBUTE_AGGREGATED_DATA, NONCE_CONTRIBUTION, SIGNATURE_AUTHORIZATION, SUBMIT_UPDATE, VALIDATION_ACK } from './constants.js';
|
|
16
|
+
export interface CohortAdvertBody {
|
|
17
|
+
cohortId: string;
|
|
18
|
+
cohortSize: number;
|
|
19
|
+
beaconType: string;
|
|
20
|
+
network: string;
|
|
21
|
+
communicationPk: Uint8Array;
|
|
22
|
+
}
|
|
23
|
+
export interface CohortOptInBody {
|
|
24
|
+
cohortId: string;
|
|
25
|
+
participantPk: Uint8Array;
|
|
26
|
+
communicationPk: Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
export interface CohortOptInAcceptBody {
|
|
29
|
+
cohortId: string;
|
|
30
|
+
}
|
|
31
|
+
export interface CohortReadyBody {
|
|
32
|
+
cohortId: string;
|
|
33
|
+
beaconAddress: string;
|
|
34
|
+
cohortKeys: Array<Uint8Array>;
|
|
35
|
+
}
|
|
36
|
+
export interface SubmitUpdateBody {
|
|
37
|
+
cohortId: string;
|
|
38
|
+
signedUpdate: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
export interface DistributeAggregatedDataBody {
|
|
41
|
+
cohortId: string;
|
|
42
|
+
beaconType: string;
|
|
43
|
+
signalBytesHex: string;
|
|
44
|
+
casAnnouncement?: Record<string, string>;
|
|
45
|
+
smtProof?: Record<string, unknown> | SerializedSMTProof;
|
|
46
|
+
}
|
|
47
|
+
export interface ValidationAckBody {
|
|
48
|
+
cohortId: string;
|
|
49
|
+
approved: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface AuthorizationRequestBody {
|
|
52
|
+
cohortId: string;
|
|
53
|
+
sessionId: string;
|
|
54
|
+
pendingTx: string;
|
|
55
|
+
prevOutScriptHex: string;
|
|
56
|
+
prevOutValue: string;
|
|
57
|
+
}
|
|
58
|
+
export interface NonceContributionBody {
|
|
59
|
+
cohortId: string;
|
|
60
|
+
sessionId: string;
|
|
61
|
+
nonceContribution: Uint8Array;
|
|
62
|
+
}
|
|
63
|
+
export interface AggregatedNonceBody {
|
|
64
|
+
cohortId: string;
|
|
65
|
+
sessionId: string;
|
|
66
|
+
aggregatedNonce: Uint8Array;
|
|
67
|
+
}
|
|
68
|
+
export interface SignatureAuthorizationBody {
|
|
69
|
+
cohortId: string;
|
|
70
|
+
sessionId: string;
|
|
71
|
+
partialSignature: Uint8Array;
|
|
72
|
+
}
|
|
73
|
+
export type CohortAdvertMessage = BaseMessage & {
|
|
74
|
+
type: typeof COHORT_ADVERT;
|
|
75
|
+
body: CohortAdvertBody;
|
|
76
|
+
};
|
|
77
|
+
export type CohortOptInMessage = BaseMessage & {
|
|
78
|
+
type: typeof COHORT_OPT_IN;
|
|
79
|
+
body: CohortOptInBody;
|
|
80
|
+
};
|
|
81
|
+
export type CohortOptInAcceptMessage = BaseMessage & {
|
|
82
|
+
type: typeof COHORT_OPT_IN_ACCEPT;
|
|
83
|
+
body: CohortOptInAcceptBody;
|
|
84
|
+
};
|
|
85
|
+
export type CohortReadyMessage = BaseMessage & {
|
|
86
|
+
type: typeof COHORT_READY;
|
|
87
|
+
body: CohortReadyBody;
|
|
88
|
+
};
|
|
89
|
+
export type SubmitUpdateMessage = BaseMessage & {
|
|
90
|
+
type: typeof SUBMIT_UPDATE;
|
|
91
|
+
body: SubmitUpdateBody;
|
|
92
|
+
};
|
|
93
|
+
export type DistributeAggregatedDataMessage = BaseMessage & {
|
|
94
|
+
type: typeof DISTRIBUTE_AGGREGATED_DATA;
|
|
95
|
+
body: DistributeAggregatedDataBody;
|
|
96
|
+
};
|
|
97
|
+
export type ValidationAckMessage = BaseMessage & {
|
|
98
|
+
type: typeof VALIDATION_ACK;
|
|
99
|
+
body: ValidationAckBody;
|
|
100
|
+
};
|
|
101
|
+
export type AuthorizationRequestMessage = BaseMessage & {
|
|
102
|
+
type: typeof AUTHORIZATION_REQUEST;
|
|
103
|
+
body: AuthorizationRequestBody;
|
|
104
|
+
};
|
|
105
|
+
export type NonceContributionMessage = BaseMessage & {
|
|
106
|
+
type: typeof NONCE_CONTRIBUTION;
|
|
107
|
+
body: NonceContributionBody;
|
|
108
|
+
};
|
|
109
|
+
export type AggregatedNonceMessage = BaseMessage & {
|
|
110
|
+
type: typeof AGGREGATED_NONCE;
|
|
111
|
+
body: AggregatedNonceBody;
|
|
112
|
+
};
|
|
113
|
+
export type SignatureAuthorizationMessage = BaseMessage & {
|
|
114
|
+
type: typeof SIGNATURE_AUTHORIZATION;
|
|
115
|
+
body: SignatureAuthorizationBody;
|
|
116
|
+
};
|
|
117
|
+
/** Discriminated union of every well-formed aggregation message. */
|
|
118
|
+
export type AggregationMessage = CohortAdvertMessage | CohortOptInMessage | CohortOptInAcceptMessage | CohortReadyMessage | SubmitUpdateMessage | DistributeAggregatedDataMessage | ValidationAckMessage | AuthorizationRequestMessage | NonceContributionMessage | AggregatedNonceMessage | SignatureAuthorizationMessage;
|
|
119
|
+
export declare function isCohortAdvertMessage(m: BaseMessage): m is CohortAdvertMessage;
|
|
120
|
+
export declare function isCohortOptInMessage(m: BaseMessage): m is CohortOptInMessage;
|
|
121
|
+
export declare function isCohortOptInAcceptMessage(m: BaseMessage): m is CohortOptInAcceptMessage;
|
|
122
|
+
export declare function isCohortReadyMessage(m: BaseMessage): m is CohortReadyMessage;
|
|
123
|
+
export declare function isSubmitUpdateMessage(m: BaseMessage): m is SubmitUpdateMessage;
|
|
124
|
+
export declare function isDistributeAggregatedDataMessage(m: BaseMessage): m is DistributeAggregatedDataMessage;
|
|
125
|
+
export declare function isValidationAckMessage(m: BaseMessage): m is ValidationAckMessage;
|
|
126
|
+
export declare function isAuthorizationRequestMessage(m: BaseMessage): m is AuthorizationRequestMessage;
|
|
127
|
+
export declare function isNonceContributionMessage(m: BaseMessage): m is NonceContributionMessage;
|
|
128
|
+
export declare function isAggregatedNonceMessage(m: BaseMessage): m is AggregatedNonceMessage;
|
|
129
|
+
export declare function isSignatureAuthorizationMessage(m: BaseMessage): m is SignatureAuthorizationMessage;
|
|
130
|
+
//# sourceMappingURL=bodies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bodies.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/bodies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/factories.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/factories.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/aggregation/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
@@ -34,6 +34,8 @@ export interface PendingSigningRequest {
|
|
|
34
34
|
cohortId: string;
|
|
35
35
|
sessionId: string;
|
|
36
36
|
pendingTxHex: string;
|
|
37
|
+
/** Hex-encoded scriptPubKey of the UTXO being spent. Required for BIP-341 sighash. */
|
|
38
|
+
prevOutScriptHex: string;
|
|
37
39
|
prevOutValue: string;
|
|
38
40
|
}
|
|
39
41
|
export interface AggregationParticipantParams {
|