@1sat/templates 0.0.3 → 0.0.4
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/bitcom/sigma.d.ts +7 -5
- package/dist/bitcom/sigma.d.ts.map +1 -1
- package/dist/bitcom/sigma.js +10 -7
- package/dist/bitcom/sigma.js.map +1 -1
- package/package.json +5 -12
package/dist/bitcom/sigma.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { type LockingScript, type PrivateKey, type PublicKey, Script, type ScriptTemplate, type Transaction, type UnlockingScript } from '@bsv/sdk';
|
|
2
|
-
import { Algorithm } from 'sigma-protocol';
|
|
3
2
|
import { type BitComDecoded } from './bitcom.js';
|
|
4
3
|
/**
|
|
5
4
|
* SIGMA protocol identifier
|
|
6
5
|
*/
|
|
7
6
|
export declare const SIGMA_PREFIX = "SIGMA";
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* Signing algorithm for SIGMA signatures
|
|
10
9
|
*/
|
|
11
|
-
export
|
|
10
|
+
export declare enum SigmaAlgorithm {
|
|
11
|
+
BSM = "BSM",
|
|
12
|
+
BRC77 = "BRC77"
|
|
13
|
+
}
|
|
12
14
|
/**
|
|
13
15
|
* SIGMA signature data structure
|
|
14
16
|
*/
|
|
@@ -16,7 +18,7 @@ export interface SigmaData {
|
|
|
16
18
|
/** BitCom protocol index */
|
|
17
19
|
bitcomIndex?: number;
|
|
18
20
|
/** Signing algorithm (BSM or BRC77) */
|
|
19
|
-
algorithm:
|
|
21
|
+
algorithm: SigmaAlgorithm;
|
|
20
22
|
/** Bitcoin address of signer */
|
|
21
23
|
address: string;
|
|
22
24
|
/** Cryptographic signature as number array */
|
|
@@ -31,7 +33,7 @@ export interface SigmaData {
|
|
|
31
33
|
*/
|
|
32
34
|
export interface SigmaOptions {
|
|
33
35
|
/** Signing algorithm (default: BSM) */
|
|
34
|
-
algorithm?:
|
|
36
|
+
algorithm?: SigmaAlgorithm;
|
|
35
37
|
/** Input index to anchor signature (default: 0) */
|
|
36
38
|
vin?: number;
|
|
37
39
|
/** For BRC-77: specific verifier public key (private signature) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sigma.d.ts","sourceRoot":"","sources":["../../src/bitcom/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,MAAM,EACN,KAAK,cAAc,EAGnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,MAAM,UAAU,CAAA;AACjB,
|
|
1
|
+
{"version":3,"file":"sigma.d.ts","sourceRoot":"","sources":["../../src/bitcom/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,MAAM,EACN,KAAK,cAAc,EAGnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,MAAM,UAAU,CAAA;AACjB,OAAe,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,YAAY,UAAU,CAAA;AAEnC;;GAEG;AACH,oBAAY,cAAc;IACzB,GAAG,QAAQ;IACX,KAAK,UAAU;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,SAAS,EAAE,cAAc,CAAA;IACzB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,uCAAuC;IACvC,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,QAAQ,CAAC,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,YAAW,cAAc;IACnD,SAAgB,IAAI,EAAE,SAAS,CAAA;gBAEnB,IAAI,EAAE,SAAS;IAI3B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE;IAmC7C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,EAAE;IAQhE;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,YAAiB,GACxB,KAAK;IAuCR;;;;;;OAMG;IACH,gBAAgB,CACf,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,mBAAmB,CAAC,EAAE,UAAU,GAC9B,OAAO;IA4CV;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,IAAI,IAAI,aAAa;IAoBrB;;OAEG;IACH,MAAM,IAAI;QACT,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;QACvE,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;KACrC;CAGD"}
|
package/dist/bitcom/sigma.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { BSM, BigNumber, Script, Signature, SignedMessage, Utils, } from '@bsv/sdk';
|
|
2
|
-
import { Algorithm } from 'sigma-protocol';
|
|
3
2
|
import BitCom from './bitcom.js';
|
|
4
3
|
/**
|
|
5
4
|
* SIGMA protocol identifier
|
|
6
5
|
*/
|
|
7
6
|
export const SIGMA_PREFIX = 'SIGMA';
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* Signing algorithm for SIGMA signatures
|
|
10
9
|
*/
|
|
11
|
-
export
|
|
10
|
+
export var SigmaAlgorithm;
|
|
11
|
+
(function (SigmaAlgorithm) {
|
|
12
|
+
SigmaAlgorithm["BSM"] = "BSM";
|
|
13
|
+
SigmaAlgorithm["BRC77"] = "BRC77";
|
|
14
|
+
})(SigmaAlgorithm || (SigmaAlgorithm = {}));
|
|
12
15
|
/**
|
|
13
16
|
* SIGMA (Secure Identity for Global Message Authentication) implementation
|
|
14
17
|
*
|
|
@@ -74,13 +77,13 @@ export default class Sigma {
|
|
|
74
77
|
* @param options - Additional signing options
|
|
75
78
|
*/
|
|
76
79
|
static sign(inputHash, dataHash, privateKey, options = {}) {
|
|
77
|
-
const algorithm = options.algorithm ??
|
|
80
|
+
const algorithm = options.algorithm ?? SigmaAlgorithm.BSM;
|
|
78
81
|
const vin = options.vin ?? 0;
|
|
79
82
|
const address = privateKey.toAddress().toString();
|
|
80
|
-
// Combine hashes to create message
|
|
83
|
+
// Combine hashes to create the message
|
|
81
84
|
const messageHash = [...inputHash, ...dataHash];
|
|
82
85
|
let signatureArray;
|
|
83
|
-
if (algorithm ===
|
|
86
|
+
if (algorithm === SigmaAlgorithm.BRC77) {
|
|
84
87
|
// BRC-77 signing using SignedMessage
|
|
85
88
|
const brc77Sig = SignedMessage.sign(messageHash, privateKey, options.verifier);
|
|
86
89
|
signatureArray = brc77Sig;
|
|
@@ -111,7 +114,7 @@ export default class Sigma {
|
|
|
111
114
|
verifyWithHashes(inputHash, dataHash, recipientPrivateKey) {
|
|
112
115
|
try {
|
|
113
116
|
const messageHash = [...inputHash, ...dataHash];
|
|
114
|
-
if (this.data.algorithm ===
|
|
117
|
+
if (this.data.algorithm === SigmaAlgorithm.BRC77) {
|
|
115
118
|
// BRC-77 verification using SignedMessage
|
|
116
119
|
this.data.valid = SignedMessage.verify(messageHash, this.data.signature, recipientPrivateKey);
|
|
117
120
|
return this.data.valid;
|
package/dist/bitcom/sigma.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sigma.js","sourceRoot":"","sources":["../../src/bitcom/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,GAAG,EACH,SAAS,EAIT,MAAM,EAEN,SAAS,EACT,aAAa,EAGb,KAAK,GACL,MAAM,UAAU,CAAA;AACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"sigma.js","sourceRoot":"","sources":["../../src/bitcom/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,GAAG,EACH,SAAS,EAIT,MAAM,EAEN,SAAS,EACT,aAAa,EAGb,KAAK,GACL,MAAM,UAAU,CAAA;AACjB,OAAO,MAA6C,MAAM,aAAa,CAAA;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACzB,6BAAW,CAAA;IACX,iCAAe,CAAA;AAChB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAgCD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACT,IAAI,CAAW;IAE/B,YAAY,IAAe;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAqB;QAClC,MAAM,MAAM,GAAY,EAAE,CAAA;QAE1B,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,CAAA;QACd,CAAC;QAED,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC3C,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;oBAE5B,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,SAAQ;oBACT,CAAC;oBAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;wBACvB,WAAW,EAAE,QAAQ;wBACrB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAmB;wBAC/D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC3C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC3C,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5D,KAAK,EAAE,SAAS;qBAChB,CAAC,CAAA;oBAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACX,CAAC;QACF,CAAC;QAED,OAAO,MAAM,CAAA;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAA8B;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,CAAA;QACV,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CACV,SAAmB,EACnB,QAAkB,EAClB,UAAsB,EACtB,UAAwB,EAAE;QAE1B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,GAAG,CAAA;QACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAA;QAEjD,uCAAuC;QACvC,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAA;QAE/C,IAAI,cAAwB,CAAA;QAE5B,IAAI,SAAS,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;YACxC,qCAAqC;YACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAClC,WAAW,EACX,UAAU,EACV,OAAO,CAAC,QAAQ,CAChB,CAAA;YACD,cAAc,GAAG,QAAQ,CAAA;QAC1B,CAAC;aAAM,CAAC;YACP,cAAc;YACd,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAc,CAAA;YACjE,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACjD,MAAM,cAAc,GAAG,GAAG,CAAC,uBAAuB,CACjD,UAAU,CAAC,WAAW,EAAE,EACxB,IAAI,SAAS,CAAC,cAAc,CAAC,CAC7B,CAAA;YACD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAW,CAAA;YAC1E,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,IAAI,KAAK,CAAC;YAChB,SAAS;YACT,OAAO;YACP,SAAS,EAAE,cAAc;YACzB,GAAG;YACH,KAAK,EAAE,IAAI;SACX,CAAC,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CACf,SAAmB,EACnB,QAAkB,EAClB,mBAAgC;QAEhC,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAA;YAE/C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;gBAClD,0CAA0C;gBAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CACrC,WAAW,EACX,IAAI,CAAC,IAAI,CAAC,SAAS,EACnB,mBAAmB,CACnB,CAAA;gBACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;YACvB,CAAC;YAED,mBAAmB;YACnB,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YAE5D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACJ,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CACrC,QAAQ,EACR,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CACzC,CAAA;oBACD,IACC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC;wBACvC,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EACrD,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;wBACtB,OAAO,IAAI,CAAA;oBACZ,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,2BAA2B;gBAC5B,CAAC;YACF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YACvB,OAAO,KAAK,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YACvB,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,IAAI;QACH,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAE3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAEhE,MAAM,SAAS,GAAe;YAC7B;gBACC,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,GAAG,EAAE,CAAC;aACN;SACD,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,MAAM;QAIL,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACvD,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/templates",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Bitcoin script templates for 1Sat Ordinals SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -27,17 +27,10 @@
|
|
|
27
27
|
"@1sat/types": "0.0.14"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@bsv/sdk": "^2.0.6"
|
|
31
|
-
"sigma-protocol": "^0.1.9"
|
|
30
|
+
"@bsv/sdk": "^2.0.6"
|
|
32
31
|
},
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@bsv/sdk": "^2.0.6",
|
|
34
|
+
"typescript": "^5.9.3"
|
|
36
35
|
}
|
|
37
|
-
},
|
|
38
|
-
"devDependencies": {
|
|
39
|
-
"@bsv/sdk": "^2.0.6",
|
|
40
|
-
"sigma-protocol": "^0.1.9",
|
|
41
|
-
"typescript": "^5.9.3"
|
|
42
|
-
}
|
|
43
36
|
}
|