@bsv/sdk 1.0.33 → 1.0.36
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 +1 -3
- package/dist/cjs/mod.js +2 -0
- package/dist/cjs/mod.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/transaction/Transaction.js +5 -3
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +37 -25
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +12 -0
- package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +66 -0
- package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/index.js +5 -5
- package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +12 -0
- package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -0
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +49 -0
- package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -0
- package/dist/cjs/src/transaction/chaintrackers/index.js +11 -0
- package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -0
- package/dist/cjs/src/transaction/{broadcasters → http}/DefaultHttpClient.js +8 -4
- package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -0
- package/dist/cjs/src/transaction/http/FetchHttpClient.js +29 -0
- package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -0
- package/dist/cjs/src/transaction/http/HttpClient.js.map +1 -0
- package/dist/cjs/src/transaction/{broadcasters → http}/NodejsHttpClient.js +14 -12
- package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -0
- package/dist/cjs/src/transaction/http/index.js +10 -0
- package/dist/cjs/src/transaction/http/index.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mod.js +2 -0
- package/dist/esm/mod.js.map +1 -1
- package/dist/esm/src/transaction/Transaction.js +5 -3
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +37 -25
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +5 -0
- package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +65 -0
- package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -0
- package/dist/esm/src/transaction/broadcasters/index.js +2 -2
- package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +5 -0
- package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -0
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +50 -0
- package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -0
- package/dist/esm/src/transaction/chaintrackers/index.js +3 -0
- package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -0
- package/dist/esm/src/transaction/{broadcasters → http}/DefaultHttpClient.js +8 -5
- package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -0
- package/dist/esm/src/transaction/http/FetchHttpClient.js +26 -0
- package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -0
- package/dist/esm/src/transaction/http/HttpClient.js.map +1 -0
- package/dist/esm/src/transaction/http/NodejsHttpClient.js +38 -0
- package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -0
- package/dist/esm/src/transaction/http/index.js +4 -0
- package/dist/esm/src/transaction/http/index.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/mod.d.ts +2 -0
- package/dist/types/mod.d.ts.map +1 -1
- package/dist/types/src/transaction/Transaction.d.ts +3 -3
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +23 -8
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +3 -0
- package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +26 -0
- package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -0
- package/dist/types/src/transaction/broadcasters/index.d.ts +3 -4
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +3 -0
- package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -0
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +28 -0
- package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -0
- package/dist/types/src/transaction/chaintrackers/index.d.ts +4 -0
- package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -0
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +8 -0
- package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -0
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts +31 -0
- package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -0
- package/dist/types/src/transaction/http/HttpClient.d.ts +43 -0
- package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -0
- package/dist/types/src/transaction/{broadcasters → http}/NodejsHttpClient.d.ts +2 -2
- package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -0
- package/dist/types/src/transaction/http/index.d.ts +7 -0
- package/dist/types/src/transaction/http/index.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/examples/EXAMPLE_BUILDING_CUSTOM_TX_BROADCASTER.md +2 -0
- package/docs/examples/EXAMPLE_COMPLEX_TX.md +2 -4
- package/docs/examples/EXAMPLE_SIMPLE_TX.md +44 -5
- package/docs/examples/EXAMPLE_VERIFYING_BEEF.md +29 -22
- package/docs/examples/EXAMPLE_VERIFYING_ROOTS.md +18 -63
- package/docs/examples/GETTING_STARTED_NODE_CJS.md +2 -4
- package/docs/examples/GETTING_STARTED_REACT.md +2 -4
- package/docs/primitives.md +61 -59
- package/docs/script.md +13 -11
- package/docs/transaction.md +489 -35
- package/mod.ts +3 -1
- package/package.json +21 -1
- package/src/transaction/Transaction.ts +5 -3
- package/src/transaction/__tests/Transaction.test.ts +62 -0
- package/src/transaction/broadcasters/ARC.ts +75 -27
- package/src/transaction/broadcasters/DefaultBroadcaster.ts +6 -0
- package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +70 -0
- package/src/transaction/broadcasters/__tests/ARC.test.ts +92 -19
- package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +165 -0
- package/src/transaction/broadcasters/index.ts +3 -4
- package/src/transaction/chaintrackers/DefaultChainTracker.ts +6 -0
- package/src/transaction/chaintrackers/WhatsOnChain.ts +70 -0
- package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +135 -0
- package/src/transaction/chaintrackers/index.ts +3 -0
- package/src/transaction/http/DefaultHttpClient.ts +32 -0
- package/src/transaction/http/FetchHttpClient.ts +50 -0
- package/src/transaction/http/HttpClient.ts +45 -0
- package/src/transaction/http/NodejsHttpClient.ts +55 -0
- package/src/transaction/http/index.ts +6 -0
- package/dist/cjs/src/transaction/broadcasters/DefaultHttpClient.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/HttpClient.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/NodejsHttpClient.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/DefaultHttpClient.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/HttpClient.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/NodejsHttpClient.js +0 -36
- package/dist/esm/src/transaction/broadcasters/NodejsHttpClient.js.map +0 -1
- package/dist/types/src/transaction/broadcasters/DefaultHttpClient.d.ts +0 -6
- package/dist/types/src/transaction/broadcasters/DefaultHttpClient.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/HttpClient.d.ts +0 -33
- package/dist/types/src/transaction/broadcasters/HttpClient.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/NodejsHttpClient.d.ts.map +0 -1
- package/src/transaction/broadcasters/DefaultHttpClient.ts +0 -29
- package/src/transaction/broadcasters/HttpClient.ts +0 -34
- package/src/transaction/broadcasters/NodejsHttpClient.ts +0 -55
- /package/dist/cjs/src/transaction/{broadcasters → http}/HttpClient.js +0 -0
- /package/dist/esm/src/transaction/{broadcasters → http}/HttpClient.js +0 -0
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An interface for HTTP client used by ARC to make HTTP requests.
|
|
3
|
-
*/
|
|
4
|
-
export interface HttpClient {
|
|
5
|
-
/**
|
|
6
|
-
* Makes a request to the server.
|
|
7
|
-
* @param url The URL to make the request to.
|
|
8
|
-
* @param options The request configuration.
|
|
9
|
-
*/
|
|
10
|
-
fetch(url: string, options: HttpClientRequestOptions): Promise<HttpClientResponse>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* An interface for configuration of the request to be passed to the fetch method.
|
|
14
|
-
*/
|
|
15
|
-
export interface HttpClientRequestOptions {
|
|
16
|
-
/** A string to set request's method. */
|
|
17
|
-
method?: string;
|
|
18
|
-
/** An object literal set request's headers. */
|
|
19
|
-
headers?: Record<string, string>;
|
|
20
|
-
/** An object or null to set request's body. */
|
|
21
|
-
body?: string | null;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* An interface for the response returned by the fetch method.
|
|
25
|
-
*/
|
|
26
|
-
export interface HttpClientResponse {
|
|
27
|
-
/** The status code of the response. */
|
|
28
|
-
statusCode?: number;
|
|
29
|
-
/** A flag indicating whether the request ends with success status or not. */
|
|
30
|
-
ok?: boolean;
|
|
31
|
-
json(): Promise<any>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=HttpClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/HttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACrF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CACxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodejsHttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/broadcasters/NodejsHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,wBAAwB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEzF,yEAAyE;AACzE,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,uBAAuB,CAAC;CAClH;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,GAAG,IAAI,IAAI,CAAC;IAEZ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IAEvD,GAAG,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACnC,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,WAAW;IAGhC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4BlG"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {HttpClient, HttpClientResponse} from "./HttpClient.js";
|
|
2
|
-
import {NodejsHttpClient} from "./NodejsHttpClient.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Returns a default HttpClient implementation based on the environment that it is run on.
|
|
6
|
-
*/
|
|
7
|
-
export default function defaultHttpClient(): HttpClient {
|
|
8
|
-
const noHttpClient:HttpClient = {
|
|
9
|
-
fetch(..._): Promise<HttpClientResponse> {
|
|
10
|
-
throw new Error('No method available to perform HTTP request')
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (typeof window !== 'undefined' && typeof window.fetch === 'function') {
|
|
15
|
-
// Use fetch in a browser environment
|
|
16
|
-
return window
|
|
17
|
-
} else if (typeof require !== 'undefined') {
|
|
18
|
-
// Use Node.js https module
|
|
19
|
-
// eslint-disable-next-line
|
|
20
|
-
try {
|
|
21
|
-
const https = require('https')
|
|
22
|
-
return new NodejsHttpClient(https)
|
|
23
|
-
} catch (e) {
|
|
24
|
-
return noHttpClient
|
|
25
|
-
}
|
|
26
|
-
} else {
|
|
27
|
-
return noHttpClient
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An interface for HTTP client used by ARC to make HTTP requests.
|
|
3
|
-
*/
|
|
4
|
-
export interface HttpClient {
|
|
5
|
-
/**
|
|
6
|
-
* Makes a request to the server.
|
|
7
|
-
* @param url The URL to make the request to.
|
|
8
|
-
* @param options The request configuration.
|
|
9
|
-
*/
|
|
10
|
-
fetch(url: string, options: HttpClientRequestOptions): Promise<HttpClientResponse>
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* An interface for configuration of the request to be passed to the fetch method.
|
|
15
|
-
*/
|
|
16
|
-
export interface HttpClientRequestOptions {
|
|
17
|
-
/** A string to set request's method. */
|
|
18
|
-
method?: string;
|
|
19
|
-
/** An object literal set request's headers. */
|
|
20
|
-
headers?: Record<string, string>;
|
|
21
|
-
/** An object or null to set request's body. */
|
|
22
|
-
body?: string | null;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* An interface for the response returned by the fetch method.
|
|
27
|
-
*/
|
|
28
|
-
export interface HttpClientResponse {
|
|
29
|
-
/** The status code of the response. */
|
|
30
|
-
statusCode?: number;
|
|
31
|
-
/** A flag indicating whether the request ends with success status or not. */
|
|
32
|
-
ok?: boolean;
|
|
33
|
-
json(): Promise<any>;
|
|
34
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {HttpClient, HttpClientRequestOptions, HttpClientResponse} from "./HttpClient.js";
|
|
2
|
-
|
|
3
|
-
/** Node.js Https module interface limited to options needed by ts-sdk */
|
|
4
|
-
export interface HttpsNodejs {
|
|
5
|
-
request(url: string, options: HttpClientRequestOptions, callback: (res: any) => void): NodejsHttpClientRequest;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/** Nodejs result of the Node.js https.request call limited to options needed by ts-sdk */
|
|
9
|
-
export interface NodejsHttpClientRequest {
|
|
10
|
-
write(chunk: string): void;
|
|
11
|
-
|
|
12
|
-
end(): void;
|
|
13
|
-
|
|
14
|
-
on(event: string, callback: (data: any) => void): void;
|
|
15
|
-
|
|
16
|
-
end(): void;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Adapter for Node.js Https module to be used as HttpClient
|
|
21
|
-
*/
|
|
22
|
-
export class NodejsHttpClient implements HttpClient {
|
|
23
|
-
constructor(private https: HttpsNodejs) {
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
async fetch(url: string, requestOptions: HttpClientRequestOptions): Promise<HttpClientResponse> {
|
|
27
|
-
return await new Promise((resolve, reject) => {
|
|
28
|
-
const req = this.https.request(url, requestOptions, res => {
|
|
29
|
-
let data = ''
|
|
30
|
-
res.on('data', (chunk: string) => {
|
|
31
|
-
data += chunk
|
|
32
|
-
})
|
|
33
|
-
res.on('end', () => {
|
|
34
|
-
resolve({
|
|
35
|
-
ok: res.statusCode >= 200 && res.statusCode <= 299,
|
|
36
|
-
statusCode: res.statusCode,
|
|
37
|
-
async json() {
|
|
38
|
-
return JSON.parse(data)
|
|
39
|
-
}
|
|
40
|
-
})
|
|
41
|
-
})
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
req.on('error', error => {
|
|
45
|
-
reject(error)
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
if (!!requestOptions.body) {
|
|
49
|
-
req.write(requestOptions.body)
|
|
50
|
-
}
|
|
51
|
-
req.end()
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
File without changes
|
|
File without changes
|