@1sat/permission-module 0.0.8 → 0.0.10
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/dist/createOneSatPermissionModule.d.ts.map +1 -1
- package/dist/createOneSatPermissionModule.js +0 -2
- package/dist/createOneSatPermissionModule.js.map +1 -1
- package/dist/handlers.d.ts +7 -18
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +16 -79
- package/dist/handlers.js.map +1 -1
- package/dist/types.d.ts +0 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOneSatPermissionModule.d.ts","sourceRoot":"","sources":["../src/createOneSatPermissionModule.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,KAAK,gCAAgC,EAErC,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7B,UAAU,CACT,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,OAAO,CAAC,CAAA;CACnB;AAED,2EAA2E;AAC3E,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAChE,wCAAwC;IACxC,OAAO,IAAI,IAAI,CAAA;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,gCAAgC,GACpC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"createOneSatPermissionModule.d.ts","sourceRoot":"","sources":["../src/createOneSatPermissionModule.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,KAAK,gCAAgC,EAErC,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7B,UAAU,CACT,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,OAAO,CAAC,CAAA;CACnB;AAED,2EAA2E;AAC3E,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAChE,wCAAwC;IACxC,OAAO,IAAI,IAAI,CAAA;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,gCAAgC,GACpC,sBAAsB,CA4DxB"}
|
|
@@ -20,8 +20,6 @@ export function createOneSatPermissionModule(args) {
|
|
|
20
20
|
promptHandler: args.promptHandler,
|
|
21
21
|
cache,
|
|
22
22
|
adminOriginator: args.adminOriginator,
|
|
23
|
-
permissionStore: args.permissionStore,
|
|
24
|
-
pendingProtocolGrants: new Map(),
|
|
25
23
|
};
|
|
26
24
|
return {
|
|
27
25
|
async onRequest(req) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOneSatPermissionModule.js","sourceRoot":"","sources":["../src/createOneSatPermissionModule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,GACzB,MAAM,YAAY,CAAA;AACnB,OAAO,EAEN,8BAA8B,GAC9B,MAAM,SAAS,CAAA;AA0BhB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAsC;IAEtC,MAAM,KAAK,GAAG,IAAI,eAAe,CAChC,IAAI,CAAC,oBAAoB,IAAI,8BAA8B,CAC3D,CAAA;IACD,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,MAAM,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,KAAK;QACL,eAAe,EAAE,IAAI,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"createOneSatPermissionModule.js","sourceRoot":"","sources":["../src/createOneSatPermissionModule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,GACzB,MAAM,YAAY,CAAA;AACnB,OAAO,EAEN,8BAA8B,GAC9B,MAAM,SAAS,CAAA;AA0BhB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAsC;IAEtC,MAAM,KAAK,GAAG,IAAI,eAAe,CAChC,IAAI,CAAC,oBAAoB,IAAI,8BAA8B,CAC3D,CAAA;IACD,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,MAAM,IAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,KAAK;QACL,eAAe,EAAE,IAAI,CAAC,eAAe;KACrC,CAAA;IAED,OAAO;QACN,KAAK,CAAC,SAAS,CAAC,GAAG;YAClB,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,cAAc,CAAC,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAC3C,IAAI,EACJ,GAAG,CAAC,IAAwB,EAC5B,GAAG,CAAC,UAAU,CACd,CAAA;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBACtB,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC9C,IAAI,EACJ,GAAG,CAAC,IAA2B,EAC/B,GAAG,CAAC,UAAU,CACd,CAAA;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBACtB,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAC3C,IAAI,EACJ,GAAG,CAAC,IAAwB,EAC5B,GAAG,CAAC,UAAU,CACd,CAAA;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBACtB,CAAC;gBACD;oBACC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;YAC3B,CAAC;QACF,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO;YAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACvC,OAAO,0BAA0B,CAChC,IAAI,EACJ,GAAyB,EACzB,OAAO,CAAC,UAAU,CAClB,CAAA;YACF,CAAC;YACD,OAAO,GAAG,CAAA;QACX,CAAC;QAED,OAAO;YACN,KAAK,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;KACD,CAAA;AACF,CAAC"}
|
package/dist/handlers.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { CreateActionArgs, CreateActionResult, CreateSignatureArgs, GetPublicKeyArgs, WalletInterface } from '@bsv/sdk';
|
|
2
|
-
import { type IPermissionStore } from '@1sat/wallet';
|
|
3
2
|
import { CommitmentCache } from './commitmentCache';
|
|
4
3
|
import type { PromptHandler } from './types';
|
|
5
4
|
interface HandlerDeps {
|
|
@@ -7,15 +6,6 @@ interface HandlerDeps {
|
|
|
7
6
|
promptHandler: PromptHandler;
|
|
8
7
|
cache: CommitmentCache;
|
|
9
8
|
adminOriginator?: string;
|
|
10
|
-
permissionStore?: IPermissionStore;
|
|
11
|
-
/**
|
|
12
|
-
* Coalesces concurrent protocol-access prompts for the same originator.
|
|
13
|
-
* deriveDepositAddresses typically issues N parallel getPublicKey calls
|
|
14
|
-
* (one per derivation index) — without coalescing the user sees N
|
|
15
|
-
* prompts. With it: the first call opens the prompt, the rest await
|
|
16
|
-
* the same Promise.
|
|
17
|
-
*/
|
|
18
|
-
pendingProtocolGrants: Map<string, Promise<boolean>>;
|
|
19
9
|
}
|
|
20
10
|
/**
|
|
21
11
|
* createAction onRequest:
|
|
@@ -46,14 +36,13 @@ export declare function handleCreateActionResponse(deps: HandlerDeps, res: Creat
|
|
|
46
36
|
export declare function handleCreateSignatureRequest(deps: HandlerDeps, args: CreateSignatureArgs, originator: string): Promise<CreateSignatureArgs>;
|
|
47
37
|
/**
|
|
48
38
|
* getPublicKey onRequest:
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* (createAction/createSignature) is gated separately, per-operation.
|
|
39
|
+
* Pass through unconditionally. P1SAT_PROTOCOL is security level 0 —
|
|
40
|
+
* public-key revelation is the open default per BRC-100. Public keys
|
|
41
|
+
* are not signing authority; the signing oracle is gated at
|
|
42
|
+
* createAction (rich intent prompt + hashOutputs commitment) and
|
|
43
|
+
* createSignature (commitment verify or prompt). The connect dialog
|
|
44
|
+
* already discloses address-derivation access at the wallet level.
|
|
56
45
|
*/
|
|
57
|
-
export declare function handleGetPublicKeyRequest(
|
|
46
|
+
export declare function handleGetPublicKeyRequest(_deps: HandlerDeps, args: GetPublicKeyArgs, _originator: string): Promise<GetPublicKeyArgs>;
|
|
58
47
|
export {};
|
|
59
48
|
//# sourceMappingURL=handlers.d.ts.map
|
package/dist/handlers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAGhB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAGhB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,UAAU,WAAW;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,eAAe,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAqC3B;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC/C,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CACjD,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,mBAAmB,EACzB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAuC9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC9C,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|
package/dist/handlers.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Transaction } from '@bsv/sdk';
|
|
2
|
-
import { P1SAT_PROTOCOL } from '@1sat/types';
|
|
3
|
-
import { normalizeOriginator, } from '@1sat/wallet';
|
|
4
2
|
import { enrichIntent } from './enrichIntent';
|
|
5
3
|
import { computeHashOutputs } from './hashOutputs';
|
|
6
4
|
import { substitutePlaceholders } from './placeholder';
|
|
@@ -101,9 +99,14 @@ export async function handleCreateActionResponse(deps, res, originator) {
|
|
|
101
99
|
export async function handleCreateSignatureRequest(deps, args, originator) {
|
|
102
100
|
if (isAdmin(deps, originator))
|
|
103
101
|
return args;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
102
|
+
// `args.data` carries the full BIP-143 preimage when the caller is
|
|
103
|
+
// signing a tx input (signP2PKHInput passes both `data: preimage` and
|
|
104
|
+
// `hashToDirectlySign: sha256(sha256(preimage))`). Prefer `data` so we
|
|
105
|
+
// can parse hashOutputs + outpoint and verify against the commitment;
|
|
106
|
+
// fall back to `hashToDirectlySign` only when `data` is absent.
|
|
107
|
+
const preimage = args.data ?? args.hashToDirectlySign;
|
|
108
|
+
if (preimage && preimage.length >= MIN_BIP143_PREIMAGE_BYTES) {
|
|
109
|
+
const parsed = parsePreimage(preimage);
|
|
107
110
|
if (parsed) {
|
|
108
111
|
const commitment = deps.cache.findByHashOutputs(originator, parsed.hashOutputs);
|
|
109
112
|
if (commitment && commitment.authorizedOutpoints.has(parsed.outpoint)) {
|
|
@@ -121,7 +124,7 @@ export async function handleCreateSignatureRequest(deps, args, originator) {
|
|
|
121
124
|
protocolID: args.protocolID,
|
|
122
125
|
keyID: args.keyID,
|
|
123
126
|
counterparty: args.counterparty,
|
|
124
|
-
dataLength:
|
|
127
|
+
dataLength: preimage?.length ?? 0,
|
|
125
128
|
},
|
|
126
129
|
summary: 'Sign payload',
|
|
127
130
|
});
|
|
@@ -132,65 +135,14 @@ export async function handleCreateSignatureRequest(deps, args, originator) {
|
|
|
132
135
|
}
|
|
133
136
|
/**
|
|
134
137
|
* getPublicKey onRequest:
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* (createAction/createSignature) is gated separately, per-operation.
|
|
138
|
+
* Pass through unconditionally. P1SAT_PROTOCOL is security level 0 —
|
|
139
|
+
* public-key revelation is the open default per BRC-100. Public keys
|
|
140
|
+
* are not signing authority; the signing oracle is gated at
|
|
141
|
+
* createAction (rich intent prompt + hashOutputs commitment) and
|
|
142
|
+
* createSignature (commitment verify or prompt). The connect dialog
|
|
143
|
+
* already discloses address-derivation access at the wallet level.
|
|
142
144
|
*/
|
|
143
|
-
export async function handleGetPublicKeyRequest(
|
|
144
|
-
if (isAdmin(deps, originator))
|
|
145
|
-
return args;
|
|
146
|
-
// Normalize the originator the same way LocalWalletPermissionsManager
|
|
147
|
-
// does so the grant we write lands in the same key bucket the wallet's
|
|
148
|
-
// existing `listProtocolPermissions` / revoke flows query.
|
|
149
|
-
const normalized = normalizeOriginator(originator);
|
|
150
|
-
const grantKey = buildProtocolGrantKey(normalized);
|
|
151
|
-
if (deps.permissionStore) {
|
|
152
|
-
const existing = await deps.permissionStore.findGrant(grantKey);
|
|
153
|
-
if (existing && !isExpired(existing.expiry))
|
|
154
|
-
return args;
|
|
155
|
-
}
|
|
156
|
-
// Coalesce concurrent prompts for the same originator. The first call
|
|
157
|
-
// opens the prompt; any other getPublicKey requests that arrive while
|
|
158
|
-
// it's pending await the same Promise instead of opening duplicates.
|
|
159
|
-
let pending = deps.pendingProtocolGrants.get(originator);
|
|
160
|
-
if (!pending) {
|
|
161
|
-
pending = (async () => {
|
|
162
|
-
try {
|
|
163
|
-
const approved = await deps.promptHandler({
|
|
164
|
-
kind: 'protocol',
|
|
165
|
-
originator,
|
|
166
|
-
intent: {
|
|
167
|
-
protocolID: P1SAT_PROTOCOL,
|
|
168
|
-
counterparty: 'self',
|
|
169
|
-
access: 'read-only',
|
|
170
|
-
notes: 'Allows the app to derive your 1Sat addresses for receiving funds. Signing is approved separately for each transaction.',
|
|
171
|
-
},
|
|
172
|
-
summary: 'Allow read-only 1Sat protocol access (address derivation)',
|
|
173
|
-
});
|
|
174
|
-
if (approved && deps.permissionStore) {
|
|
175
|
-
await deps.permissionStore.putGrant({
|
|
176
|
-
key: grantKey,
|
|
177
|
-
expiry: 0,
|
|
178
|
-
grantedAt: Date.now(),
|
|
179
|
-
reason: '1Sat read-only protocol access',
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
return approved;
|
|
183
|
-
}
|
|
184
|
-
finally {
|
|
185
|
-
deps.pendingProtocolGrants.delete(originator);
|
|
186
|
-
}
|
|
187
|
-
})();
|
|
188
|
-
deps.pendingProtocolGrants.set(originator, pending);
|
|
189
|
-
}
|
|
190
|
-
const approved = await pending;
|
|
191
|
-
if (!approved) {
|
|
192
|
-
throw new Error('1Sat permission module: user rejected protocol access.');
|
|
193
|
-
}
|
|
145
|
+
export async function handleGetPublicKeyRequest(_deps, args, _originator) {
|
|
194
146
|
return args;
|
|
195
147
|
}
|
|
196
148
|
// ---------------------------------------------------------------------------
|
|
@@ -199,21 +151,6 @@ export async function handleGetPublicKeyRequest(deps, args, originator) {
|
|
|
199
151
|
function isAdmin(deps, originator) {
|
|
200
152
|
return !!deps.adminOriginator && originator === deps.adminOriginator;
|
|
201
153
|
}
|
|
202
|
-
function buildProtocolGrantKey(normalizedOriginator) {
|
|
203
|
-
return {
|
|
204
|
-
type: 'protocol',
|
|
205
|
-
originator: normalizedOriginator,
|
|
206
|
-
privileged: false,
|
|
207
|
-
protocolLevel: P1SAT_PROTOCOL[0],
|
|
208
|
-
protocolName: P1SAT_PROTOCOL[1],
|
|
209
|
-
counterparty: 'self',
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
function isExpired(expiry) {
|
|
213
|
-
if (expiry === 0)
|
|
214
|
-
return false;
|
|
215
|
-
return Math.floor(Date.now() / 1000) > expiry;
|
|
216
|
-
}
|
|
217
154
|
function resolveInputOutpoint(inputs, refVin) {
|
|
218
155
|
const inp = inputs[refVin];
|
|
219
156
|
if (!inp?.outpoint)
|
package/dist/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AASA,OAAO,EAAQ,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { IPermissionStore } from '@1sat/wallet';
|
|
2
1
|
import type { WalletInterface } from '@bsv/sdk';
|
|
3
2
|
/**
|
|
4
3
|
* Default commitment cache TTL (seconds). After this window the captured
|
|
@@ -64,16 +63,5 @@ export interface CreateOneSatPermissionModuleArgs {
|
|
|
64
63
|
* `adminOriginator` value if your wallet wires it through.
|
|
65
64
|
*/
|
|
66
65
|
adminOriginator?: string;
|
|
67
|
-
/**
|
|
68
|
-
* Permission store for persisting the read-only `'p 1sat'` protocol
|
|
69
|
-
* grant. Pass the **same `IPermissionStore` instance** the host
|
|
70
|
-
* wallet's `LocalWalletPermissionsManager` is using — the module
|
|
71
|
-
* writes grants in the canonical shape so the wallet's existing
|
|
72
|
-
* `listProtocolPermissions` / revoke flows pick them up.
|
|
73
|
-
*
|
|
74
|
-
* If omitted, every `getPublicKey` call from an external originator
|
|
75
|
-
* triggers a fresh prompt — workable but noisy.
|
|
76
|
-
*/
|
|
77
|
-
permissionStore?: IPermissionStore;
|
|
78
66
|
}
|
|
79
67
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAEhD,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IAClC,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAA;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAExE,uDAAuD;AACvD,MAAM,WAAW,gCAAgC;IAChD;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB,0CAA0C;IAC1C,aAAa,EAAE,aAAa,CAAA;IAC5B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/permission-module",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "1Sat permission module for WalletPermissionsManager — gates createSignature with hashOutputs commitments captured at createAction time",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@1sat/types": "0.0.25",
|
|
33
|
-
"@1sat/actions": "0.0.
|
|
33
|
+
"@1sat/actions": "0.0.144",
|
|
34
34
|
"@1sat/wallet": "0.0.75"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|