@tokenizedrealutility/sdk 1.0.0
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/API.md +210 -0
- package/CHANGELOG.md +19 -0
- package/LICENSE +201 -0
- package/NOTICE +40 -0
- package/README.md +559 -0
- package/SECURITY.md +34 -0
- package/dist/client.d.ts +59 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +83 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +38 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +71 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +8 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +52 -0
- package/dist/events.js.map +1 -0
- package/dist/explorer.d.ts +53 -0
- package/dist/explorer.d.ts.map +1 -0
- package/dist/explorer.js +39 -0
- package/dist/explorer.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/ai.d.ts +20 -0
- package/dist/modules/ai.d.ts.map +1 -0
- package/dist/modules/ai.js +18 -0
- package/dist/modules/ai.js.map +1 -0
- package/dist/modules/base.d.ts +8 -0
- package/dist/modules/base.d.ts.map +1 -0
- package/dist/modules/base.js +8 -0
- package/dist/modules/base.js.map +1 -0
- package/dist/modules/chain.d.ts +15 -0
- package/dist/modules/chain.d.ts.map +1 -0
- package/dist/modules/chain.js +12 -0
- package/dist/modules/chain.js.map +1 -0
- package/dist/modules/contracts.d.ts +13 -0
- package/dist/modules/contracts.d.ts.map +1 -0
- package/dist/modules/contracts.js +16 -0
- package/dist/modules/contracts.js.map +1 -0
- package/dist/modules/htlc.d.ts +43 -0
- package/dist/modules/htlc.d.ts.map +1 -0
- package/dist/modules/htlc.js +25 -0
- package/dist/modules/htlc.js.map +1 -0
- package/dist/modules/identity.d.ts +9 -0
- package/dist/modules/identity.d.ts.map +1 -0
- package/dist/modules/identity.js +15 -0
- package/dist/modules/identity.js.map +1 -0
- package/dist/modules/magic.d.ts +17 -0
- package/dist/modules/magic.d.ts.map +1 -0
- package/dist/modules/magic.js +14 -0
- package/dist/modules/magic.js.map +1 -0
- package/dist/modules/mining.d.ts +16 -0
- package/dist/modules/mining.d.ts.map +1 -0
- package/dist/modules/mining.js +23 -0
- package/dist/modules/mining.js.map +1 -0
- package/dist/modules/network.d.ts +6 -0
- package/dist/modules/network.d.ts.map +1 -0
- package/dist/modules/network.js +5 -0
- package/dist/modules/network.js.map +1 -0
- package/dist/modules/raw.d.ts +8 -0
- package/dist/modules/raw.d.ts.map +1 -0
- package/dist/modules/raw.js +10 -0
- package/dist/modules/raw.js.map +1 -0
- package/dist/modules/swaps.d.ts +12 -0
- package/dist/modules/swaps.d.ts.map +1 -0
- package/dist/modules/swaps.js +16 -0
- package/dist/modules/swaps.js.map +1 -0
- package/dist/modules/system.d.ts +11 -0
- package/dist/modules/system.d.ts.map +1 -0
- package/dist/modules/system.js +64 -0
- package/dist/modules/system.js.map +1 -0
- package/dist/modules/tokens.d.ts +65 -0
- package/dist/modules/tokens.d.ts.map +1 -0
- package/dist/modules/tokens.js +54 -0
- package/dist/modules/tokens.js.map +1 -0
- package/dist/modules/transactions.d.ts +22 -0
- package/dist/modules/transactions.d.ts.map +1 -0
- package/dist/modules/transactions.js +30 -0
- package/dist/modules/transactions.js.map +1 -0
- package/dist/modules/truscripts.d.ts +22 -0
- package/dist/modules/truscripts.d.ts.map +1 -0
- package/dist/modules/truscripts.js +14 -0
- package/dist/modules/truscripts.js.map +1 -0
- package/dist/modules/wallet.d.ts +18 -0
- package/dist/modules/wallet.d.ts.map +1 -0
- package/dist/modules/wallet.js +16 -0
- package/dist/modules/wallet.js.map +1 -0
- package/dist/neromesh.d.ts +58 -0
- package/dist/neromesh.d.ts.map +1 -0
- package/dist/neromesh.js +92 -0
- package/dist/neromesh.js.map +1 -0
- package/dist/rpc-catalog.d.ts +4 -0
- package/dist/rpc-catalog.d.ts.map +1 -0
- package/dist/rpc-catalog.js +115 -0
- package/dist/rpc-catalog.js.map +1 -0
- package/dist/transport.d.ts +29 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +144 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +66 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/address.d.ts +4 -0
- package/dist/utils/address.d.ts.map +1 -0
- package/dist/utils/address.js +12 -0
- package/dist/utils/address.js.map +1 -0
- package/dist/utils/amount.d.ts +6 -0
- package/dist/utils/amount.d.ts.map +1 -0
- package/dist/utils/amount.js +23 -0
- package/dist/utils/amount.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truscripts.d.ts","sourceRoot":"","sources":["../../src/modules/truscripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,SAAS,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAGrJ,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC/E,yBAAyB,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1K"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RpcModule } from "./base.js";
|
|
2
|
+
export class TruScriptsModule extends RpcModule {
|
|
3
|
+
inscribe(owner, data) { return this.call("inscribeTRUScript", { owner, data }); }
|
|
4
|
+
inscribeSigned(params) {
|
|
5
|
+
return this.call("inscribeTRUScriptSigned", params);
|
|
6
|
+
}
|
|
7
|
+
list(ownerAddress) { return this.call("getTRUScripts", ownerAddress ? { ownerAddress } : {}); }
|
|
8
|
+
details(txid) { return this.call("getTRUScriptDetails", { txid }); }
|
|
9
|
+
transfer(inscriptionTxid, recipient) { return this.call("transferTRUScript", { inscriptionTxid, recipient }); }
|
|
10
|
+
createTransferTransaction(params) {
|
|
11
|
+
return this.call("createTransferTRUScriptTransaction", params);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=truscripts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truscripts.js","sourceRoot":"","sources":["../../src/modules/truscripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAgB,KAAa,EAAE,IAAe,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,cAAc,CAAgB,MAA0G;QACtI,OAAO,IAAI,CAAC,IAAI,CAAI,yBAAyB,EAAE,MAAoB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAgB,YAAqB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtI,OAAO,CAAgB,IAAY,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,QAAQ,CAAgB,eAAuB,EAAE,SAAiB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7J,yBAAyB,CAAgB,MAAmH;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAI,oCAAoC,EAAE,MAAoB,CAAC,CAAC;IAClF,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { JsonObject, JsonValue } from "../types.js";
|
|
2
|
+
import { RpcModule } from "./base.js";
|
|
3
|
+
export declare class WalletModule extends RpcModule {
|
|
4
|
+
getNewAddress<T = JsonValue>(): Promise<T>;
|
|
5
|
+
listAddresses<T = JsonValue>(): Promise<T>;
|
|
6
|
+
getBalance<T = JsonValue>(address?: string): Promise<T>;
|
|
7
|
+
listUnspent<T = JsonValue>(address?: string): Promise<T>;
|
|
8
|
+
listUnspentWeb<T = JsonValue>(address: string): Promise<T>;
|
|
9
|
+
sendToAddress<T = JsonValue>(address: string, amount: string | number, extra?: JsonObject): Promise<T>;
|
|
10
|
+
axonWalletInspect<T = JsonValue>(uri: string): Promise<T>;
|
|
11
|
+
axonWalletFund<T = JsonValue>(params: {
|
|
12
|
+
uri: string;
|
|
13
|
+
confirm?: string;
|
|
14
|
+
expected_intent_sha256?: string;
|
|
15
|
+
expected_job_id?: string;
|
|
16
|
+
}): Promise<T>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/modules/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,qBAAa,YAAa,SAAQ,SAAS;IACzC,aAAa,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;IAC1C,aAAa,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACvD,WAAW,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACxD,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC1D,aAAa,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAG1G,iBAAiB,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACzD,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAGhJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RpcModule } from "./base.js";
|
|
2
|
+
export class WalletModule extends RpcModule {
|
|
3
|
+
getNewAddress() { return this.call("getnewaddress"); }
|
|
4
|
+
listAddresses() { return this.call("listaddresses"); }
|
|
5
|
+
getBalance(address) { return this.call("getbalance", address ? { address } : {}); }
|
|
6
|
+
listUnspent(address) { return this.call("listunspent", address ? { address } : {}); }
|
|
7
|
+
listUnspentWeb(address) { return this.call("listunspentWeb", { address }); }
|
|
8
|
+
sendToAddress(address, amount, extra = {}) {
|
|
9
|
+
return this.call("sendtoaddress", { address, amount, ...extra });
|
|
10
|
+
}
|
|
11
|
+
axonWalletInspect(uri) { return this.call("axonwalletinspect", { uri }); }
|
|
12
|
+
axonWalletFund(params) {
|
|
13
|
+
return this.call("axonwalletfund", params);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/modules/wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,aAAa,KAAgC,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACpF,aAAa,KAAgC,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACpF,UAAU,CAAgB,OAAgB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1H,WAAW,CAAgB,OAAgB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5H,cAAc,CAAgB,OAAe,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAClH,aAAa,CAAgB,OAAe,EAAE,MAAuB,EAAE,QAAoB,EAAE;QAC3F,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,iBAAiB,CAAgB,GAAW,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChH,cAAc,CAAgB,MAAoG;QAChI,OAAO,IAAI,CAAC,IAAI,CAAI,gBAAgB,EAAE,MAAoB,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { HttpTransport } from "./transport.js";
|
|
2
|
+
import type { HttpClientOptions, JsonObject, JsonValue, TokenProvider } from "./types.js";
|
|
3
|
+
export interface NeromeshOptions extends HttpClientOptions {
|
|
4
|
+
customerToken?: TokenProvider;
|
|
5
|
+
workerToken?: TokenProvider;
|
|
6
|
+
workerAccountKey?: TokenProvider;
|
|
7
|
+
}
|
|
8
|
+
export declare class NeromeshClient {
|
|
9
|
+
readonly http: HttpTransport;
|
|
10
|
+
readonly customerToken?: TokenProvider;
|
|
11
|
+
readonly workerToken?: TokenProvider;
|
|
12
|
+
readonly workerAccountKey?: TokenProvider;
|
|
13
|
+
constructor(options: NeromeshOptions | string);
|
|
14
|
+
health<T = JsonValue>(): Promise<T>;
|
|
15
|
+
stats<T = JsonValue>(): Promise<T>;
|
|
16
|
+
submitJob<T = JsonValue>(body: JsonObject, idempotencyKey: string): Promise<T>;
|
|
17
|
+
jobs<T = JsonValue>(): Promise<T>;
|
|
18
|
+
job<T = JsonValue>(id: string): Promise<T>;
|
|
19
|
+
cancelJob<T = JsonValue>(id: string): Promise<T>;
|
|
20
|
+
createOffer<T = JsonValue>(body: JsonObject): Promise<T>;
|
|
21
|
+
myOffers<T = JsonValue>(): Promise<T>;
|
|
22
|
+
fundingPlan<T = JsonValue>(jobId: string, refundPubkey: string, refundTime: number): Promise<T>;
|
|
23
|
+
registerFunding<T = JsonValue>(jobId: string, body: {
|
|
24
|
+
compute_txid: string;
|
|
25
|
+
compute_vout: number;
|
|
26
|
+
acceptance_txid: string;
|
|
27
|
+
acceptance_vout: number;
|
|
28
|
+
}): Promise<T>;
|
|
29
|
+
createWalletIntent<T = JsonValue>(jobId: string): Promise<T>;
|
|
30
|
+
getWalletIntent<T = JsonValue>(intentId: string, capability: TokenProvider): Promise<T>;
|
|
31
|
+
prepareWalletIntent<T = JsonValue>(intentId: string, capability: TokenProvider, body: JsonObject): Promise<T>;
|
|
32
|
+
submitWalletFunding<T = JsonValue>(intentId: string, capability: TokenProvider, body: JsonObject): Promise<T>;
|
|
33
|
+
enrollWorker<T = JsonValue>(invitation: TokenProvider, body: JsonObject): Promise<T>;
|
|
34
|
+
workerSelf<T = JsonValue>(): Promise<T>;
|
|
35
|
+
workerHeartbeat<T = JsonValue>(paused: boolean, hardware: string): Promise<T>;
|
|
36
|
+
workerLease<T = JsonValue>(): Promise<T>;
|
|
37
|
+
workerResult<T = JsonValue>(body: JsonObject): Promise<T>;
|
|
38
|
+
workerFail<T = JsonValue>(body: JsonObject): Promise<T>;
|
|
39
|
+
customerLogin<T = JsonValue>(customerToken: string): Promise<T>;
|
|
40
|
+
workerLogin<T = JsonValue>(workerKey: string): Promise<T>;
|
|
41
|
+
logout<T = JsonValue>(): Promise<T>;
|
|
42
|
+
session<T = JsonValue>(): Promise<T>;
|
|
43
|
+
portalCustomerJobs<T = JsonValue>(): Promise<T>;
|
|
44
|
+
portalCustomerJob<T = JsonValue>(jobId: string): Promise<T>;
|
|
45
|
+
portalCustomerHandoff<T = JsonValue>(jobId: string): Promise<T>;
|
|
46
|
+
portalCustomerAccept<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
|
|
47
|
+
portalCustomerReject<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
|
|
48
|
+
portalWorkerOffers<T = JsonValue>(): Promise<T>;
|
|
49
|
+
portalWorkerJobs<T = JsonValue>(): Promise<T>;
|
|
50
|
+
portalWorkerJob<T = JsonValue>(jobId: string): Promise<T>;
|
|
51
|
+
portalWorkerAccept<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
|
|
52
|
+
portalWorkerDecline<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
|
|
53
|
+
portalWorkerSettlement<T = JsonValue>(jobId: string): Promise<T>;
|
|
54
|
+
networkWorkers<T = JsonValue>(): Promise<T>;
|
|
55
|
+
networkSummary<T = JsonValue>(): Promise<T>;
|
|
56
|
+
raw<T = JsonValue>(method: string, path: string, body?: JsonValue, token?: TokenProvider): Promise<T>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=neromesh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neromesh.d.ts","sourceRoot":"","sources":["../src/neromesh.ts"],"names":[],"mappings":"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"}
|
package/dist/neromesh.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { HttpTransport } from "./transport.js";
|
|
2
|
+
export class NeromeshClient {
|
|
3
|
+
http;
|
|
4
|
+
customerToken;
|
|
5
|
+
workerToken;
|
|
6
|
+
workerAccountKey;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
const normalized = typeof options === "string" ? { baseUrl: options } : options;
|
|
9
|
+
this.http = new HttpTransport(normalized);
|
|
10
|
+
this.customerToken = normalized.customerToken;
|
|
11
|
+
this.workerToken = normalized.workerToken;
|
|
12
|
+
this.workerAccountKey = normalized.workerAccountKey;
|
|
13
|
+
}
|
|
14
|
+
health() { return this.http.request("GET", "/api/health"); }
|
|
15
|
+
stats() { return this.http.request("GET", "/api/stats"); }
|
|
16
|
+
// Legacy/direct customer job API. Public marketplace deployments may disable writes here.
|
|
17
|
+
submitJob(body, idempotencyKey) {
|
|
18
|
+
return this.http.request("POST", "/api/v1/jobs", {
|
|
19
|
+
token: this.customerToken,
|
|
20
|
+
headers: { "Idempotency-Key": idempotencyKey },
|
|
21
|
+
body
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
jobs() { return this.http.request("GET", "/api/v1/jobs", { token: this.customerToken }); }
|
|
25
|
+
job(id) { return this.http.request("GET", `/api/v1/jobs/${encodeURIComponent(id)}`, { token: this.customerToken }); }
|
|
26
|
+
cancelJob(id) { return this.http.request("POST", `/api/v1/jobs/${encodeURIComponent(id)}/cancel`, { token: this.customerToken, body: {} }); }
|
|
27
|
+
// AXON Marketplace customer surface.
|
|
28
|
+
createOffer(body) {
|
|
29
|
+
return this.http.request("POST", "/api/v1/market/offers", { token: this.customerToken, body });
|
|
30
|
+
}
|
|
31
|
+
myOffers() {
|
|
32
|
+
return this.http.request("GET", "/api/v1/market/offers/mine", { token: this.customerToken });
|
|
33
|
+
}
|
|
34
|
+
fundingPlan(jobId, refundPubkey, refundTime) {
|
|
35
|
+
return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/funding-plan`, {
|
|
36
|
+
token: this.customerToken,
|
|
37
|
+
body: { refund_pubkey: refundPubkey, refund_time: refundTime }
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
registerFunding(jobId, body) {
|
|
41
|
+
return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/funding`, { token: this.customerToken, body });
|
|
42
|
+
}
|
|
43
|
+
createWalletIntent(jobId) {
|
|
44
|
+
return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/wallet-intent`, { token: this.customerToken, body: {} });
|
|
45
|
+
}
|
|
46
|
+
getWalletIntent(intentId, capability) {
|
|
47
|
+
return this.http.request("GET", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}`, { token: capability });
|
|
48
|
+
}
|
|
49
|
+
prepareWalletIntent(intentId, capability, body) {
|
|
50
|
+
return this.http.request("POST", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}/prepare`, { token: capability, body });
|
|
51
|
+
}
|
|
52
|
+
submitWalletFunding(intentId, capability, body) {
|
|
53
|
+
return this.http.request("POST", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}/funding`, { token: capability, body });
|
|
54
|
+
}
|
|
55
|
+
// Worker API used by standalone workers.
|
|
56
|
+
enrollWorker(invitation, body) {
|
|
57
|
+
return this.http.request("POST", "/api/v1/worker/enroll", { token: invitation, body });
|
|
58
|
+
}
|
|
59
|
+
workerSelf() { return this.http.request("GET", "/api/v1/worker/self", { token: this.workerToken }); }
|
|
60
|
+
workerHeartbeat(paused, hardware) {
|
|
61
|
+
return this.http.request("POST", "/api/v1/worker/heartbeat", { token: this.workerToken, body: { paused, hardware } });
|
|
62
|
+
}
|
|
63
|
+
workerLease() { return this.http.request("POST", "/api/v1/worker/lease", { token: this.workerToken, body: {} }); }
|
|
64
|
+
workerResult(body) { return this.http.request("POST", "/api/v1/worker/result", { token: this.workerToken, body }); }
|
|
65
|
+
workerFail(body) { return this.http.request("POST", "/api/v1/worker/fail", { token: this.workerToken, body }); }
|
|
66
|
+
// Portal/session API. Use credentials:'include' in NeromeshOptions in browsers.
|
|
67
|
+
customerLogin(customerToken) {
|
|
68
|
+
return this.http.request("POST", "/api/v1/portal/customer/login", { body: { customer_token: customerToken } });
|
|
69
|
+
}
|
|
70
|
+
workerLogin(workerKey) {
|
|
71
|
+
return this.http.request("POST", "/api/v1/portal/worker/login", { body: { worker_key: workerKey } });
|
|
72
|
+
}
|
|
73
|
+
logout() { return this.http.request("POST", "/api/v1/portal/logout", { body: {} }); }
|
|
74
|
+
session() { return this.http.request("GET", "/api/v1/portal/session"); }
|
|
75
|
+
portalCustomerJobs() { return this.http.request("GET", "/api/v1/portal/customer/jobs"); }
|
|
76
|
+
portalCustomerJob(jobId) { return this.http.request("GET", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}`); }
|
|
77
|
+
portalCustomerHandoff(jobId) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/handoff`, { body: {} }); }
|
|
78
|
+
portalCustomerAccept(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/accept`, { body }); }
|
|
79
|
+
portalCustomerReject(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/reject`, { body }); }
|
|
80
|
+
portalWorkerOffers() { return this.http.request("GET", "/api/v1/portal/worker/offers"); }
|
|
81
|
+
portalWorkerJobs() { return this.http.request("GET", "/api/v1/portal/worker/jobs"); }
|
|
82
|
+
portalWorkerJob(jobId) { return this.http.request("GET", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}`); }
|
|
83
|
+
portalWorkerAccept(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/accept`, { body }); }
|
|
84
|
+
portalWorkerDecline(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/decline`, { body }); }
|
|
85
|
+
portalWorkerSettlement(jobId) { return this.http.request("GET", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/settlement`); }
|
|
86
|
+
networkWorkers() { return this.http.request("GET", "/api/v1/network/workers"); }
|
|
87
|
+
networkSummary() { return this.http.request("GET", "/api/v1/network/summary"); }
|
|
88
|
+
raw(method, path, body, token) {
|
|
89
|
+
return this.http.request(method, path, { ...(body === undefined ? {} : { body }), ...(token ? { token } : {}) });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=neromesh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neromesh.js","sourceRoot":"","sources":["../src/neromesh.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-catalog.d.ts","sourceRoot":"","sources":["../src/rpc-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,eAAO,MAAM,WAAW,EAAE,SAAS,mBAAmB,EA2G5C,CAAC;AAEX,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEzE"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Source-derived catalog from the reviewed TRU Core 0.07.5 dispatcher.
|
|
2
|
+
// Parameter names are best-effort handler observations; use raw.call() for
|
|
3
|
+
// forward-compatible access to new/less-structured RPCs.
|
|
4
|
+
export const RPC_CATALOG = [
|
|
5
|
+
{ method: "getpeerinfo", category: "network", gateway: ["privileged", "wallet"], params: [] },
|
|
6
|
+
{ method: "sendtoken", category: "tokens", gateway: ["privileged"], params: ["amount", "recipient", "senderAddress", "tokenID"] },
|
|
7
|
+
{ method: "burntoken", category: "tokens", gateway: ["privileged"], params: ["confirm", "senderAddress", "tokenID"] },
|
|
8
|
+
{ method: "gettokenburninfo", category: "tokens", gateway: ["privileged"], params: [] },
|
|
9
|
+
{ method: "getnewaddress", category: "wallet", gateway: ["privileged"], params: [] },
|
|
10
|
+
{ method: "reportmineractivity", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["hashesTried", "minerAddress", "timeTaken"] },
|
|
11
|
+
{ method: "getblocktemplate", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["browserExtraNonce", "browserMinerAddress"] },
|
|
12
|
+
{ method: "submitblock", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["blockHex", "browserCandidate", "nonce"] },
|
|
13
|
+
{ method: "getblockbyheight", category: "chain", gateway: ["privileged"], params: ["height"] },
|
|
14
|
+
{ method: "getblock", category: "chain", gateway: ["privileged"], params: ["hash"] },
|
|
15
|
+
{ method: "getchaininfo", category: "chain", gateway: ["privileged", "wallet", "mining"], params: [] },
|
|
16
|
+
{ method: "sendrawtransactionWeb", category: "transactions", gateway: ["privileged", "wallet"], params: ["txHex"] },
|
|
17
|
+
{ method: "sendrawtransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["txHex"] },
|
|
18
|
+
{ method: "sendtoaddress", category: "wallet", gateway: ["privileged"], params: ["address", "amount", "browserCandidate", "browserMinerAddress", "dry_run", "minerAddress"] },
|
|
19
|
+
{ method: "axonwalletinspect", category: "wallet/axon", gateway: ["privileged"], params: ["uri"] },
|
|
20
|
+
{ method: "axonwalletfund", category: "wallet/axon", gateway: ["privileged"], params: ["confirm", "expected_intent_sha256", "expected_job_id", "uri"] },
|
|
21
|
+
{ method: "preparemagicsecret", category: "magic", gateway: ["privileged", "wallet"], params: [] },
|
|
22
|
+
{ method: "getmagicsecret", category: "magic", gateway: ["privileged", "wallet"], params: [] },
|
|
23
|
+
{ method: "publishmagicsecret", category: "magic", gateway: ["privileged"], params: [] },
|
|
24
|
+
{ method: "startmining", category: "mining", gateway: ["privileged"], params: ["minerAddress", "quiet", "type"] },
|
|
25
|
+
{ method: "getmempooltransactions", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: [] },
|
|
26
|
+
{ method: "getrawmempool", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: ["verbose"] },
|
|
27
|
+
{ method: "listunspentWeb", category: "wallet", gateway: ["privileged", "wallet"], params: ["address"] },
|
|
28
|
+
{ method: "listunspent", category: "wallet", gateway: ["privileged"], params: ["address"] },
|
|
29
|
+
{ method: "createrawtransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["inputs", "outputs"] },
|
|
30
|
+
{ method: "signrawtransactionwithkeyWeb", category: "transactions", gateway: ["privileged"], params: ["privKeys", "txHex"] },
|
|
31
|
+
{ method: "signrawtransactionwithkey", category: "transactions", gateway: ["privileged"], params: ["privKeys", "txHex"] },
|
|
32
|
+
{ method: "gettokenutxo", category: "tokens", gateway: ["privileged", "wallet"], params: ["address", "tokenID", "txid", "vout"] },
|
|
33
|
+
{ method: "gettokenmetadata", category: "tokens", gateway: ["privileged", "wallet"], params: ["txid"] },
|
|
34
|
+
{ method: "verifytokenevolution", category: "tokens", gateway: ["privileged", "wallet"], params: ["require_confirmed", "tokenID"] },
|
|
35
|
+
{ method: "previewtokenevolution", category: "tokens", gateway: ["privileged", "wallet"], params: ["media_inputs", "owner", "provider", "tokenID", "trigger"] },
|
|
36
|
+
{ method: "committokenevolutionsigned", category: "tokens", gateway: ["privileged", "wallet"], params: ["confirmation", "owner", "publicKey", "record_json", "signature", "tokenID"] },
|
|
37
|
+
{ method: "inscribeTRUScript", category: "truscripts", gateway: ["privileged"], params: ["data", "owner"] },
|
|
38
|
+
{ method: "inscribeTRUScriptSigned", category: "truscripts", gateway: ["privileged", "wallet"], params: ["inscriptionData", "owner", "requireBoundOpReturn", "signedTxHex"] },
|
|
39
|
+
{ method: "createsocialpost", category: "identity", gateway: ["privileged"], params: ["fromDID", "message", "privateKey", "tags"] },
|
|
40
|
+
{ method: "getDIDMapping", category: "identity", gateway: ["privileged", "wallet"], params: ["did"] },
|
|
41
|
+
{ method: "registerDIDSigned", category: "identity", gateway: ["privileged", "wallet"], params: ["address", "did", "publicKey", "signature"] },
|
|
42
|
+
{ method: "createDID", category: "identity", gateway: ["privileged"], params: ["address", "did"] },
|
|
43
|
+
{ method: "tokenmetadisplay", category: "tokens", gateway: ["privileged", "wallet"], params: ["addresses"] },
|
|
44
|
+
{ method: "createTransferTRUScriptTransaction", category: "truscripts", gateway: ["privileged", "wallet"], params: ["fee", "feeUtxo", "inscriptionTxid", "recipient", "senderAddress"] },
|
|
45
|
+
{ method: "transferTRUScript", category: "truscripts", gateway: ["privileged"], params: ["inscriptionTxid", "recipient"] },
|
|
46
|
+
{ method: "getblockcount", category: "chain", gateway: ["privileged", "wallet", "mining"], params: [] },
|
|
47
|
+
{ method: "gettransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["txid"] },
|
|
48
|
+
{ method: "decoderawtransaction", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: ["txHex"] },
|
|
49
|
+
{ method: "swaptestexitmempoolaccept", category: "htlc/swap", gateway: ["privileged"], params: ["expectedTxid", "fundingTxid", "fundingVout", "txHex"] },
|
|
50
|
+
{ method: "listtransactions", category: "transactions", gateway: ["privileged", "wallet"], params: ["address", "count"] },
|
|
51
|
+
{ method: "issuetoken", category: "tokens", gateway: ["privileged"], params: ["address", "decimals", "description", "image", "name", "supply", "symbol", "tokenID", "type"] },
|
|
52
|
+
{ method: "registerminer", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
|
|
53
|
+
{ method: "unregisterminer", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
|
|
54
|
+
{ method: "getminerstatus", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
|
|
55
|
+
{ method: "getallminers", category: "mining", gateway: ["privileged", "wallet"], params: [] },
|
|
56
|
+
{ method: "issuetokensigned", category: "tokens", gateway: ["privileged", "wallet"], params: ["attachMetadata", "metadata", "signedTxHex"] },
|
|
57
|
+
{ method: "verifytokenmetadata", category: "tokens", gateway: ["privileged", "wallet"], params: ["txid"] },
|
|
58
|
+
{ method: "createcontracttransaction", category: "contracts", gateway: ["privileged", "wallet"], params: ["amount", "fee", "metadata", "name", "scriptHex", "senderAddress", "type", "utxo"] },
|
|
59
|
+
{ method: "redeemhashlock", category: "contracts", gateway: ["privileged"], params: ["address", "contractAddress", "preimage"] },
|
|
60
|
+
{ method: "redeemtimelock", category: "contracts", gateway: ["privileged"], params: ["address", "contractAddress"] },
|
|
61
|
+
{ method: "getcontracts", category: "contracts", gateway: ["privileged", "wallet"], params: [] },
|
|
62
|
+
{ method: "getrawtransaction", category: "transactions", gateway: ["privileged"], params: ["txid", "verbose"] },
|
|
63
|
+
{ method: "gettxout", category: "transactions", gateway: ["privileged", "wallet"], params: ["includeMempool", "n", "txid"] },
|
|
64
|
+
{ method: "getcontractoutpoint07b", category: "contracts", gateway: ["privileged"], params: ["txid", "vout"] },
|
|
65
|
+
{ method: "getvotingv1snapshot07b", category: "contracts", gateway: ["privileged"], params: [] },
|
|
66
|
+
{ method: "preparevotingv1create07b", category: "contracts", gateway: ["privileged"], params: [] },
|
|
67
|
+
{ method: "preparevotingv1ballot07b", category: "contracts", gateway: ["privileged"], params: [] },
|
|
68
|
+
{ method: "getTRUScripts", category: "truscripts", gateway: ["privileged", "wallet"], params: ["ownerAddress"] },
|
|
69
|
+
{ method: "getTRUScriptDetails", category: "truscripts", gateway: ["privileged", "wallet"], params: ["txid"] },
|
|
70
|
+
{ method: "sendtokenweb", category: "tokens", gateway: ["privileged"], params: ["amount", "recipient", "senderAddress", "tokenID"] },
|
|
71
|
+
{ method: "getaddresstransactions", category: "transactions", gateway: ["privileged", "wallet"], params: ["address", "count"] },
|
|
72
|
+
{ method: "createsendtokentransaction", category: "tokens", gateway: ["privileged", "wallet"], params: ["amount", "fee", "feeUtxo", "recipient", "senderAddress", "tokenID"] },
|
|
73
|
+
{ method: "createburntokentransaction", category: "tokens", gateway: ["privileged", "wallet"], params: ["fee", "feeUtxo", "senderAddress", "tokenID"] },
|
|
74
|
+
{ method: "debugtokentx", category: "tokens", gateway: ["privileged"], params: ["txid"] },
|
|
75
|
+
{ method: "createtokentransaction", category: "tokens", gateway: ["privileged"], params: ["decimals", "description", "fee", "imageUrl", "metadata", "metadataBeforeSigning", "name", "senderAddress", "symbol", "tokenID", "totalSupply", "type", "utxo"] },
|
|
76
|
+
{ method: "listmempooltransactions", category: "transactions", gateway: ["privileged", "wallet"], params: [] },
|
|
77
|
+
{ method: "verifytokenbalance", category: "tokens", gateway: ["privileged"], params: ["address", "tokenID"] },
|
|
78
|
+
{ method: "createmagiclock", category: "magic", gateway: ["privileged"], params: ["address", "amount", "dataType", "secretData", "targetPrefix"] },
|
|
79
|
+
{ method: "unlockmagiclock", category: "magic", gateway: ["privileged"], params: ["recipient", "txid", "vout"] },
|
|
80
|
+
{ method: "listmagiclocks", category: "magic", gateway: ["privileged", "wallet"], params: ["address"] },
|
|
81
|
+
{ method: "listaddresses", category: "wallet", gateway: ["privileged"], params: [] },
|
|
82
|
+
{ method: "getbalance", category: "wallet", gateway: ["privileged"], params: ["address"] },
|
|
83
|
+
{ method: "getchainsupply", category: "data-provider", gateway: ["privileged"], params: [] },
|
|
84
|
+
{ method: "getchainhealth", category: "data-provider", gateway: ["privileged"], params: [] },
|
|
85
|
+
{ method: "getchainmetadata", category: "data-provider", gateway: ["privileged"], params: [] },
|
|
86
|
+
{ method: "getinfo", category: "system", gateway: ["privileged"], params: [] },
|
|
87
|
+
{ method: "getdesktopinfo", category: "system", gateway: ["privileged", "wallet"], params: ["authToken"] },
|
|
88
|
+
{ method: "configureAIProvider", category: "ai", gateway: ["privileged"], params: ["address", "api_key", "config", "endpoint", "model", "provider"] },
|
|
89
|
+
{ method: "getAIProviders", category: "ai", gateway: ["privileged", "wallet"], params: [] },
|
|
90
|
+
{ method: "testAIProvider", category: "ai", gateway: ["privileged", "wallet"], params: ["provider"] },
|
|
91
|
+
{ method: "createAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "ai_provider", "decimals", "description", "image", "learning_rate", "name", "neural_network", "quantity", "supply", "symbol", "tokenID", "type"] },
|
|
92
|
+
{ method: "interactWithAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "message", "tokenID"] },
|
|
93
|
+
{ method: "getAIResponse", category: "ai", gateway: ["privileged"], params: ["requestID"] },
|
|
94
|
+
{ method: "getAITokenState", category: "ai/tokens", gateway: ["privileged", "wallet"], params: ["tokenID"] },
|
|
95
|
+
{ method: "trainAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "tokenID", "training_data"] },
|
|
96
|
+
{ method: "htlcgeneratesecret", category: "htlc", gateway: ["privileged"], params: [] },
|
|
97
|
+
{ method: "htlcpreparefunding", category: "htlc", gateway: ["privileged"], params: ["amountAtoms", "claimPubkey", "operationId", "refundPubkey", "refundTime", "secretHash160"] },
|
|
98
|
+
{ method: "htlcpreparedstatus", category: "htlc", gateway: ["privileged"], params: ["operationId"] },
|
|
99
|
+
{ method: "htlcpreparedrelease", category: "htlc", gateway: ["privileged"], params: ["operationId", "preparedTxid"] },
|
|
100
|
+
{ method: "htlcbroadcastprepared", category: "htlc", gateway: ["privileged"], params: ["dryRun", "operationId", "preparedTxid"] },
|
|
101
|
+
{ method: "htlccreate", category: "htlc", gateway: ["privileged"], params: ["amountAtoms", "claimPubkey", "refundPubkey", "refundTime", "secretHash160"] },
|
|
102
|
+
{ method: "htlcclaim", category: "htlc", gateway: ["privileged"], params: ["allocationId", "fundingTxid", "preimageHex", "recipient", "vout"] },
|
|
103
|
+
{ method: "htlcrefund", category: "htlc", gateway: ["privileged"], params: ["allocationId", "fundingTxid", "recipient", "vout"] },
|
|
104
|
+
{ method: "swaprecordcreate", category: "swap", gateway: ["privileged"], params: [] },
|
|
105
|
+
{ method: "swaprecordget", category: "swap", gateway: ["privileged"], params: ["swapId"] },
|
|
106
|
+
{ method: "swaprecordlist", category: "swap", gateway: ["privileged"], params: [] },
|
|
107
|
+
{ method: "swaprecordtransition", category: "swap", gateway: ["privileged"], params: ["evidence", "nextState", "swapId"] },
|
|
108
|
+
{ method: "swapwalletfreshkeys", category: "swap", gateway: ["privileged"], params: ["allocationId"] },
|
|
109
|
+
{ method: "swapwalletfreshselfproof", category: "swap", gateway: ["privileged"], params: ["allocationId", "role"] },
|
|
110
|
+
{ method: "swapwalletrolekeys", category: "swap", gateway: ["privileged"], params: [] }
|
|
111
|
+
];
|
|
112
|
+
export function rpcMethod(method) {
|
|
113
|
+
return RPC_CATALOG.find(entry => entry.method === method);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=rpc-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-catalog.js","sourceRoot":"","sources":["../src/rpc-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { HttpClientOptions, JsonObject, JsonValue, RpcCallOptions, RpcTransportOptions, TokenProvider } from "./types.js";
|
|
2
|
+
export declare class RpcTransport {
|
|
3
|
+
readonly endpoint: string;
|
|
4
|
+
readonly timeoutMs: number;
|
|
5
|
+
private readonly token?;
|
|
6
|
+
private readonly fetcher;
|
|
7
|
+
private readonly headers;
|
|
8
|
+
private readonly credentials?;
|
|
9
|
+
private nextId;
|
|
10
|
+
constructor(options: RpcTransportOptions);
|
|
11
|
+
call<T = JsonValue>(method: string, params?: JsonObject, options?: RpcCallOptions): Promise<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare class HttpTransport {
|
|
14
|
+
readonly baseUrl: string;
|
|
15
|
+
readonly timeoutMs: number;
|
|
16
|
+
private readonly token?;
|
|
17
|
+
private readonly fetcher;
|
|
18
|
+
private readonly headers;
|
|
19
|
+
private readonly credentials?;
|
|
20
|
+
constructor(options: HttpClientOptions);
|
|
21
|
+
request<T = JsonValue>(method: string, path: string, options?: {
|
|
22
|
+
body?: JsonValue;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
token?: TokenProvider;
|
|
27
|
+
}): Promise<T>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAe,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+B5I,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;IAClD,OAAO,CAAC,MAAM,CAAK;gBAEP,OAAO,EAAE,mBAAmB;IAUlC,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CA6C7G;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;gBAEtC,OAAO,EAAE,iBAAiB;IAUhC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAClE,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,aAAa,CAAC;KAClB,GAAG,OAAO,CAAC,CAAC,CAAC;CA2BpB"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { classifyHttpError, classifyRpcError, TruNetworkError, TruTimeoutError } from "./errors.js";
|
|
2
|
+
async function resolveToken(token) {
|
|
3
|
+
if (!token)
|
|
4
|
+
return undefined;
|
|
5
|
+
const value = typeof token === "function" ? await token() : token;
|
|
6
|
+
const trimmed = value.trim();
|
|
7
|
+
return trimmed || undefined;
|
|
8
|
+
}
|
|
9
|
+
function sleep(ms) {
|
|
10
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
11
|
+
}
|
|
12
|
+
async function fetchWithTimeout(fetcher, url, init, timeoutMs) {
|
|
13
|
+
const controller = new AbortController();
|
|
14
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
15
|
+
try {
|
|
16
|
+
return await fetcher(url, { ...init, signal: controller.signal });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
20
|
+
throw new TruTimeoutError(`Request timed out after ${timeoutMs} ms`, { cause: error });
|
|
21
|
+
}
|
|
22
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
23
|
+
throw new TruTimeoutError(`Request timed out after ${timeoutMs} ms`, { cause: error });
|
|
24
|
+
}
|
|
25
|
+
throw new TruNetworkError(error instanceof Error ? error.message : "Network request failed", { cause: error });
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
clearTimeout(timer);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class RpcTransport {
|
|
32
|
+
endpoint;
|
|
33
|
+
timeoutMs;
|
|
34
|
+
token;
|
|
35
|
+
fetcher;
|
|
36
|
+
headers;
|
|
37
|
+
credentials;
|
|
38
|
+
nextId = 1;
|
|
39
|
+
constructor(options) {
|
|
40
|
+
this.endpoint = options.endpoint;
|
|
41
|
+
this.timeoutMs = options.timeoutMs ?? 15_000;
|
|
42
|
+
this.token = options.token;
|
|
43
|
+
this.fetcher = options.fetch ?? globalThis.fetch;
|
|
44
|
+
this.headers = options.headers ?? {};
|
|
45
|
+
this.credentials = options.credentials;
|
|
46
|
+
if (!this.fetcher)
|
|
47
|
+
throw new Error("No fetch implementation available");
|
|
48
|
+
}
|
|
49
|
+
async call(method, params = {}, options = {}) {
|
|
50
|
+
const retries = options.retries ?? 0;
|
|
51
|
+
const retryDelayMs = options.retryDelayMs ?? 200;
|
|
52
|
+
let lastError;
|
|
53
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
54
|
+
try {
|
|
55
|
+
const token = await resolveToken(this.token);
|
|
56
|
+
const headers = {
|
|
57
|
+
"Content-Type": "application/json",
|
|
58
|
+
"Accept": "application/json",
|
|
59
|
+
...this.headers
|
|
60
|
+
};
|
|
61
|
+
if (token)
|
|
62
|
+
headers.Authorization = `Bearer ${token}`;
|
|
63
|
+
const response = await fetchWithTimeout(this.fetcher, this.endpoint, {
|
|
64
|
+
method: "POST",
|
|
65
|
+
headers,
|
|
66
|
+
body: JSON.stringify({ jsonrpc: "2.0", id: this.nextId++, method, params }),
|
|
67
|
+
...(this.credentials ? { credentials: this.credentials } : {})
|
|
68
|
+
}, options.timeoutMs ?? this.timeoutMs);
|
|
69
|
+
const text = await response.text();
|
|
70
|
+
if (!response.ok) {
|
|
71
|
+
throw classifyHttpError(response.status, text || `HTTP ${response.status}`);
|
|
72
|
+
}
|
|
73
|
+
let envelope;
|
|
74
|
+
try {
|
|
75
|
+
envelope = JSON.parse(text);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw new TruNetworkError("TRU RPC returned invalid JSON", { cause: error });
|
|
79
|
+
}
|
|
80
|
+
if (envelope.error)
|
|
81
|
+
throw classifyRpcError(envelope.error);
|
|
82
|
+
if (!("result" in envelope))
|
|
83
|
+
throw new TruNetworkError("TRU RPC response did not contain result or error");
|
|
84
|
+
return envelope.result;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
lastError = error;
|
|
88
|
+
if (attempt >= retries)
|
|
89
|
+
throw error;
|
|
90
|
+
await sleep(retryDelayMs * (attempt + 1));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
throw lastError;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export class HttpTransport {
|
|
97
|
+
baseUrl;
|
|
98
|
+
timeoutMs;
|
|
99
|
+
token;
|
|
100
|
+
fetcher;
|
|
101
|
+
headers;
|
|
102
|
+
credentials;
|
|
103
|
+
constructor(options) {
|
|
104
|
+
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
105
|
+
this.timeoutMs = options.timeoutMs ?? 15_000;
|
|
106
|
+
this.token = options.token;
|
|
107
|
+
this.fetcher = options.fetch ?? globalThis.fetch;
|
|
108
|
+
this.headers = options.headers ?? {};
|
|
109
|
+
this.credentials = options.credentials;
|
|
110
|
+
if (!this.fetcher)
|
|
111
|
+
throw new Error("No fetch implementation available");
|
|
112
|
+
}
|
|
113
|
+
async request(method, path, options = {}) {
|
|
114
|
+
const url = new URL(this.baseUrl + path);
|
|
115
|
+
for (const [key, value] of Object.entries(options.query ?? {})) {
|
|
116
|
+
if (value !== undefined)
|
|
117
|
+
url.searchParams.set(key, String(value));
|
|
118
|
+
}
|
|
119
|
+
const token = await resolveToken(options.token ?? this.token);
|
|
120
|
+
const headers = { "Accept": "application/json", ...this.headers, ...(options.headers ?? {}) };
|
|
121
|
+
if (options.body !== undefined)
|
|
122
|
+
headers["Content-Type"] = "application/json";
|
|
123
|
+
if (token)
|
|
124
|
+
headers.Authorization = `Bearer ${token}`;
|
|
125
|
+
const response = await fetchWithTimeout(this.fetcher, url.toString(), {
|
|
126
|
+
method,
|
|
127
|
+
headers,
|
|
128
|
+
...(options.body === undefined ? {} : { body: JSON.stringify(options.body) }),
|
|
129
|
+
...(this.credentials ? { credentials: this.credentials } : {})
|
|
130
|
+
}, options.timeoutMs ?? this.timeoutMs);
|
|
131
|
+
const text = await response.text();
|
|
132
|
+
if (!response.ok)
|
|
133
|
+
throw classifyHttpError(response.status, text || `HTTP ${response.status}`);
|
|
134
|
+
if (!text)
|
|
135
|
+
return undefined;
|
|
136
|
+
try {
|
|
137
|
+
return JSON.parse(text);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
throw new TruNetworkError("HTTP endpoint returned invalid JSON", { cause: error });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=transport.js.map
|