@bsv/sdk 1.4.2 → 1.4.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/cjs/package.json +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +1 -1
- package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/cjs/src/registry/RegistryClient.js +112 -89
- package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +1 -1
- package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
- package/dist/esm/src/registry/RegistryClient.js +110 -88
- package/dist/esm/src/registry/RegistryClient.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/registry/RegistryClient.d.ts +24 -24
- package/dist/types/src/registry/RegistryClient.d.ts.map +1 -1
- package/dist/types/src/registry/types/index.d.ts +46 -19
- package/dist/types/src/registry/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/package.json +1 -1
- package/src/overlay-tools/SHIPBroadcaster.ts +1 -1
- package/src/registry/RegistryClient.ts +142 -114
- package/src/registry/__tests/RegistryClient.test.ts +136 -100
- package/src/registry/types/index.ts +50 -20
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { PubKeyHex } from '../../wallet/index.js';
|
|
1
|
+
import { BEEF, PubKeyHex, WalletProtocol } from '../../wallet/index.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* - "protocol" corresponds to ProtoMap
|
|
6
|
-
* - "certificate" corresponds to CertMap
|
|
3
|
+
* We unify the registry “type” to these three strings everywhere:
|
|
4
|
+
* 'basket' | 'protocol' | 'certificate'
|
|
7
5
|
*/
|
|
8
6
|
export type DefinitionType = 'basket' | 'protocol' | 'certificate';
|
|
9
7
|
/**
|
|
@@ -16,7 +14,7 @@ export interface CertificateFieldDescriptor {
|
|
|
16
14
|
fieldIcon: string;
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
|
-
* Registry data for a Basket-style record
|
|
17
|
+
* Registry data for a Basket-style record.
|
|
20
18
|
*/
|
|
21
19
|
export interface BasketDefinitionData {
|
|
22
20
|
definitionType: 'basket';
|
|
@@ -28,12 +26,11 @@ export interface BasketDefinitionData {
|
|
|
28
26
|
registryOperator?: PubKeyHex;
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
|
-
* Registry data for a
|
|
29
|
+
* Registry data for a Protocol-style record.
|
|
32
30
|
*/
|
|
33
31
|
export interface ProtocolDefinitionData {
|
|
34
32
|
definitionType: 'protocol';
|
|
35
|
-
protocolID:
|
|
36
|
-
securityLevel: 0 | 1 | 2;
|
|
33
|
+
protocolID: WalletProtocol;
|
|
37
34
|
name: string;
|
|
38
35
|
iconURL: string;
|
|
39
36
|
description: string;
|
|
@@ -41,7 +38,7 @@ export interface ProtocolDefinitionData {
|
|
|
41
38
|
registryOperator?: PubKeyHex;
|
|
42
39
|
}
|
|
43
40
|
/**
|
|
44
|
-
* Registry data for a
|
|
41
|
+
* Registry data for a Certificate-style record.
|
|
45
42
|
*/
|
|
46
43
|
export interface CertificateDefinitionData {
|
|
47
44
|
definitionType: 'certificate';
|
|
@@ -53,34 +50,64 @@ export interface CertificateDefinitionData {
|
|
|
53
50
|
fields: Record<string, CertificateFieldDescriptor>;
|
|
54
51
|
registryOperator?: PubKeyHex;
|
|
55
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Union of all possible definition data objects.
|
|
55
|
+
*/
|
|
56
56
|
export type DefinitionData = BasketDefinitionData | ProtocolDefinitionData | CertificateDefinitionData;
|
|
57
|
+
/**
|
|
58
|
+
* Common info for the on-chain token/UTXO that points to a registry entry.
|
|
59
|
+
*/
|
|
57
60
|
export interface TokenData {
|
|
58
61
|
txid: string;
|
|
59
62
|
outputIndex: number;
|
|
60
63
|
satoshis: number;
|
|
61
64
|
lockingScript: string;
|
|
65
|
+
beef: BEEF;
|
|
62
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* A registry record is a combination of the typed definition data
|
|
69
|
+
* plus the on-chain token data for the UTXO holding it.
|
|
70
|
+
*/
|
|
63
71
|
export type RegistryRecord = DefinitionData & TokenData;
|
|
64
|
-
|
|
72
|
+
/**
|
|
73
|
+
* When searching for basket definitions, we can filter by:
|
|
74
|
+
* - basketID
|
|
75
|
+
* - registryOperators
|
|
76
|
+
* - name
|
|
77
|
+
*/
|
|
78
|
+
export interface BasketQuery {
|
|
65
79
|
basketID?: string;
|
|
66
80
|
registryOperators?: string[];
|
|
67
81
|
name?: string;
|
|
68
82
|
}
|
|
69
|
-
|
|
83
|
+
/**
|
|
84
|
+
* When searching for protocol definitions, we can filter by:
|
|
85
|
+
* - name
|
|
86
|
+
* - registryOperators
|
|
87
|
+
* - protocolID
|
|
88
|
+
*/
|
|
89
|
+
export interface ProtocolQuery {
|
|
70
90
|
name?: string;
|
|
71
91
|
registryOperators?: string[];
|
|
72
|
-
protocolID?:
|
|
73
|
-
securityLevel?: number;
|
|
92
|
+
protocolID?: WalletProtocol;
|
|
74
93
|
}
|
|
75
|
-
|
|
94
|
+
/**
|
|
95
|
+
* When searching for certificate definitions, we can filter by:
|
|
96
|
+
* - type
|
|
97
|
+
* - name
|
|
98
|
+
* - registryOperators
|
|
99
|
+
*/
|
|
100
|
+
export interface CertificateQuery {
|
|
76
101
|
type?: string;
|
|
77
102
|
name?: string;
|
|
78
103
|
registryOperators?: string[];
|
|
79
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* A lookup-service mapping of queries by each definition type.
|
|
107
|
+
*/
|
|
80
108
|
export interface RegistryQueryMapping {
|
|
81
|
-
basket:
|
|
82
|
-
protocol:
|
|
83
|
-
certificate:
|
|
109
|
+
basket: BasketQuery;
|
|
110
|
+
protocol: ProtocolQuery;
|
|
111
|
+
certificate: CertificateQuery;
|
|
84
112
|
}
|
|
85
|
-
export {};
|
|
86
113
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/registry/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/registry/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,QAAQ,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,SAAS,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,UAAU,CAAA;IAC1B,UAAU,EAAE,cAAc,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,SAAS,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,aAAa,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;IAClD,gBAAgB,CAAC,EAAE,SAAS,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,CAAA;AAE7B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,CAAA;CACX;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,SAAS,CAAA;AAMvD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAA;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,WAAW,EAAE,gBAAgB,CAAA;CAC9B"}
|