@1sat/actions 0.0.49 → 0.0.50

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.
@@ -1,26 +1,30 @@
1
1
  /**
2
2
  * Identity Module
3
3
  *
4
- * BAP identity actions: attestations and alias/profile updates.
5
- * Uses the wallet's BAP signing key ([1, "sigma"] / "identity") via applyAip.
4
+ * BAP identity actions using the wallet's identity-{N} key derivation scheme.
6
5
  *
7
- * Prerequisite: Sigma Identity must seed the wallet's `bap` basket with
8
- * an output tagged `type:id` and `bapId:<hash>` so actions can resolve
9
- * the BAP identity key from wallet state.
6
+ * Key hierarchy:
7
+ * identity-0 = root key (BAP ID source, signs initial publish)
8
+ * identity-{N} = current signing key (N tracked via seq tags on outputs)
9
+ *
10
+ * All keys derived at protocolID=[1,"sigma"], keyID="identity-{N}".
10
11
  */
11
12
  import type { Action, OneSatContext } from '../types';
12
13
  /**
13
- * Resolve the BAP identity key from the wallet's `bap` basket.
14
+ * Compute the BAP ID deterministically from the wallet's identity-0 key.
15
+ *
16
+ * BAP ID = base58(ripemd160(sha256(identity-0.address)))
17
+ *
18
+ * This always returns a value — every wallet can derive identity-0.
19
+ */
20
+ export declare function computeBapId(ctx: OneSatContext): Promise<string>;
21
+ /**
22
+ * Resolve the BAP ID if the identity has been published.
14
23
  *
15
- * Looks for an output tagged `type:id` and extracts the `bapId:` tag value.
16
- * Returns null if no identity output exists (Sigma Identity hasn't seeded
17
- * the wallet yet).
24
+ * Returns the BAP ID if a `type:id` output exists in the BAP basket,
25
+ * null if the identity hasn't been published yet.
18
26
  */
19
27
  export declare function resolveBapId(ctx: OneSatContext): Promise<string | null>;
20
- export interface PublishIdentityRequest {
21
- /** Pre-signed BAP ID locking script hex (AIP-signed with root key) */
22
- signedScript: string;
23
- }
24
28
  export interface AttestRequest {
25
29
  /** SHA-256 hash of the attestation URN (urn:bap:id:attribute:value:nonce) */
26
30
  attestationHash: string;
@@ -34,6 +38,7 @@ export interface UpdateProfileRequest {
34
38
  export interface IdentityResponse {
35
39
  txid?: string;
36
40
  rawtx?: string;
41
+ bapId?: string;
37
42
  error?: string;
38
43
  }
39
44
  export interface ProfileResponse {
@@ -42,31 +47,36 @@ export interface ProfileResponse {
42
47
  error?: string;
43
48
  }
44
49
  /**
45
- * Publish a BAP ID record using a pre-signed locking script.
50
+ * Publish the initial BAP ID record.
46
51
  *
47
- * The caller (Sigma Identity) signs the ID OP_RETURN with the root key
48
- * via PrivateKeySigner + AIP. This action validates the script, verifies
49
- * the AIP signature, confirms the currentAddress matches this wallet,
50
- * then funds the transaction via the BRC-100 wallet. The output lands
51
- * in the `bap` basket so that resolveBapId() can find it.
52
+ * Derives identity-0 (root key), computes the BAP ID, and publishes
53
+ * the ID record signed by identity-0 via AIP. The output lands in
54
+ * the `bap` basket tagged with seq:1.
52
55
  *
53
- * For Droplit-funded onboarding, use internalizeAction() directly instead.
56
+ * Returns an error if an identity has already been published.
54
57
  */
55
- export declare const publishIdentity: Action<PublishIdentityRequest, IdentityResponse>;
58
+ export declare const publishIdentity: Action<Record<string, never>, IdentityResponse>;
59
+ /**
60
+ * Rotate the BAP signing key.
61
+ *
62
+ * Finds the current signing key (highest sequence), derives the next
63
+ * key (identity-{N+1}), builds a new BAP ID record declaring the new
64
+ * currentAddress, signs it with the outgoing key, and publishes.
65
+ * The previous ID output is relinquished.
66
+ */
67
+ export declare const rotateIdentity: Action<Record<string, never>, IdentityResponse>;
56
68
  /**
57
69
  * Publish a BAP ATTEST transaction.
58
70
  *
59
71
  * OP_RETURN: BAP_PREFIX | "ATTEST" | attestation_hash | counter
60
- * Signed with AIP via the wallet's BAP signing key.
72
+ * Signed with AIP via the current signing key.
61
73
  */
62
74
  export declare const attest: Action<AttestRequest, IdentityResponse>;
63
75
  /**
64
76
  * Publish a BAP ALIAS transaction to update the identity's profile.
65
77
  *
66
78
  * OP_RETURN: BAP_PREFIX | "ALIAS" | bap_id | profile_json
67
- * Signed with AIP via the wallet's BAP signing key.
68
- *
69
- * The BAP ID is resolved from the wallet's `bap` basket (seeded by Sigma Identity).
79
+ * Signed with AIP via the current signing key.
70
80
  */
71
81
  export declare const updateProfile: Action<UpdateProfileRequest, IdentityResponse>;
72
82
  /**
@@ -77,5 +87,5 @@ export declare const updateProfile: Action<UpdateProfileRequest, IdentityRespons
77
87
  */
78
88
  export declare const getProfile: Action<Record<string, never>, ProfileResponse>;
79
89
  /** All identity actions for registry */
80
- export declare const identityActions: (Action<PublishIdentityRequest, IdentityResponse> | Action<AttestRequest, IdentityResponse> | Action<UpdateProfileRequest, IdentityResponse> | Action<Record<string, never>, ProfileResponse>)[];
90
+ export declare const identityActions: (Action<Record<string, never>, IdentityResponse> | Action<AttestRequest, IdentityResponse> | Action<UpdateProfileRequest, IdentityResponse> | Action<Record<string, never>, ProfileResponse>)[];
81
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAUrD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAe7E;AAMD,MAAM,WAAW,sBAAsB;IACtC,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC7B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAgJD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,sBAAsB,EAAE,gBAAgB,CA6D3E,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAgE1D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAkFxE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe,CAyDrE,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,eAAe,kMAAuD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AA6BrD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtE;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CACjC,GAAG,EAAE,aAAa,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAiCD,MAAM,WAAW,aAAa;IAC7B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAwE1E,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAmF1E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAqE1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CA8ExE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe,CAqDrE,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,eAAe,iMAM3B,CAAA"}
@@ -1,200 +1,223 @@
1
1
  /**
2
2
  * Identity Module
3
3
  *
4
- * BAP identity actions: attestations and alias/profile updates.
5
- * Uses the wallet's BAP signing key ([1, "sigma"] / "identity") via applyAip.
4
+ * BAP identity actions using the wallet's identity-{N} key derivation scheme.
6
5
  *
7
- * Prerequisite: Sigma Identity must seed the wallet's `bap` basket with
8
- * an output tagged `type:id` and `bapId:<hash>` so actions can resolve
9
- * the BAP identity key from wallet state.
6
+ * Key hierarchy:
7
+ * identity-0 = root key (BAP ID source, signs initial publish)
8
+ * identity-{N} = current signing key (N tracked via seq tags on outputs)
9
+ *
10
+ * All keys derived at protocolID=[1,"sigma"], keyID="identity-{N}".
10
11
  */
11
- import { BSM, BigNumber, OP, PublicKey, Script, Signature, Utils, } from '@bsv/sdk';
12
+ import { Hash, OP, PublicKey, Script, Utils } from '@bsv/sdk';
12
13
  import { BAP_BASKET, BAP_BITCOM_ADDRESS, BAP_KEY_ID, BAP_PROTOCOL_ID, } from '../constants';
13
- import { applyAip } from '../signing/aip';
14
- const { toArray, toUTF8 } = Utils;
15
- const AIP_PREFIX = '15PciHG22SNLQJXMoSUaWVi7WSqc7hCfva';
14
+ import { applyBapAip, resolveCurrentKeyId } from '../signing/aip';
15
+ import { createTrackedAction } from '../utils/createTrackedAction';
16
+ const { toArray, toBase58, toHex } = Utils;
17
+ // ============================================================================
18
+ // Key ID Helpers
19
+ // ============================================================================
20
+ function signingKeyId(index) {
21
+ return `${BAP_KEY_ID}-${index}`;
22
+ }
23
+ async function deriveAddress(ctx, keyID) {
24
+ const { publicKey } = await ctx.wallet.getPublicKey({
25
+ protocolID: BAP_PROTOCOL_ID,
26
+ keyID,
27
+ counterparty: 'self',
28
+ });
29
+ return PublicKey.fromString(publicKey).toAddress();
30
+ }
16
31
  // ============================================================================
17
32
  // BAP ID Resolution
18
33
  // ============================================================================
19
34
  /**
20
- * Resolve the BAP identity key from the wallet's `bap` basket.
35
+ * Compute the BAP ID deterministically from the wallet's identity-0 key.
21
36
  *
22
- * Looks for an output tagged `type:id` and extracts the `bapId:` tag value.
23
- * Returns null if no identity output exists (Sigma Identity hasn't seeded
24
- * the wallet yet).
37
+ * BAP ID = base58(ripemd160(sha256(identity-0.address)))
38
+ *
39
+ * This always returns a value — every wallet can derive identity-0.
40
+ */
41
+ export async function computeBapId(ctx) {
42
+ const address = await deriveAddress(ctx, signingKeyId(0));
43
+ return toBase58(Hash.ripemd160(toHex(Hash.sha256(address, 'utf8')), 'hex'));
44
+ }
45
+ /**
46
+ * Resolve the BAP ID if the identity has been published.
47
+ *
48
+ * Returns the BAP ID if a `type:id` output exists in the BAP basket,
49
+ * null if the identity hasn't been published yet.
25
50
  */
26
51
  export async function resolveBapId(ctx) {
27
52
  const result = await ctx.wallet.listOutputs({
28
53
  basket: BAP_BASKET,
29
54
  tags: ['type:id'],
30
- includeTags: true,
31
55
  limit: 1,
32
56
  });
33
57
  if (!result.outputs.length)
34
58
  return null;
35
- const output = result.outputs[0];
36
- const bapIdTag = output.tags?.find((t) => t.startsWith('bapId:'));
37
- if (!bapIdTag)
59
+ return computeBapId(ctx);
60
+ }
61
+ /**
62
+ * Find the current sequence number from BAP basket ID outputs.
63
+ * Returns the highest seq tag value, or null if no ID outputs exist.
64
+ */
65
+ async function getCurrentSequence(ctx) {
66
+ const result = await ctx.wallet.listOutputs({
67
+ basket: BAP_BASKET,
68
+ tags: ['type:id'],
69
+ includeTags: true,
70
+ limit: 100,
71
+ });
72
+ if (!result.outputs.length)
38
73
  return null;
39
- return bapIdTag.slice('bapId:'.length);
74
+ let maxSeq = 0;
75
+ for (const output of result.outputs) {
76
+ const seqTag = output.tags?.find((t) => t.startsWith('seq:'));
77
+ if (!seqTag)
78
+ continue;
79
+ const seq = Number.parseInt(seqTag.slice(4), 10);
80
+ if (seq > maxSeq)
81
+ maxSeq = seq;
82
+ }
83
+ return maxSeq;
40
84
  }
41
85
  // ============================================================================
42
86
  // Actions
43
87
  // ============================================================================
44
88
  /**
45
- * Parse and validate a BAP ID locking script.
89
+ * Publish the initial BAP ID record.
46
90
  *
47
- * Expected format:
48
- * OP_FALSE OP_RETURN <BAP_PREFIX> <"ID"> <bapId> <currentAddress> | <AIP_PREFIX> <algorithm> <address> <signature>
91
+ * Derives identity-0 (root key), computes the BAP ID, and publishes
92
+ * the ID record signed by identity-0 via AIP. The output lands in
93
+ * the `bap` basket tagged with seq:1.
49
94
  *
50
- * Validates:
51
- * 1. Script structure (BAP prefix, "ID" command, required fields)
52
- * 2. AIP signature over the OP_RETURN content
53
- * 3. currentAddress matches the wallet's BAP-derived key
95
+ * Returns an error if an identity has already been published.
54
96
  */
55
- async function validateBapIdScript(ctx, script) {
56
- const chunks = script.chunks;
57
- // Minimum: OP_FALSE OP_RETURN BAP_PREFIX "ID" bapId currentAddress | AIP_PREFIX algorithm address signature
58
- if (chunks.length < 10) {
59
- return { error: 'invalid-script: too few chunks' };
60
- }
61
- // Verify OP_FALSE OP_RETURN prefix
62
- if (chunks[0].op !== OP.OP_FALSE || chunks[1].op !== OP.OP_RETURN) {
63
- return { error: 'invalid-script: missing OP_FALSE OP_RETURN' };
64
- }
65
- // Verify BAP prefix
66
- const prefix = chunks[2]?.data
67
- ? toUTF8(Array.from(chunks[2].data))
68
- : '';
69
- if (prefix !== BAP_BITCOM_ADDRESS) {
70
- return { error: 'invalid-script: not a BAP record' };
71
- }
72
- // Verify "ID" command
73
- const command = chunks[3]?.data
74
- ? toUTF8(Array.from(chunks[3].data))
75
- : '';
76
- if (command !== 'ID') {
77
- return { error: 'invalid-script: not a BAP ID record' };
78
- }
79
- // Extract bapId and currentAddress
80
- const bapIdData = chunks[4]?.data;
81
- const currentAddressData = chunks[5]?.data;
82
- if (!bapIdData || !currentAddressData) {
83
- return { error: 'invalid-script: missing bapId or currentAddress' };
84
- }
85
- const bapId = toUTF8(Array.from(bapIdData));
86
- const currentAddress = toUTF8(Array.from(currentAddressData));
87
- // Find the pipe delimiter and AIP suffix
88
- let aipStart = -1;
89
- for (let i = 6; i < chunks.length; i++) {
90
- const data = chunks[i]?.data;
91
- if (data && toUTF8(Array.from(data)) === '|') {
92
- aipStart = i + 1;
93
- break;
94
- }
95
- }
96
- if (aipStart < 0 || aipStart + 3 >= chunks.length) {
97
- return { error: 'invalid-script: missing AIP signature' };
98
- }
99
- // Verify AIP prefix
100
- const aipPrefixData = chunks[aipStart]?.data;
101
- if (!aipPrefixData || toUTF8(Array.from(aipPrefixData)) !== AIP_PREFIX) {
102
- return { error: 'invalid-script: invalid AIP prefix' };
103
- }
104
- const aipAddressData = chunks[aipStart + 2]?.data;
105
- const aipSigBytes = chunks[aipStart + 3]?.data;
106
- if (!aipAddressData || !aipSigBytes) {
107
- return { error: 'invalid-script: incomplete AIP signature' };
108
- }
109
- const aipAddress = toUTF8(Array.from(aipAddressData));
110
- // Build the AIP message buffer (OP_RETURN + all push data before the pipe)
111
- const message = [OP.OP_RETURN];
112
- for (let i = 2; i < chunks.length; i++) {
113
- const data = chunks[i]?.data;
114
- if (data && toUTF8(Array.from(data)) === '|')
115
- break;
116
- if (data && data.length > 0) {
117
- message.push(...Array.from(data));
118
- }
119
- }
120
- // Verify AIP signature
121
- const bsmHash = BSM.magicHash(message);
122
- const sig = Signature.fromCompact(Utils.toBase64(Array.from(aipSigBytes)), 'base64');
123
- let sigValid = false;
124
- for (let recovery = 0; recovery < 4; recovery++) {
97
+ export const publishIdentity = {
98
+ meta: {
99
+ name: 'publishIdentity',
100
+ description: 'Publish initial BAP identity record from wallet',
101
+ category: 'identity',
102
+ inputSchema: {
103
+ type: 'object',
104
+ properties: {},
105
+ },
106
+ },
107
+ async execute(ctx) {
125
108
  try {
126
- const pubKey = sig.RecoverPublicKey(recovery, new BigNumber(bsmHash));
127
- if (BSM.verify(message, sig, pubKey) &&
128
- pubKey.toAddress() === aipAddress) {
129
- sigValid = true;
130
- break;
109
+ const existing = await ctx.wallet.listOutputs({
110
+ basket: BAP_BASKET,
111
+ tags: ['type:id'],
112
+ limit: 1,
113
+ });
114
+ if (existing.outputs.length) {
115
+ return { error: 'identity-exists: already published' };
131
116
  }
117
+ const rootKeyId = signingKeyId(0);
118
+ const bapId = await computeBapId(ctx);
119
+ const currentAddress = await deriveAddress(ctx, rootKeyId);
120
+ const script = new Script();
121
+ script.writeOpCode(OP.OP_FALSE);
122
+ script.writeOpCode(OP.OP_RETURN);
123
+ script.writeBin(toArray(BAP_BITCOM_ADDRESS));
124
+ script.writeBin(toArray('ID'));
125
+ script.writeBin(toArray(bapId));
126
+ script.writeBin(toArray(currentAddress));
127
+ const signedScript = await applyBapAip(ctx, script, rootKeyId);
128
+ const result = await createTrackedAction(ctx.wallet, {
129
+ description: 'BAP identity publication',
130
+ outputs: [
131
+ {
132
+ lockingScript: signedScript.toHex(),
133
+ satoshis: 0,
134
+ outputDescription: 'BAP ID',
135
+ basket: BAP_BASKET,
136
+ tags: ['type:id', `bapId:${bapId}`, 'seq:1'],
137
+ customInstructions: JSON.stringify({
138
+ protocolID: BAP_PROTOCOL_ID,
139
+ keyID: rootKeyId,
140
+ }),
141
+ },
142
+ ],
143
+ options: {
144
+ signAndProcess: true,
145
+ acceptDelayedBroadcast: false,
146
+ randomizeOutputs: false,
147
+ },
148
+ });
149
+ if (!result.txid)
150
+ return { error: 'no-txid-returned' };
151
+ return {
152
+ txid: result.txid,
153
+ rawtx: result.tx ? Utils.toHex(result.tx) : undefined,
154
+ bapId,
155
+ };
132
156
  }
133
- catch {
134
- // try next recovery factor
157
+ catch (error) {
158
+ console.error('[publishIdentity]', error);
159
+ return {
160
+ error: error instanceof Error ? error.message : 'unknown-error',
161
+ };
135
162
  }
136
- }
137
- if (!sigValid) {
138
- return { error: 'invalid-signature: AIP signature verification failed' };
139
- }
140
- // Verify currentAddress matches this wallet's BAP-derived key
141
- const { publicKey: walletBapPubKey } = await ctx.wallet.getPublicKey({
142
- protocolID: BAP_PROTOCOL_ID,
143
- keyID: BAP_KEY_ID,
144
- counterparty: 'self',
145
- });
146
- const walletBapAddress = PublicKey.fromString(walletBapPubKey).toAddress();
147
- if (currentAddress !== walletBapAddress) {
148
- return {
149
- error: `address-mismatch: script currentAddress ${currentAddress} does not match wallet BAP address ${walletBapAddress}`,
150
- };
151
- }
152
- return { bapId, currentAddress };
153
- }
163
+ },
164
+ };
154
165
  /**
155
- * Publish a BAP ID record using a pre-signed locking script.
156
- *
157
- * The caller (Sigma Identity) signs the ID OP_RETURN with the root key
158
- * via PrivateKeySigner + AIP. This action validates the script, verifies
159
- * the AIP signature, confirms the currentAddress matches this wallet,
160
- * then funds the transaction via the BRC-100 wallet. The output lands
161
- * in the `bap` basket so that resolveBapId() can find it.
166
+ * Rotate the BAP signing key.
162
167
  *
163
- * For Droplit-funded onboarding, use internalizeAction() directly instead.
168
+ * Finds the current signing key (highest sequence), derives the next
169
+ * key (identity-{N+1}), builds a new BAP ID record declaring the new
170
+ * currentAddress, signs it with the outgoing key, and publishes.
171
+ * The previous ID output is relinquished.
164
172
  */
165
- export const publishIdentity = {
173
+ export const rotateIdentity = {
166
174
  meta: {
167
- name: 'publishIdentity',
168
- description: 'Publish a BAP ID record from a pre-signed script, funded by the wallet',
175
+ name: 'rotateIdentity',
176
+ description: 'Rotate BAP signing key to the next derived key',
169
177
  category: 'identity',
170
178
  inputSchema: {
171
179
  type: 'object',
172
- properties: {
173
- signedScript: {
174
- type: 'string',
175
- description: 'Pre-signed BAP ID locking script hex (AIP-signed with root key)',
176
- },
177
- },
178
- required: ['signedScript'],
180
+ properties: {},
179
181
  },
180
182
  },
181
- async execute(ctx, input) {
183
+ async execute(ctx) {
182
184
  try {
183
- const script = Script.fromHex(input.signedScript);
184
- const validation = await validateBapIdScript(ctx, script);
185
- if ('error' in validation) {
186
- return { error: validation.error };
185
+ const currentSeq = await getCurrentSequence(ctx);
186
+ if (currentSeq === null) {
187
+ return { error: 'no-identity: publish identity first' };
187
188
  }
188
- const { bapId } = validation;
189
- const result = await ctx.wallet.createAction({
190
- description: 'BAP identity publication',
189
+ const currentKeyId = await resolveCurrentKeyId(ctx);
190
+ const bapId = await computeBapId(ctx);
191
+ const nextSeq = currentSeq + 1;
192
+ const nextKeyId = signingKeyId(nextSeq - 1);
193
+ const nextAddress = await deriveAddress(ctx, nextKeyId);
194
+ const script = new Script();
195
+ script.writeOpCode(OP.OP_FALSE);
196
+ script.writeOpCode(OP.OP_RETURN);
197
+ script.writeBin(toArray(BAP_BITCOM_ADDRESS));
198
+ script.writeBin(toArray('ID'));
199
+ script.writeBin(toArray(bapId));
200
+ script.writeBin(toArray(nextAddress));
201
+ const signedScript = await applyBapAip(ctx, script, currentKeyId);
202
+ // Find existing ID outputs to relinquish after rotation
203
+ const existingIds = await ctx.wallet.listOutputs({
204
+ basket: BAP_BASKET,
205
+ tags: ['type:id'],
206
+ limit: 100,
207
+ });
208
+ const result = await createTrackedAction(ctx.wallet, {
209
+ description: 'BAP key rotation',
191
210
  outputs: [
192
211
  {
193
- lockingScript: input.signedScript,
212
+ lockingScript: signedScript.toHex(),
194
213
  satoshis: 0,
195
214
  outputDescription: 'BAP ID',
196
215
  basket: BAP_BASKET,
197
- tags: ['type:id', `bapId:${bapId}`],
216
+ tags: ['type:id', `bapId:${bapId}`, `seq:${nextSeq}`],
217
+ customInstructions: JSON.stringify({
218
+ protocolID: BAP_PROTOCOL_ID,
219
+ keyID: nextKeyId,
220
+ }),
198
221
  },
199
222
  ],
200
223
  options: {
@@ -205,13 +228,20 @@ export const publishIdentity = {
205
228
  });
206
229
  if (!result.txid)
207
230
  return { error: 'no-txid-returned' };
231
+ for (const old of existingIds.outputs) {
232
+ await ctx.wallet.relinquishOutput({
233
+ basket: BAP_BASKET,
234
+ output: old.outpoint,
235
+ });
236
+ }
208
237
  return {
209
238
  txid: result.txid,
210
239
  rawtx: result.tx ? Utils.toHex(result.tx) : undefined,
240
+ bapId,
211
241
  };
212
242
  }
213
243
  catch (error) {
214
- console.error('[publishIdentity]', error);
244
+ console.error('[rotateIdentity]', error);
215
245
  return {
216
246
  error: error instanceof Error ? error.message : 'unknown-error',
217
247
  };
@@ -222,7 +252,7 @@ export const publishIdentity = {
222
252
  * Publish a BAP ATTEST transaction.
223
253
  *
224
254
  * OP_RETURN: BAP_PREFIX | "ATTEST" | attestation_hash | counter
225
- * Signed with AIP via the wallet's BAP signing key.
255
+ * Signed with AIP via the current signing key.
226
256
  */
227
257
  export const attest = {
228
258
  meta: {
@@ -246,6 +276,10 @@ export const attest = {
246
276
  },
247
277
  async execute(ctx, input) {
248
278
  try {
279
+ const bapId = await resolveBapId(ctx);
280
+ if (!bapId) {
281
+ return { error: 'no-identity: publish identity first' };
282
+ }
249
283
  const script = new Script();
250
284
  script.writeOpCode(OP.OP_FALSE);
251
285
  script.writeOpCode(OP.OP_RETURN);
@@ -253,8 +287,8 @@ export const attest = {
253
287
  script.writeBin(toArray('ATTEST'));
254
288
  script.writeBin(toArray(input.attestationHash));
255
289
  script.writeBin(toArray(input.counter ?? '0'));
256
- const signedScript = await applyAip(ctx, script);
257
- const result = await ctx.wallet.createAction({
290
+ const signedScript = await applyBapAip(ctx, script);
291
+ const result = await createTrackedAction(ctx.wallet, {
258
292
  description: 'BAP attestation',
259
293
  outputs: [
260
294
  {
@@ -290,9 +324,7 @@ export const attest = {
290
324
  * Publish a BAP ALIAS transaction to update the identity's profile.
291
325
  *
292
326
  * OP_RETURN: BAP_PREFIX | "ALIAS" | bap_id | profile_json
293
- * Signed with AIP via the wallet's BAP signing key.
294
- *
295
- * The BAP ID is resolved from the wallet's `bap` basket (seeded by Sigma Identity).
327
+ * Signed with AIP via the current signing key.
296
328
  */
297
329
  export const updateProfile = {
298
330
  meta: {
@@ -314,11 +346,8 @@ export const updateProfile = {
314
346
  try {
315
347
  const bapId = await resolveBapId(ctx);
316
348
  if (!bapId) {
317
- return {
318
- error: 'no-bap-identity: publish identity via Sigma Identity first',
319
- };
349
+ return { error: 'no-identity: publish identity first' };
320
350
  }
321
- // Find existing alias outputs to relinquish after the new one is created
322
351
  const existing = await ctx.wallet.listOutputs({
323
352
  basket: BAP_BASKET,
324
353
  tags: ['type:alias'],
@@ -331,8 +360,8 @@ export const updateProfile = {
331
360
  script.writeBin(toArray('ALIAS'));
332
361
  script.writeBin(toArray(bapId));
333
362
  script.writeBin(toArray(JSON.stringify(input.profile)));
334
- const signedScript = await applyAip(ctx, script);
335
- const result = await ctx.wallet.createAction({
363
+ const signedScript = await applyBapAip(ctx, script);
364
+ const result = await createTrackedAction(ctx.wallet, {
336
365
  description: 'BAP alias update',
337
366
  outputs: [
338
367
  {
@@ -351,7 +380,6 @@ export const updateProfile = {
351
380
  });
352
381
  if (!result.txid)
353
382
  return { error: 'no-txid-returned' };
354
- // Relinquish old alias outputs now that the new one is committed
355
383
  for (const old of existing.outputs) {
356
384
  await ctx.wallet.relinquishOutput({
357
385
  basket: BAP_BASKET,
@@ -399,11 +427,8 @@ export const getProfile = {
399
427
  if (!result.outputs.length) {
400
428
  return { error: 'no-profile: no alias output in wallet' };
401
429
  }
402
- // Parse profile from the first output's locking script
403
430
  const primary = result.outputs[0];
404
431
  const script = Script.fromHex(primary.lockingScript ?? '');
405
- // Script: OP_FALSE OP_RETURN <BAP_PREFIX> <"ALIAS"> <bapId> <profileJson> [| AIP...]
406
- // Chunks: [0]=OP_FALSE [1]=OP_RETURN [2]=BAP_PREFIX [3]="ALIAS" [4]=bapId [5]=profileJson
407
432
  const bapIdChunk = script.chunks[4]?.data;
408
433
  const profileChunk = script.chunks[5]?.data;
409
434
  if (!bapIdChunk || !profileChunk) {
@@ -411,7 +436,6 @@ export const getProfile = {
411
436
  }
412
437
  const bapId = Utils.toUTF8(Array.from(bapIdChunk));
413
438
  const profile = JSON.parse(Utils.toUTF8(Array.from(profileChunk)));
414
- // Relinquish duplicates
415
439
  for (const dup of result.outputs.slice(1)) {
416
440
  await ctx.wallet.relinquishOutput({
417
441
  basket: BAP_BASKET,
@@ -429,5 +453,11 @@ export const getProfile = {
429
453
  },
430
454
  };
431
455
  /** All identity actions for registry */
432
- export const identityActions = [publishIdentity, attest, updateProfile, getProfile];
456
+ export const identityActions = [
457
+ publishIdentity,
458
+ rotateIdentity,
459
+ attest,
460
+ updateProfile,
461
+ getProfile,
462
+ ];
433
463
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,28 @@
1
1
  import { Script } from '@bsv/sdk';
2
2
  import type { OneSatContext } from '../types';
3
3
  /**
4
- * Sign OP_RETURN data with AIP using the BRC-100 wallet and append the
5
- * AIP protocol suffix to the provided locking script.
4
+ * Resolve the current BAP signing key ID from the wallet's basket.
6
5
  *
7
- * AIP signs the raw OP_RETURN content via BSM (no input hash or anchor
8
- * transaction simpler than Sigma). The returned script contains the
9
- * original locking script followed by:
6
+ * Scans `type:id` outputs for the highest `seq:N` tag and reads the
7
+ * keyID from customInstructions. Falls back to `identity-0` if no
8
+ * ID outputs exist (identity not yet published).
9
+ */
10
+ export declare function resolveCurrentKeyId(ctx: OneSatContext): Promise<string>;
11
+ /**
12
+ * Sign OP_RETURN data with AIP using any wallet-derived key.
13
+ *
14
+ * General-purpose AIP signing — takes full derivation parameters
15
+ * (protocolID, keyID, counterparty) to sign with any derivable address.
16
+ *
17
+ * The returned script contains the original locking script followed by:
10
18
  * `| AIP_PREFIX BITCOIN_ECDSA <address> <compactSig>`
11
19
  */
12
- export declare function applyAip(ctx: OneSatContext, lockingScript: Script): Promise<Script>;
20
+ export declare function applyAip(ctx: OneSatContext, lockingScript: Script, protocolID: [0 | 1 | 2, string], keyID: string, counterparty: string): Promise<Script>;
21
+ /**
22
+ * Sign OP_RETURN data with AIP using the BAP signing key.
23
+ *
24
+ * When keyID is omitted, resolves the current signing key from the
25
+ * wallet's BAP basket (highest sequence output).
26
+ */
27
+ export declare function applyBapAip(ctx: OneSatContext, lockingScript: Script, keyID?: string): Promise<Script>;
13
28
  //# sourceMappingURL=aip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aip.d.ts","sourceRoot":"","sources":["../../src/signing/aip.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,MAAM,EAAS,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAgC7C;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC7B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"aip.d.ts","sourceRoot":"","sources":["../../src/signing/aip.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,MAAM,EAAS,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAM7C;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,aAAa,GAChB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AA4BD;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC7B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -1,8 +1,38 @@
1
1
  import { AIP, WalletSigner } from '@bopen-io/templates';
2
2
  import { OP, Script, Utils } from '@bsv/sdk';
3
- import { BAP_KEY_ID, BAP_PROTOCOL_ID } from '../constants';
3
+ import { BAP_BASKET, BAP_KEY_ID, BAP_PROTOCOL_ID } from '../constants';
4
4
  const { toArray } = Utils;
5
5
  const AIP_PREFIX = '15PciHG22SNLQJXMoSUaWVi7WSqc7hCfva';
6
+ /**
7
+ * Resolve the current BAP signing key ID from the wallet's basket.
8
+ *
9
+ * Scans `type:id` outputs for the highest `seq:N` tag and reads the
10
+ * keyID from customInstructions. Falls back to `identity-0` if no
11
+ * ID outputs exist (identity not yet published).
12
+ */
13
+ export async function resolveCurrentKeyId(ctx) {
14
+ const result = await ctx.wallet.listOutputs({
15
+ basket: BAP_BASKET,
16
+ tags: ['type:id'],
17
+ includeTags: true,
18
+ includeCustomInstructions: true,
19
+ limit: 100,
20
+ });
21
+ let maxSeq = 0;
22
+ let keyID = `${BAP_KEY_ID}-0`;
23
+ for (const output of result.outputs) {
24
+ const seqTag = output.tags?.find((t) => t.startsWith('seq:'));
25
+ if (!seqTag)
26
+ continue;
27
+ const seq = Number.parseInt(seqTag.slice(4), 10);
28
+ if (seq > maxSeq && output.customInstructions) {
29
+ maxSeq = seq;
30
+ const info = JSON.parse(output.customInstructions);
31
+ keyID = info.keyID;
32
+ }
33
+ }
34
+ return keyID;
35
+ }
6
36
  /**
7
37
  * Build the AIP message buffer from a locking script's OP_RETURN data.
8
38
  *
@@ -28,17 +58,17 @@ function getAipMessageBuffer(lockingScript) {
28
58
  return buf;
29
59
  }
30
60
  /**
31
- * Sign OP_RETURN data with AIP using the BRC-100 wallet and append the
32
- * AIP protocol suffix to the provided locking script.
61
+ * Sign OP_RETURN data with AIP using any wallet-derived key.
62
+ *
63
+ * General-purpose AIP signing — takes full derivation parameters
64
+ * (protocolID, keyID, counterparty) to sign with any derivable address.
33
65
  *
34
- * AIP signs the raw OP_RETURN content via BSM (no input hash or anchor
35
- * transaction — simpler than Sigma). The returned script contains the
36
- * original locking script followed by:
66
+ * The returned script contains the original locking script followed by:
37
67
  * `| AIP_PREFIX BITCOIN_ECDSA <address> <compactSig>`
38
68
  */
39
- export async function applyAip(ctx, lockingScript) {
69
+ export async function applyAip(ctx, lockingScript, protocolID, keyID, counterparty) {
40
70
  const message = getAipMessageBuffer(lockingScript);
41
- const signer = new WalletSigner(ctx.wallet, BAP_PROTOCOL_ID, BAP_KEY_ID, 'self');
71
+ const signer = new WalletSigner(ctx.wallet, protocolID, keyID, counterparty);
42
72
  const aip = await AIP.sign(message, signer);
43
73
  const out = new Script(lockingScript.chunks.slice());
44
74
  out.writeBin(toArray('|'));
@@ -48,4 +78,14 @@ export async function applyAip(ctx, lockingScript) {
48
78
  out.writeBin(aip.data.signature);
49
79
  return out;
50
80
  }
81
+ /**
82
+ * Sign OP_RETURN data with AIP using the BAP signing key.
83
+ *
84
+ * When keyID is omitted, resolves the current signing key from the
85
+ * wallet's BAP basket (highest sequence output).
86
+ */
87
+ export async function applyBapAip(ctx, lockingScript, keyID) {
88
+ const resolvedKeyID = keyID ?? (await resolveCurrentKeyId(ctx));
89
+ return applyAip(ctx, lockingScript, BAP_PROTOCOL_ID, resolvedKeyID, 'self');
90
+ }
51
91
  //# sourceMappingURL=aip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aip.js","sourceRoot":"","sources":["../../src/signing/aip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG1D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;AAEzB,MAAM,UAAU,GAAG,oCAAoC,CAAA;AAEvD;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,aAAqB;IACjD,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,aAAa,GAAG,KAAK,CAAA;IAEzB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;YACtB,aAAa,GAAG,IAAI,CAAA;YACpB,SAAQ;QACT,CAAC;QACD,IAAI,CAAC,aAAa;YAAE,SAAQ;QAC5B,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACpC,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,GAAkB,EAClB,aAAqB;IAErB,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAC9B,GAAG,CAAC,MAAM,EACV,eAAe,EACf,UAAU,EACV,MAAM,CACN,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAE3C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACpD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACzC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IACvC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEhC,OAAO,GAAG,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"aip.js","sourceRoot":"","sources":["../../src/signing/aip.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,6 @@ export interface SignBsmResponse extends Partial<SignedMessage> {
33
33
  export declare const signBsm: Action<SignBsmRequest, SignBsmResponse>;
34
34
  /** All signing actions for registry */
35
35
  export declare const signingActions: Action<SignBsmRequest, SignBsmResponse>[];
36
- export { applyAip } from './aip';
36
+ export { applyAip, applyBapAip, resolveCurrentKeyId } from './aip';
37
37
  export { applySigma } from './sigma';
38
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMtC,MAAM,WAAW,cAAc;IAC9B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,uCAAuC;IACvC,GAAG,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B,CAAA;CACD;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAqE3D,CAAA;AAMD,uCAAuC;AACvC,eAAO,MAAM,cAAc,2CAAY,CAAA;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMtC,MAAM,WAAW,cAAc;IAC9B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,uCAAuC;IACvC,GAAG,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B,CAAA;CACD;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAqE3D,CAAA;AAMD,uCAAuC;AACvC,eAAO,MAAM,cAAc,2CAAY,CAAA;AAGvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
@@ -81,6 +81,6 @@ export const signBsm = {
81
81
  /** All signing actions for registry */
82
82
  export const signingActions = [signBsm];
83
83
  // Signing helpers
84
- export { applyAip } from './aip';
84
+ export { applyAip, applyBapAip, resolveCurrentKeyId } from './aip';
85
85
  export { applySigma } from './sigma';
86
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/actions",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "description": "Action definitions for the 1Sat SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",