tenzro-sdk 0.2.0 → 0.3.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/README.md +1 -1
- package/dist/adaptive-burn.js +4 -4
- package/dist/adaptive-burn.js.map +1 -1
- package/dist/agent.d.ts +119 -11
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +162 -13
- package/dist/agent.js.map +1 -1
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts +37 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +11 -0
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +81 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +99 -0
- package/dist/client.js.map +1 -1
- package/dist/eip7702.d.ts +110 -0
- package/dist/eip7702.d.ts.map +1 -0
- package/dist/eip7702.js +73 -0
- package/dist/eip7702.js.map +1 -0
- package/dist/erc7683.d.ts +79 -0
- package/dist/erc7683.d.ts.map +1 -0
- package/dist/erc7683.js +82 -0
- package/dist/erc7683.js.map +1 -0
- package/dist/events.d.ts +45 -15
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +38 -8
- package/dist/events.js.map +1 -1
- package/dist/identity.d.ts +1 -1
- package/dist/identity.js +1 -1
- package/dist/index.d.ts +25 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -2
- package/dist/index.js.map +1 -1
- package/dist/iroh.d.ts +104 -0
- package/dist/iroh.d.ts.map +1 -0
- package/dist/iroh.js +102 -0
- package/dist/iroh.js.map +1 -0
- package/dist/marketplace.d.ts +2 -2
- package/dist/marketplace.js +2 -2
- package/dist/memory.d.ts +78 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +60 -0
- package/dist/memory.js.map +1 -0
- package/dist/multimodal.d.ts +294 -0
- package/dist/multimodal.d.ts.map +1 -0
- package/dist/multimodal.js +160 -0
- package/dist/multimodal.js.map +1 -0
- package/dist/passkey.d.ts +193 -0
- package/dist/passkey.d.ts.map +1 -0
- package/dist/passkey.js +481 -0
- package/dist/passkey.js.map +1 -0
- package/dist/provider.d.ts +5 -4
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +8 -5
- package/dist/provider.js.map +1 -1
- package/dist/seed-agent.js +7 -7
- package/dist/seed-agent.js.map +1 -1
- package/dist/settlement.d.ts +23 -6
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +30 -7
- package/dist/settlement.js.map +1 -1
- package/dist/signer.d.ts +181 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +69 -0
- package/dist/signer.js.map +1 -0
- package/dist/sla.d.ts +95 -0
- package/dist/sla.d.ts.map +1 -0
- package/dist/sla.js +70 -0
- package/dist/sla.js.map +1 -0
- package/dist/snapshot.d.ts +122 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +80 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/staking.d.ts +5 -5
- package/dist/staking.d.ts.map +1 -1
- package/dist/staking.js +8 -6
- package/dist/staking.js.map +1 -1
- package/dist/task.d.ts +56 -22
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +65 -31
- package/dist/task.js.map +1 -1
- package/dist/token.d.ts +41 -11
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js.map +1 -1
- package/dist/training.d.ts +108 -0
- package/dist/training.d.ts.map +1 -0
- package/dist/training.js +53 -0
- package/dist/training.js.map +1 -0
- package/dist/types.d.ts +72 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validator.d.ts +76 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +47 -0
- package/dist/validator.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { RpcClient } from './rpc';
|
|
2
|
+
/**
|
|
3
|
+
* Compact summary returned by `tenzro_listSnapshots`. Per-chunk hashes
|
|
4
|
+
* are elided here — fetch the full manifest with
|
|
5
|
+
* `getSnapshotManifest(height)` to verify chunks.
|
|
6
|
+
*/
|
|
7
|
+
export interface SnapshotSummary {
|
|
8
|
+
height: number;
|
|
9
|
+
state_root_hex: string;
|
|
10
|
+
num_chunks: number;
|
|
11
|
+
created_at: string;
|
|
12
|
+
format: number;
|
|
13
|
+
}
|
|
14
|
+
/** Result of `tenzro_listSnapshots`. */
|
|
15
|
+
export interface SnapshotList {
|
|
16
|
+
snapshots: SnapshotSummary[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Full snapshot manifest with per-chunk SHA-256 hashes. Returned by
|
|
20
|
+
* `tenzro_getSnapshotManifest` and consumed by `tenzro_offerSnapshot`.
|
|
21
|
+
*/
|
|
22
|
+
export interface SnapshotManifest {
|
|
23
|
+
/** Block height at which this snapshot was taken. */
|
|
24
|
+
height: number;
|
|
25
|
+
/**
|
|
26
|
+
* State root committed at `height`. The caller MUST verify this
|
|
27
|
+
* against a trusted QC at the same height before offering or
|
|
28
|
+
* applying this snapshot.
|
|
29
|
+
*/
|
|
30
|
+
state_root_hex: string;
|
|
31
|
+
/** Number of chunks. Chunk indices are `0..num_chunks`. */
|
|
32
|
+
num_chunks: number;
|
|
33
|
+
/**
|
|
34
|
+
* Per-chunk SHA-256 hash (hex), indexed by chunk number. Used by the
|
|
35
|
+
* receiver to verify chunks before disk write.
|
|
36
|
+
*/
|
|
37
|
+
chunk_hashes_hex: string[];
|
|
38
|
+
/** Wall-clock time the snapshot was produced (ISO 8601, UTC). */
|
|
39
|
+
created_at: string;
|
|
40
|
+
/** Manifest format version. */
|
|
41
|
+
format: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Result of `tenzro_getSnapshotChunk`. `data_b64` is the base64-encoded
|
|
45
|
+
* chunk bytes.
|
|
46
|
+
*/
|
|
47
|
+
export interface SnapshotChunk {
|
|
48
|
+
height: number;
|
|
49
|
+
chunk_index: number;
|
|
50
|
+
data_b64: string;
|
|
51
|
+
}
|
|
52
|
+
/** Result of `tenzro_offerSnapshot`. */
|
|
53
|
+
export interface SnapshotOfferAccepted {
|
|
54
|
+
accepted: boolean;
|
|
55
|
+
height: number;
|
|
56
|
+
num_chunks: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Result of `tenzro_applySnapshotChunk`. `complete` flips to `true` on
|
|
60
|
+
* the final chunk, after which the snapshot has been atomically
|
|
61
|
+
* committed via `write_batch_sync`.
|
|
62
|
+
*/
|
|
63
|
+
export interface SnapshotChunkApplied {
|
|
64
|
+
complete: boolean;
|
|
65
|
+
height: number;
|
|
66
|
+
chunk_index: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* State-sync snapshot client.
|
|
70
|
+
*
|
|
71
|
+
* Wraps the five snapshot RPCs that drive state-sync between nodes:
|
|
72
|
+
* - `tenzro_listSnapshots` — enumerate local snapshots
|
|
73
|
+
* - `tenzro_getSnapshotManifest` — full manifest including per-chunk hashes
|
|
74
|
+
* - `tenzro_getSnapshotChunk` — fetch a single chunk by index
|
|
75
|
+
* - `tenzro_offerSnapshot` — register an inbound manifest from a peer
|
|
76
|
+
* - `tenzro_applySnapshotChunk` — write one inbound chunk
|
|
77
|
+
*
|
|
78
|
+
* **Trust model:** Callers MUST verify `manifest.state_root_hex` against
|
|
79
|
+
* a trusted QC at the same height before calling `offerSnapshot` /
|
|
80
|
+
* `applySnapshotChunk`. The node verifies per-chunk SHA-256 against
|
|
81
|
+
* the manifest before any disk write, and atomically commits on the
|
|
82
|
+
* final chunk via `write_batch_sync`.
|
|
83
|
+
*/
|
|
84
|
+
export declare class SnapshotClient {
|
|
85
|
+
private readonly rpc;
|
|
86
|
+
constructor(rpc: RpcClient);
|
|
87
|
+
/**
|
|
88
|
+
* Enumerate local snapshots. Per-chunk hashes are elided for
|
|
89
|
+
* compactness — use `getSnapshotManifest(height)` to retrieve the
|
|
90
|
+
* full manifest.
|
|
91
|
+
*/
|
|
92
|
+
listSnapshots(): Promise<SnapshotList>;
|
|
93
|
+
/**
|
|
94
|
+
* Fetch the full manifest for the snapshot at `height`, including
|
|
95
|
+
* per-chunk SHA-256 hashes. Returns the node's `-32004 no snapshot
|
|
96
|
+
* at height` error if no snapshot is taken at that height.
|
|
97
|
+
*/
|
|
98
|
+
getSnapshotManifest(height: number): Promise<SnapshotManifest>;
|
|
99
|
+
/**
|
|
100
|
+
* Fetch one chunk by `(height, chunkIndex)`. The returned `data_b64`
|
|
101
|
+
* is the base64-encoded chunk bytes; verify against
|
|
102
|
+
* `manifest.chunk_hashes_hex[chunkIndex]` before applying.
|
|
103
|
+
*/
|
|
104
|
+
getSnapshotChunk(height: number, chunkIndex: number): Promise<SnapshotChunk>;
|
|
105
|
+
/**
|
|
106
|
+
* Register an inbound manifest from a peer.
|
|
107
|
+
*
|
|
108
|
+
* **Caller MUST verify `manifest.state_root_hex` against a trusted QC
|
|
109
|
+
* at the same height before invoking.** This RPC only registers the
|
|
110
|
+
* offer and provisions the spool directory; it does not itself
|
|
111
|
+
* validate the manifest against chain state.
|
|
112
|
+
*/
|
|
113
|
+
offerSnapshot(manifest: SnapshotManifest): Promise<SnapshotOfferAccepted>;
|
|
114
|
+
/**
|
|
115
|
+
* Write one inbound chunk. The chunk's SHA-256 is verified against
|
|
116
|
+
* `manifest.chunk_hashes_hex[chunkIndex]` before any disk write. On
|
|
117
|
+
* the final chunk, all chunks are decoded and atomically committed
|
|
118
|
+
* via `write_batch_sync`; `complete` will be `true` on that call.
|
|
119
|
+
*/
|
|
120
|
+
applySnapshotChunk(height: number, chunkIndex: number, dataB64: string): Promise<SnapshotChunkApplied>;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAID;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAI5C;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMpE;;;;OAIG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAMzB;;;;;;;OAOG;IACG,aAAa,CACjB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAMjC;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC;CAKjC"}
|
package/dist/snapshot.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SnapshotClient = void 0;
|
|
4
|
+
// ── Client ──
|
|
5
|
+
/**
|
|
6
|
+
* State-sync snapshot client.
|
|
7
|
+
*
|
|
8
|
+
* Wraps the five snapshot RPCs that drive state-sync between nodes:
|
|
9
|
+
* - `tenzro_listSnapshots` — enumerate local snapshots
|
|
10
|
+
* - `tenzro_getSnapshotManifest` — full manifest including per-chunk hashes
|
|
11
|
+
* - `tenzro_getSnapshotChunk` — fetch a single chunk by index
|
|
12
|
+
* - `tenzro_offerSnapshot` — register an inbound manifest from a peer
|
|
13
|
+
* - `tenzro_applySnapshotChunk` — write one inbound chunk
|
|
14
|
+
*
|
|
15
|
+
* **Trust model:** Callers MUST verify `manifest.state_root_hex` against
|
|
16
|
+
* a trusted QC at the same height before calling `offerSnapshot` /
|
|
17
|
+
* `applySnapshotChunk`. The node verifies per-chunk SHA-256 against
|
|
18
|
+
* the manifest before any disk write, and atomically commits on the
|
|
19
|
+
* final chunk via `write_batch_sync`.
|
|
20
|
+
*/
|
|
21
|
+
class SnapshotClient {
|
|
22
|
+
rpc;
|
|
23
|
+
constructor(rpc) {
|
|
24
|
+
this.rpc = rpc;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Enumerate local snapshots. Per-chunk hashes are elided for
|
|
28
|
+
* compactness — use `getSnapshotManifest(height)` to retrieve the
|
|
29
|
+
* full manifest.
|
|
30
|
+
*/
|
|
31
|
+
async listSnapshots() {
|
|
32
|
+
return this.rpc.call('tenzro_listSnapshots', []);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fetch the full manifest for the snapshot at `height`, including
|
|
36
|
+
* per-chunk SHA-256 hashes. Returns the node's `-32004 no snapshot
|
|
37
|
+
* at height` error if no snapshot is taken at that height.
|
|
38
|
+
*/
|
|
39
|
+
async getSnapshotManifest(height) {
|
|
40
|
+
return this.rpc.call('tenzro_getSnapshotManifest', [
|
|
41
|
+
{ height },
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fetch one chunk by `(height, chunkIndex)`. The returned `data_b64`
|
|
46
|
+
* is the base64-encoded chunk bytes; verify against
|
|
47
|
+
* `manifest.chunk_hashes_hex[chunkIndex]` before applying.
|
|
48
|
+
*/
|
|
49
|
+
async getSnapshotChunk(height, chunkIndex) {
|
|
50
|
+
return this.rpc.call('tenzro_getSnapshotChunk', [
|
|
51
|
+
{ height, chunk_index: chunkIndex },
|
|
52
|
+
]);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Register an inbound manifest from a peer.
|
|
56
|
+
*
|
|
57
|
+
* **Caller MUST verify `manifest.state_root_hex` against a trusted QC
|
|
58
|
+
* at the same height before invoking.** This RPC only registers the
|
|
59
|
+
* offer and provisions the spool directory; it does not itself
|
|
60
|
+
* validate the manifest against chain state.
|
|
61
|
+
*/
|
|
62
|
+
async offerSnapshot(manifest) {
|
|
63
|
+
return this.rpc.call('tenzro_offerSnapshot', [
|
|
64
|
+
manifest,
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Write one inbound chunk. The chunk's SHA-256 is verified against
|
|
69
|
+
* `manifest.chunk_hashes_hex[chunkIndex]` before any disk write. On
|
|
70
|
+
* the final chunk, all chunks are decoded and atomically committed
|
|
71
|
+
* via `write_batch_sync`; `complete` will be `true` on that call.
|
|
72
|
+
*/
|
|
73
|
+
async applySnapshotChunk(height, chunkIndex, dataB64) {
|
|
74
|
+
return this.rpc.call('tenzro_applySnapshotChunk', [
|
|
75
|
+
{ height, chunk_index: chunkIndex, data_b64: dataB64 },
|
|
76
|
+
]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.SnapshotClient = SnapshotClient;
|
|
80
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":";;;AA4EA,eAAe;AAEf;;;;;;;;;;;;;;;GAeG;AACH,MAAa,cAAc;IACI;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,4BAA4B,EAAE;YACnE,EAAE,MAAM,EAAE;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,UAAkB;QAElB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAgB,yBAAyB,EAAE;YAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,QAA0B;QAE1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAwB,sBAAsB,EAAE;YAClE,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,UAAkB,EAClB,OAAe;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAuB,2BAA2B,EAAE;YACtE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;CACF;AApED,wCAoEC"}
|
package/dist/staking.d.ts
CHANGED
|
@@ -8,15 +8,15 @@ export declare class StakingClient {
|
|
|
8
8
|
private readonly rpc;
|
|
9
9
|
constructor(rpc: RpcClient);
|
|
10
10
|
/**
|
|
11
|
-
* Stake TNZO tokens for a given
|
|
12
|
-
* @param amount - Amount
|
|
13
|
-
* @param
|
|
11
|
+
* Stake TNZO tokens for a given provider type.
|
|
12
|
+
* @param amount - Amount in wei (10^-18 TNZO) as decimal string, e.g. "1000000000000000000000" for 1000 TNZO
|
|
13
|
+
* @param providerType - Provider type: "validator", "model_provider", "tee_provider", or "storage_provider"
|
|
14
14
|
* @returns Stake result with transaction hash and status
|
|
15
15
|
*/
|
|
16
|
-
stake(amount: string,
|
|
16
|
+
stake(amount: string, providerType: StakingRole): Promise<StakeResult>;
|
|
17
17
|
/**
|
|
18
18
|
* Unstake TNZO tokens (initiates the unbonding period).
|
|
19
|
-
* @param amount - Amount
|
|
19
|
+
* @param amount - Amount in wei (10^-18 TNZO) as decimal string
|
|
20
20
|
* @returns Unstake result with transaction hash, status, and unbonding end time
|
|
21
21
|
*/
|
|
22
22
|
unstake(amount: string): Promise<UnstakeResult>;
|
package/dist/staking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../src/staking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../src/staking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5E;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrD;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAMjE;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAM1D;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAK/D"}
|
package/dist/staking.js
CHANGED
|
@@ -11,17 +11,19 @@ class StakingClient {
|
|
|
11
11
|
this.rpc = rpc;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Stake TNZO tokens for a given
|
|
15
|
-
* @param amount - Amount
|
|
16
|
-
* @param
|
|
14
|
+
* Stake TNZO tokens for a given provider type.
|
|
15
|
+
* @param amount - Amount in wei (10^-18 TNZO) as decimal string, e.g. "1000000000000000000000" for 1000 TNZO
|
|
16
|
+
* @param providerType - Provider type: "validator", "model_provider", "tee_provider", or "storage_provider"
|
|
17
17
|
* @returns Stake result with transaction hash and status
|
|
18
18
|
*/
|
|
19
|
-
async stake(amount,
|
|
20
|
-
return this.rpc.call('tenzro_stake', [
|
|
19
|
+
async stake(amount, providerType) {
|
|
20
|
+
return this.rpc.call('tenzro_stake', [
|
|
21
|
+
{ amount, provider_type: providerType },
|
|
22
|
+
]);
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Unstake TNZO tokens (initiates the unbonding period).
|
|
24
|
-
* @param amount - Amount
|
|
26
|
+
* @param amount - Amount in wei (10^-18 TNZO) as decimal string
|
|
25
27
|
* @returns Unstake result with transaction hash, status, and unbonding end time
|
|
26
28
|
*/
|
|
27
29
|
async unstake(amount) {
|
package/dist/staking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.js","sourceRoot":"","sources":["../src/staking.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,MAAa,aAAa;IACK;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"staking.js","sourceRoot":"","sources":["../src/staking.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,MAAa,aAAa;IACK;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,YAAyB;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAc,cAAc,EAAE;YAChD,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAgB,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE;YAC/D,EAAE,OAAO,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE;YAC/D,EAAE,OAAO,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,qBAAqB,EAAE;YAC5D,EAAE,OAAO,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;CACF;AAxDD,sCAwDC"}
|
package/dist/task.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import type { RpcClient } from './rpc';
|
|
2
2
|
import type { TaskInfo, TaskQuote, TaskFilter, PostTaskParams, AssignTaskResult, CompleteTaskResult } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Task-marketplace client.
|
|
5
|
+
*
|
|
6
|
+
* Full settlement cycle on the live testnet:
|
|
7
|
+
*
|
|
8
|
+
* await client.task.postTask({ title, poster, max_price, task_type, input })
|
|
9
|
+
* await client.task.quoteTask(taskId, providerAddress, price, { model_id, ... })
|
|
10
|
+
* await client.task.assignTask(taskId, providerAddress, quotedPrice)
|
|
11
|
+
* await client.task.completeTask(taskId, output) // <- triggers TNZO transfer
|
|
12
|
+
*
|
|
13
|
+
* `completeTask` performs the on-chain settlement: `tenzro-token`
|
|
14
|
+
* transfers `final_price` (the quoted price, or `max_price` if unquoted)
|
|
15
|
+
* from poster to assignee through the unified token registry.
|
|
16
|
+
*/
|
|
3
17
|
export declare class TaskClient {
|
|
4
18
|
private readonly rpc;
|
|
5
19
|
constructor(rpc: RpcClient);
|
|
@@ -7,40 +21,60 @@ export declare class TaskClient {
|
|
|
7
21
|
listTasks(filter?: TaskFilter): Promise<TaskInfo[]>;
|
|
8
22
|
getTask(taskId: string): Promise<TaskInfo>;
|
|
9
23
|
cancelTask(taskId: string): Promise<boolean>;
|
|
10
|
-
submitQuote(taskId: string, price: string, modelId: string, estimatedDurationSecs: number): Promise<TaskQuote>;
|
|
11
24
|
/**
|
|
12
|
-
* Submit a quote for a task
|
|
13
|
-
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
*
|
|
25
|
+
* Submit a quote for a task.
|
|
26
|
+
*
|
|
27
|
+
* @param taskId - The task to quote.
|
|
28
|
+
* @param provider - Provider address (hex). Required — the live RPC
|
|
29
|
+
* rejects quotes that lack a provider address.
|
|
30
|
+
* @param price - Quoted price in TNZO wei (u128 as decimal string).
|
|
31
|
+
* @param opts.modelId - Optional model identifier (default: `"any"`).
|
|
32
|
+
* @param opts.confidence - Quote confidence 0–100 (default: 80).
|
|
33
|
+
* @param opts.estimatedDurationSecs - Estimated runtime in seconds (default: 60).
|
|
34
|
+
* @param opts.notes - Optional free-form notes.
|
|
17
35
|
*/
|
|
18
|
-
quoteTask(taskId: string,
|
|
36
|
+
quoteTask(taskId: string, provider: string, price: string, opts?: {
|
|
37
|
+
modelId?: string;
|
|
38
|
+
confidence?: number;
|
|
39
|
+
estimatedDurationSecs?: number;
|
|
40
|
+
notes?: string;
|
|
41
|
+
}): Promise<TaskQuote>;
|
|
19
42
|
/**
|
|
20
|
-
* Assign a task to a specific
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
43
|
+
* Assign a task to a specific provider address.
|
|
44
|
+
*
|
|
45
|
+
* The live RPC handler keys assignment on the provider's wallet
|
|
46
|
+
* address, not an agent_id — the task's `assignee` field is set to
|
|
47
|
+
* `provider`, and `quoted_price` is stored on the task so that
|
|
48
|
+
* `completeTask` can settle to it.
|
|
49
|
+
*
|
|
50
|
+
* @param taskId - The task to assign.
|
|
51
|
+
* @param provider - Provider wallet address (hex).
|
|
52
|
+
* @param quotedPrice - Optional locked-in price in TNZO wei
|
|
53
|
+
* (u128 as decimal string). If omitted, the task's `max_price`
|
|
54
|
+
* is used at settlement time.
|
|
24
55
|
*/
|
|
25
|
-
assignTask(taskId: string,
|
|
56
|
+
assignTask(taskId: string, provider: string, quotedPrice?: string): Promise<AssignTaskResult>;
|
|
26
57
|
/**
|
|
27
|
-
* Mark a task as completed
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
58
|
+
* Mark a task as completed and trigger on-chain TNZO settlement.
|
|
59
|
+
*
|
|
60
|
+
* The live RPC handler:
|
|
61
|
+
* 1. transfers `final_price` from poster to assignee via the token registry,
|
|
62
|
+
* 2. sets `task.status = Completed`,
|
|
63
|
+
* 3. stores `output` on the task,
|
|
64
|
+
* 4. returns the new poster/assignee balances under `settlement`.
|
|
65
|
+
*
|
|
66
|
+
* @param taskId - The task to complete.
|
|
67
|
+
* @param output - The result / output text to attach to the task.
|
|
31
68
|
*/
|
|
32
|
-
completeTask(taskId: string,
|
|
69
|
+
completeTask(taskId: string, output: string): Promise<CompleteTaskResult>;
|
|
33
70
|
/**
|
|
34
|
-
* Update an existing task.
|
|
35
|
-
* @param taskId - The task to update
|
|
36
|
-
* @param options - Fields to update (partial)
|
|
37
|
-
* @returns Updated task information
|
|
71
|
+
* Update an existing task (creator only).
|
|
38
72
|
*/
|
|
39
73
|
updateTask(taskId: string, options?: {
|
|
40
74
|
title?: string;
|
|
41
75
|
description?: string;
|
|
42
76
|
status?: string;
|
|
43
77
|
output?: string;
|
|
44
|
-
}): Promise<
|
|
78
|
+
}): Promise<TaskInfo>;
|
|
45
79
|
}
|
|
46
80
|
//# sourceMappingURL=task.d.ts.map
|
package/dist/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInD,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAInD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD;;;;;;;;;;;OAWG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,SAAS,CAAC;IAcrB;;;;;;;;;;;;;OAaG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAU5B;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM/E;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,QAAQ,CAAC;CAKrB"}
|
package/dist/task.js
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TaskClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Task-marketplace client.
|
|
6
|
+
*
|
|
7
|
+
* Full settlement cycle on the live testnet:
|
|
8
|
+
*
|
|
9
|
+
* await client.task.postTask({ title, poster, max_price, task_type, input })
|
|
10
|
+
* await client.task.quoteTask(taskId, providerAddress, price, { model_id, ... })
|
|
11
|
+
* await client.task.assignTask(taskId, providerAddress, quotedPrice)
|
|
12
|
+
* await client.task.completeTask(taskId, output) // <- triggers TNZO transfer
|
|
13
|
+
*
|
|
14
|
+
* `completeTask` performs the on-chain settlement: `tenzro-token`
|
|
15
|
+
* transfers `final_price` (the quoted price, or `max_price` if unquoted)
|
|
16
|
+
* from poster to assignee through the unified token registry.
|
|
17
|
+
*/
|
|
4
18
|
class TaskClient {
|
|
5
19
|
rpc;
|
|
6
20
|
constructor(rpc) {
|
|
@@ -18,53 +32,73 @@ class TaskClient {
|
|
|
18
32
|
async cancelTask(taskId) {
|
|
19
33
|
return this.rpc.call('tenzro_cancelTask', [{ task_id: taskId }]);
|
|
20
34
|
}
|
|
21
|
-
async submitQuote(taskId, price, modelId, estimatedDurationSecs) {
|
|
22
|
-
return this.rpc.call('tenzro_submitQuote', [{
|
|
23
|
-
task_id: taskId,
|
|
24
|
-
price,
|
|
25
|
-
model_id: modelId,
|
|
26
|
-
estimated_duration_secs: estimatedDurationSecs,
|
|
27
|
-
}]);
|
|
28
|
-
}
|
|
29
35
|
/**
|
|
30
|
-
* Submit a quote for a task
|
|
31
|
-
*
|
|
32
|
-
* @param
|
|
33
|
-
* @param
|
|
34
|
-
*
|
|
36
|
+
* Submit a quote for a task.
|
|
37
|
+
*
|
|
38
|
+
* @param taskId - The task to quote.
|
|
39
|
+
* @param provider - Provider address (hex). Required — the live RPC
|
|
40
|
+
* rejects quotes that lack a provider address.
|
|
41
|
+
* @param price - Quoted price in TNZO wei (u128 as decimal string).
|
|
42
|
+
* @param opts.modelId - Optional model identifier (default: `"any"`).
|
|
43
|
+
* @param opts.confidence - Quote confidence 0–100 (default: 80).
|
|
44
|
+
* @param opts.estimatedDurationSecs - Estimated runtime in seconds (default: 60).
|
|
45
|
+
* @param opts.notes - Optional free-form notes.
|
|
35
46
|
*/
|
|
36
|
-
async quoteTask(taskId, price,
|
|
47
|
+
async quoteTask(taskId, provider, price, opts) {
|
|
37
48
|
return this.rpc.call('tenzro_quoteTask', [
|
|
38
|
-
{
|
|
49
|
+
{
|
|
50
|
+
task_id: taskId,
|
|
51
|
+
provider,
|
|
52
|
+
price,
|
|
53
|
+
model_id: opts?.modelId,
|
|
54
|
+
confidence: opts?.confidence,
|
|
55
|
+
estimated_duration_secs: opts?.estimatedDurationSecs,
|
|
56
|
+
notes: opts?.notes,
|
|
57
|
+
},
|
|
39
58
|
]);
|
|
40
59
|
}
|
|
41
60
|
/**
|
|
42
|
-
* Assign a task to a specific
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
61
|
+
* Assign a task to a specific provider address.
|
|
62
|
+
*
|
|
63
|
+
* The live RPC handler keys assignment on the provider's wallet
|
|
64
|
+
* address, not an agent_id — the task's `assignee` field is set to
|
|
65
|
+
* `provider`, and `quoted_price` is stored on the task so that
|
|
66
|
+
* `completeTask` can settle to it.
|
|
67
|
+
*
|
|
68
|
+
* @param taskId - The task to assign.
|
|
69
|
+
* @param provider - Provider wallet address (hex).
|
|
70
|
+
* @param quotedPrice - Optional locked-in price in TNZO wei
|
|
71
|
+
* (u128 as decimal string). If omitted, the task's `max_price`
|
|
72
|
+
* is used at settlement time.
|
|
46
73
|
*/
|
|
47
|
-
async assignTask(taskId,
|
|
74
|
+
async assignTask(taskId, provider, quotedPrice) {
|
|
48
75
|
return this.rpc.call('tenzro_assignTask', [
|
|
49
|
-
{
|
|
76
|
+
{
|
|
77
|
+
task_id: taskId,
|
|
78
|
+
provider,
|
|
79
|
+
quoted_price: quotedPrice,
|
|
80
|
+
},
|
|
50
81
|
]);
|
|
51
82
|
}
|
|
52
83
|
/**
|
|
53
|
-
* Mark a task as completed
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
84
|
+
* Mark a task as completed and trigger on-chain TNZO settlement.
|
|
85
|
+
*
|
|
86
|
+
* The live RPC handler:
|
|
87
|
+
* 1. transfers `final_price` from poster to assignee via the token registry,
|
|
88
|
+
* 2. sets `task.status = Completed`,
|
|
89
|
+
* 3. stores `output` on the task,
|
|
90
|
+
* 4. returns the new poster/assignee balances under `settlement`.
|
|
91
|
+
*
|
|
92
|
+
* @param taskId - The task to complete.
|
|
93
|
+
* @param output - The result / output text to attach to the task.
|
|
57
94
|
*/
|
|
58
|
-
async completeTask(taskId,
|
|
95
|
+
async completeTask(taskId, output) {
|
|
59
96
|
return this.rpc.call('tenzro_completeTask', [
|
|
60
|
-
{ task_id: taskId,
|
|
97
|
+
{ task_id: taskId, output },
|
|
61
98
|
]);
|
|
62
99
|
}
|
|
63
100
|
/**
|
|
64
|
-
* Update an existing task.
|
|
65
|
-
* @param taskId - The task to update
|
|
66
|
-
* @param options - Fields to update (partial)
|
|
67
|
-
* @returns Updated task information
|
|
101
|
+
* Update an existing task (creator only).
|
|
68
102
|
*/
|
|
69
103
|
async updateTask(taskId, options) {
|
|
70
104
|
return this.rpc.call('tenzro_updateTask', [
|
package/dist/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;GAaG;AACH,MAAa,UAAU;IACQ;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,kBAAkB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,mBAAmB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,QAAgB,EAChB,KAAa,EACb,IAKC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,kBAAkB,EAAE;YAClD;gBACE,OAAO,EAAE,MAAM;gBACf,QAAQ;gBACR,KAAK;gBACL,QAAQ,EAAE,IAAI,EAAE,OAAO;gBACvB,UAAU,EAAE,IAAI,EAAE,UAAU;gBAC5B,uBAAuB,EAAE,IAAI,EAAE,qBAAqB;gBACpD,KAAK,EAAE,IAAI,EAAE,KAAK;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,QAAgB,EAChB,WAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,mBAAmB,EAAE;YAC1D;gBACE,OAAO,EAAE,MAAM;gBACf,QAAQ;gBACR,YAAY,EAAE,WAAW;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,qBAAqB,EAAE;YAC9D,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAKC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAW,mBAAmB,EAAE;YAClD,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AArHD,gCAqHC"}
|
package/dist/token.d.ts
CHANGED
|
@@ -37,14 +37,14 @@ export interface ListTokensParams {
|
|
|
37
37
|
/** Parameters for a cross-VM token transfer. */
|
|
38
38
|
export interface CrossVmTransferParams {
|
|
39
39
|
/** Sender address */
|
|
40
|
-
|
|
40
|
+
from_address: string;
|
|
41
41
|
/** Recipient address */
|
|
42
|
-
|
|
42
|
+
to_address: string;
|
|
43
43
|
/** Amount as a decimal string */
|
|
44
44
|
amount: string;
|
|
45
|
-
/** Source VM: "evm", "svm", or "
|
|
45
|
+
/** Source VM: "evm", "svm", "daml", or "native" */
|
|
46
46
|
from_vm: string;
|
|
47
|
-
/** Destination VM: "evm", "svm", or "
|
|
47
|
+
/** Destination VM: "evm", "svm", "daml", or "native" */
|
|
48
48
|
to_vm: string;
|
|
49
49
|
/** Token symbol (default: "TNZO") */
|
|
50
50
|
token?: string;
|
|
@@ -77,16 +77,46 @@ export interface TokenListResult {
|
|
|
77
77
|
/** Total number of tokens matching the filter */
|
|
78
78
|
total: number;
|
|
79
79
|
}
|
|
80
|
-
/**
|
|
80
|
+
/** Native TNZO view (18 decimals). */
|
|
81
|
+
export interface NativeBalance {
|
|
82
|
+
/** Balance in wei (decimal string) */
|
|
83
|
+
balance_wei: string;
|
|
84
|
+
/** Number of decimals (always 18) */
|
|
85
|
+
decimals: number;
|
|
86
|
+
}
|
|
87
|
+
/** EVM wTNZO ERC-20 view — same wei as native, 18 decimals. */
|
|
88
|
+
export interface EvmBalance {
|
|
89
|
+
/** Balance in wei (decimal string) */
|
|
90
|
+
balance_wei: string;
|
|
91
|
+
/** Number of decimals (always 18) */
|
|
92
|
+
decimals: number;
|
|
93
|
+
}
|
|
94
|
+
/** SVM wTNZO SPL view — 9-decimal truncation of native balance. */
|
|
95
|
+
export interface SvmBalance {
|
|
96
|
+
/** Balance in SPL base units (decimal string, 9 decimals) */
|
|
97
|
+
balance_base_units: string;
|
|
98
|
+
/** Number of decimals (always 9) */
|
|
99
|
+
decimals: number;
|
|
100
|
+
}
|
|
101
|
+
/** DAML CIP-56 holding view — same wei as native, 18 decimals. */
|
|
102
|
+
export interface DamlBalance {
|
|
103
|
+
/** Holding amount in wei (decimal string) */
|
|
104
|
+
amount_wei: string;
|
|
105
|
+
/** Number of decimals (always 18) */
|
|
106
|
+
decimals: number;
|
|
107
|
+
}
|
|
108
|
+
/** Token balance across all four VM views (pointer model). */
|
|
81
109
|
export interface TokenBalance {
|
|
82
110
|
/** Address queried */
|
|
83
111
|
address: string;
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
|
|
112
|
+
/** Native TNZO balance (18-decimal wei) */
|
|
113
|
+
native: NativeBalance;
|
|
114
|
+
/** EVM wTNZO ERC-20 view — tracks native 1:1 */
|
|
115
|
+
evm_wtnzo: EvmBalance;
|
|
116
|
+
/** SVM wTNZO SPL view — 9-decimal truncation */
|
|
117
|
+
svm_wtnzo: SvmBalance;
|
|
118
|
+
/** DAML CIP-56 holding view — tracks native 1:1 */
|
|
119
|
+
daml_holding: DamlBalance;
|
|
90
120
|
}
|
|
91
121
|
/** Result of wrapping native TNZO into a VM representation. */
|
|
92
122
|
export interface WrapResult {
|
package/dist/token.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,+CAA+C,CAAC;AAI9E,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,+CAA+C,CAAC;AAI9E,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,UAAU,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,UAAU,CAAC;IACtB,mDAAmD;IACnD,YAAY,EAAE,WAAW,CAAC;CAC3B;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;GAIG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAIhE;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlE;;;;OAIG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIrE;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7E;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMlF;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;CAG9E"}
|
package/dist/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,4CAA4C,CAAC;AA4J9E,eAAe;AAEf;;;;GAIG;AACH,MAAa,WAAW;IACO;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,MAA0B;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,mBAAmB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAc;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,wBAAwB,EAAE;YAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,IAAY;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,iBAAiB,EAAE;YAClD,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAjED,kCAiEC"}
|