tenzro-sdk 0.1.0 → 0.2.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/LICENSE +4 -15
- package/README.md +196 -3
- package/dist/adaptive-burn.d.ts +40 -0
- package/dist/adaptive-burn.d.ts.map +1 -0
- package/dist/adaptive-burn.js +53 -0
- package/dist/adaptive-burn.js.map +1 -0
- package/dist/agent.d.ts +8 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +14 -2
- package/dist/agent.js.map +1 -1
- package/dist/ap2.d.ts +96 -0
- package/dist/ap2.d.ts.map +1 -1
- package/dist/ap2.js +65 -0
- package/dist/ap2.js.map +1 -1
- package/dist/app.js +4 -4
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts +357 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +226 -0
- package/dist/auth.js.map +1 -0
- package/dist/bond.d.ts +70 -0
- package/dist/bond.d.ts.map +1 -0
- package/dist/bond.js +172 -0
- package/dist/bond.js.map +1 -0
- package/dist/cct.d.ts +53 -0
- package/dist/cct.d.ts.map +1 -0
- package/dist/cct.js +30 -0
- package/dist/cct.js.map +1 -0
- package/dist/client.d.ts +134 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +196 -12
- package/dist/client.js.map +1 -1
- package/dist/cortex.d.ts +227 -0
- package/dist/cortex.d.ts.map +1 -0
- package/dist/cortex.js +137 -0
- package/dist/cortex.js.map +1 -0
- package/dist/custody.d.ts +251 -0
- package/dist/custody.d.ts.map +1 -1
- package/dist/custody.js +216 -0
- package/dist/custody.js.map +1 -1
- package/dist/eip6963.d.ts +63 -0
- package/dist/eip6963.d.ts.map +1 -0
- package/dist/eip6963.js +67 -0
- package/dist/eip6963.js.map +1 -0
- package/dist/erc8004.d.ts +97 -0
- package/dist/erc8004.d.ts.map +1 -0
- package/dist/erc8004.js +182 -0
- package/dist/erc8004.js.map +1 -0
- package/dist/identity.d.ts +15 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +18 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +28 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -1
- package/dist/index.js.map +1 -1
- package/dist/insurance.d.ts +38 -0
- package/dist/insurance.d.ts.map +1 -0
- package/dist/insurance.js +51 -0
- package/dist/insurance.js.map +1 -0
- package/dist/lifecycle.d.ts +41 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +56 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/marketplace.d.ts +30 -2
- package/dist/marketplace.d.ts.map +1 -1
- package/dist/marketplace.js +36 -2
- package/dist/marketplace.js.map +1 -1
- package/dist/payment.d.ts +14 -1
- package/dist/payment.d.ts.map +1 -1
- package/dist/payment.js +15 -0
- package/dist/payment.js.map +1 -1
- package/dist/principal-chain.d.ts +41 -0
- package/dist/principal-chain.d.ts.map +1 -0
- package/dist/principal-chain.js +56 -0
- package/dist/principal-chain.js.map +1 -0
- package/dist/provider.d.ts +2 -2
- package/dist/provider.js +1 -1
- package/dist/quota.d.ts +54 -0
- package/dist/quota.d.ts.map +1 -0
- package/dist/quota.js +71 -0
- package/dist/quota.js.map +1 -0
- package/dist/rpc.d.ts +43 -4
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +110 -3
- package/dist/rpc.js.map +1 -1
- package/dist/seed-agent.d.ts +52 -0
- package/dist/seed-agent.d.ts.map +1 -0
- package/dist/seed-agent.js +69 -0
- package/dist/seed-agent.js.map +1 -0
- package/dist/settlement.d.ts +52 -10
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +197 -16
- package/dist/settlement.js.map +1 -1
- package/dist/streaming.js.map +1 -1
- package/dist/svm-cross-vm.d.ts +109 -0
- package/dist/svm-cross-vm.d.ts.map +1 -0
- package/dist/svm-cross-vm.js +215 -0
- package/dist/svm-cross-vm.js.map +1 -0
- package/dist/types.d.ts +175 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet.d.ts +26 -9
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +34 -19
- package/dist/wallet.js.map +1 -1
- package/dist/wormhole.d.ts +76 -0
- package/dist/wormhole.d.ts.map +1 -0
- package/dist/wormhole.js +56 -0
- package/dist/wormhole.js.map +1 -0
- package/package.json +2 -2
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TenzroConfig } from "./config";
|
|
2
|
+
import { RpcTransport } from "./rpc";
|
|
2
3
|
import { WalletClient } from "./wallet";
|
|
3
4
|
import { InferenceClient } from "./inference";
|
|
5
|
+
import { CortexClient } from "./cortex";
|
|
4
6
|
import { SettlementClient } from "./settlement";
|
|
5
7
|
import { AgentClient } from "./agent";
|
|
6
8
|
import { GovernanceClient } from "./governance";
|
|
@@ -26,18 +28,31 @@ import { AgentPaymentClient } from "./agent-payments";
|
|
|
26
28
|
import { CircuitBreakerClient } from "./circuit-breaker";
|
|
27
29
|
import { NanopaymentClient } from "./nanopayment";
|
|
28
30
|
import { Erc7802Client } from "./erc7802";
|
|
31
|
+
import { Erc8004Client } from "./erc8004";
|
|
32
|
+
import { WormholeClient } from "./wormhole";
|
|
33
|
+
import { CctClient } from "./cct";
|
|
29
34
|
import { NftClient } from "./nft";
|
|
30
35
|
import { ComplianceClient } from "./compliance";
|
|
31
36
|
import { EventsClient } from "./events";
|
|
32
37
|
import { DebridgeClient } from "./debridge";
|
|
33
|
-
import {
|
|
38
|
+
import { AuthClient } from "./auth";
|
|
39
|
+
import { BondClient } from "./bond";
|
|
40
|
+
import { InsuranceClient } from "./insurance";
|
|
41
|
+
import { AdaptiveBurnClient } from "./adaptive-burn";
|
|
42
|
+
import { SeedAgentClient } from "./seed-agent";
|
|
43
|
+
import { QuotaClient } from "./quota";
|
|
44
|
+
import { PrincipalChainClient } from "./principal-chain";
|
|
45
|
+
import { LifecycleClient } from "./lifecycle";
|
|
46
|
+
import { Block, BlockRange, FeeHistory, Transaction, NodeStatus, FaucetResponse, HealthResponse } from "./types";
|
|
34
47
|
/**
|
|
35
48
|
* Main client for interacting with Tenzro Network.
|
|
36
49
|
* Provides access to all network functionality through specialized sub-clients.
|
|
37
50
|
*/
|
|
38
51
|
export declare class TenzroClient {
|
|
52
|
+
readonly auth: AuthClient;
|
|
39
53
|
readonly wallet: WalletClient;
|
|
40
54
|
readonly inference: InferenceClient;
|
|
55
|
+
readonly cortex: CortexClient;
|
|
41
56
|
readonly settlement: SettlementClient;
|
|
42
57
|
readonly agent: AgentClient;
|
|
43
58
|
readonly governance: GovernanceClient;
|
|
@@ -57,7 +72,7 @@ export declare class TenzroClient {
|
|
|
57
72
|
readonly streaming: StreamingClient;
|
|
58
73
|
private readonly rpc;
|
|
59
74
|
private readonly config;
|
|
60
|
-
constructor(config: TenzroConfig);
|
|
75
|
+
constructor(config: TenzroConfig, transport?: RpcTransport);
|
|
61
76
|
task(): TaskClient;
|
|
62
77
|
marketplace(): MarketplaceClient;
|
|
63
78
|
/** Access the AP2 (Agentic Payment Protocol) client. */
|
|
@@ -72,6 +87,12 @@ export declare class TenzroClient {
|
|
|
72
87
|
nanopayment(): NanopaymentClient;
|
|
73
88
|
/** Access the ERC-7802 cross-chain token client. */
|
|
74
89
|
erc7802(): Erc7802Client;
|
|
90
|
+
/** Access the ERC-8004 Trustless Agents Registry client. */
|
|
91
|
+
erc8004(): Erc8004Client;
|
|
92
|
+
/** Access the Wormhole cross-chain client. */
|
|
93
|
+
wormhole(): WormholeClient;
|
|
94
|
+
/** Access the TNZO CCT (Chainlink Cross-Chain Token) pool registry client. */
|
|
95
|
+
cct(): CctClient;
|
|
75
96
|
/** Access the NFT client. */
|
|
76
97
|
nft(): NftClient;
|
|
77
98
|
/** Access the compliance client. */
|
|
@@ -80,22 +101,133 @@ export declare class TenzroClient {
|
|
|
80
101
|
events(): EventsClient;
|
|
81
102
|
/** Access the deBridge cross-chain client. */
|
|
82
103
|
debridge(): DebridgeClient;
|
|
104
|
+
/** Access the AgentBond client (Spec 9). */
|
|
105
|
+
bond(): BondClient;
|
|
106
|
+
/** Access the AgentBond insurance client (Spec 9). */
|
|
107
|
+
insurance(): InsuranceClient;
|
|
108
|
+
/** Access the adaptive-burn governance dial client. */
|
|
109
|
+
adaptiveBurn(): AdaptiveBurnClient;
|
|
110
|
+
/** Access the SeedAgent treasury / charter / registry client (Spec 10). */
|
|
111
|
+
seedAgent(): SeedAgentClient;
|
|
112
|
+
/** Access the node quota / mempool / DA client (Spec 3, 6). */
|
|
113
|
+
quota(): QuotaClient;
|
|
114
|
+
/** Access the receipt principal-chain client (Spec 5). */
|
|
115
|
+
principalChain(): PrincipalChainClient;
|
|
116
|
+
/** Access the agent lifecycle / kill-switch client. */
|
|
117
|
+
lifecycle(): LifecycleClient;
|
|
83
118
|
static mainnet(): TenzroClient;
|
|
84
119
|
static testnet(): TenzroClient;
|
|
85
120
|
static local(): TenzroClient;
|
|
121
|
+
/**
|
|
122
|
+
* Construct a client that routes RPCs through a browser-extension
|
|
123
|
+
* provider (`window.tenzro`) discovered via EIP-6963.
|
|
124
|
+
*
|
|
125
|
+
* The Tenzro provider handles auth (DPoP-bound JWT) and CAIP-25
|
|
126
|
+
* sessions on its own — the SDK never sees the user's keys or tokens
|
|
127
|
+
* and never opens a direct fetch to `rpc.tenzro.network`. All
|
|
128
|
+
* `client.rpc.call(...)` calls become `provider.request(...)` calls.
|
|
129
|
+
*
|
|
130
|
+
* Defaults to the mainnet config for `endpoint` / `apiEndpoint` so
|
|
131
|
+
* REST surfaces (`api.tenzro.network`) still work for direct fetches
|
|
132
|
+
* (e.g., `/health`, `/faucet`). Override via `options.config` when
|
|
133
|
+
* targeting testnet or a local node.
|
|
134
|
+
*
|
|
135
|
+
* Throws if no Tenzro provider is announced within `timeoutMs`
|
|
136
|
+
* (default 3000) — wrap the call in a try/catch and render an
|
|
137
|
+
* "Install Tenzro" CTA on `TenzroNotInstalledError`.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* try {
|
|
142
|
+
* const client = await TenzroClient.fromInjected();
|
|
143
|
+
* const block = await client.getLatestBlock();
|
|
144
|
+
* } catch (err) {
|
|
145
|
+
* if (err instanceof TenzroNotInstalledError) showInstallCta();
|
|
146
|
+
* else throw err;
|
|
147
|
+
* }
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
static fromInjected(options?: {
|
|
151
|
+
config?: TenzroConfig;
|
|
152
|
+
timeoutMs?: number;
|
|
153
|
+
rdns?: string;
|
|
154
|
+
}): Promise<TenzroClient>;
|
|
86
155
|
getBlockNumber(): Promise<number>;
|
|
87
156
|
getBlock(height: number): Promise<Block>;
|
|
88
157
|
getLatestBlock(): Promise<Block>;
|
|
158
|
+
/**
|
|
159
|
+
* Fetch a contiguous range of blocks for catch-up sync.
|
|
160
|
+
*
|
|
161
|
+
* Returns up to `maxResults` blocks (default 64, capped at 256). Use
|
|
162
|
+
* `nextHeight` and `moreAvailable` to drive pagination. `moreAvailable`
|
|
163
|
+
* reflects whether the chain has further blocks beyond `nextHeight`,
|
|
164
|
+
* independent of the requested `endHeight`, so a sync loop can step over
|
|
165
|
+
* pruning gaps:
|
|
166
|
+
*
|
|
167
|
+
* ```ts
|
|
168
|
+
* let cur = 0;
|
|
169
|
+
* while (true) {
|
|
170
|
+
* const r = await client.getBlockRange(cur, cur + 255, 256);
|
|
171
|
+
* for (const b of r.blocks) { /* ... *\/ }
|
|
172
|
+
* if (!r.moreAvailable) break;
|
|
173
|
+
* cur = r.nextHeight;
|
|
174
|
+
* }
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
getBlockRange(startHeight: number, endHeight: number, maxResults?: number): Promise<BlockRange>;
|
|
178
|
+
/**
|
|
179
|
+
* Get a transaction by hash.
|
|
180
|
+
*
|
|
181
|
+
* Resolves from finalized storage first, then falls back to the consensus
|
|
182
|
+
* mempool. The returned object's `status` field is `"pending"` while the
|
|
183
|
+
* transaction is in-mempool and `"finalized"` once it has been included in
|
|
184
|
+
* a block — callers polling immediately after broadcast can therefore
|
|
185
|
+
* distinguish "not yet finalized" from "unknown hash" (the RPC returns
|
|
186
|
+
* `null` only when the hash is unknown to both storage and mempool).
|
|
187
|
+
*/
|
|
89
188
|
getTransaction(txHash: string): Promise<Transaction | null>;
|
|
90
189
|
getBalance(address: string): Promise<bigint>;
|
|
91
190
|
getNonce(address: string): Promise<number>;
|
|
92
191
|
getChainId(): Promise<number>;
|
|
192
|
+
/**
|
|
193
|
+
* Returns the current effective gas price in wei (base fee + suggested
|
|
194
|
+
* priority tip). Tracks the EIP-1559 fee market — the value adjusts ±12.5%
|
|
195
|
+
* per block based on parent gas usage vs. the 15M target.
|
|
196
|
+
*/
|
|
197
|
+
getGasPrice(): Promise<bigint>;
|
|
198
|
+
/**
|
|
199
|
+
* Returns a suggested EIP-1559 priority fee (tip) in wei. Use this to fill
|
|
200
|
+
* `maxPriorityFeePerGas` on a Type-2 transaction; derive the base-fee
|
|
201
|
+
* portion from `getFeeHistory()` or the parent block's `baseFeePerGas`.
|
|
202
|
+
*/
|
|
203
|
+
getMaxPriorityFeePerGas(): Promise<bigint>;
|
|
204
|
+
/**
|
|
205
|
+
* Returns base-fee history and gas-usage ratios for the last `blockCount`
|
|
206
|
+
* blocks. `newestBlock` is a hex height or `"latest"`. `rewardPercentiles`
|
|
207
|
+
* requests per-block tip percentiles (e.g. `[25, 50, 75]`); pass `undefined`
|
|
208
|
+
* to omit. `baseFeePerGas` returns `blockCount + 1` entries — the trailing
|
|
209
|
+
* entry is the predicted base fee for the next block. Used by wallets to
|
|
210
|
+
* model `maxFeePerGas` and `maxPriorityFeePerGas`.
|
|
211
|
+
*/
|
|
212
|
+
getFeeHistory(blockCount: number, newestBlock?: string, rewardPercentiles?: number[]): Promise<FeeHistory>;
|
|
213
|
+
/**
|
|
214
|
+
* Sign and send a TNZO transfer atomically via the node's hybrid-signing
|
|
215
|
+
* path (`tenzro_signAndSendTransaction`).
|
|
216
|
+
*
|
|
217
|
+
* The node identifies the signing wallet from the ambient auth context
|
|
218
|
+
* (DPoP-bound bearer JWT), constructs the canonical `Transaction::hash()`
|
|
219
|
+
* preimage including the PQ public key, signs both the Ed25519 and
|
|
220
|
+
* ML-DSA-65 legs, verifies them, and submits atomically. Private keys
|
|
221
|
+
* never travel over the wire.
|
|
222
|
+
*/
|
|
93
223
|
sendTransaction(params: {
|
|
94
224
|
from: string;
|
|
95
225
|
to: string;
|
|
96
226
|
value: bigint;
|
|
97
227
|
gas_limit?: number;
|
|
98
228
|
gas_price?: number;
|
|
229
|
+
nonce?: number;
|
|
230
|
+
chain_id?: number;
|
|
99
231
|
}): Promise<string>;
|
|
100
232
|
nodeInfo(): Promise<NodeStatus>;
|
|
101
233
|
getStatus(): Promise<NodeStatus>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TenzroClient = void 0;
|
|
4
4
|
const config_1 = require("./config");
|
|
5
|
+
const eip6963_1 = require("./eip6963");
|
|
5
6
|
const rpc_1 = require("./rpc");
|
|
6
7
|
const wallet_1 = require("./wallet");
|
|
7
8
|
const inference_1 = require("./inference");
|
|
9
|
+
const cortex_1 = require("./cortex");
|
|
8
10
|
const settlement_1 = require("./settlement");
|
|
9
11
|
const agent_1 = require("./agent");
|
|
10
12
|
const governance_1 = require("./governance");
|
|
@@ -30,17 +32,30 @@ const agent_payments_1 = require("./agent-payments");
|
|
|
30
32
|
const circuit_breaker_1 = require("./circuit-breaker");
|
|
31
33
|
const nanopayment_1 = require("./nanopayment");
|
|
32
34
|
const erc7802_1 = require("./erc7802");
|
|
35
|
+
const erc8004_1 = require("./erc8004");
|
|
36
|
+
const wormhole_1 = require("./wormhole");
|
|
37
|
+
const cct_1 = require("./cct");
|
|
33
38
|
const nft_1 = require("./nft");
|
|
34
39
|
const compliance_1 = require("./compliance");
|
|
35
40
|
const events_1 = require("./events");
|
|
36
41
|
const debridge_1 = require("./debridge");
|
|
42
|
+
const auth_1 = require("./auth");
|
|
43
|
+
const bond_1 = require("./bond");
|
|
44
|
+
const insurance_1 = require("./insurance");
|
|
45
|
+
const adaptive_burn_1 = require("./adaptive-burn");
|
|
46
|
+
const seed_agent_1 = require("./seed-agent");
|
|
47
|
+
const quota_1 = require("./quota");
|
|
48
|
+
const principal_chain_1 = require("./principal-chain");
|
|
49
|
+
const lifecycle_1 = require("./lifecycle");
|
|
37
50
|
/**
|
|
38
51
|
* Main client for interacting with Tenzro Network.
|
|
39
52
|
* Provides access to all network functionality through specialized sub-clients.
|
|
40
53
|
*/
|
|
41
54
|
class TenzroClient {
|
|
55
|
+
auth;
|
|
42
56
|
wallet;
|
|
43
57
|
inference;
|
|
58
|
+
cortex;
|
|
44
59
|
settlement;
|
|
45
60
|
agent;
|
|
46
61
|
governance;
|
|
@@ -60,11 +75,13 @@ class TenzroClient {
|
|
|
60
75
|
streaming;
|
|
61
76
|
rpc;
|
|
62
77
|
config;
|
|
63
|
-
constructor(config) {
|
|
78
|
+
constructor(config, transport) {
|
|
64
79
|
this.config = config;
|
|
65
|
-
this.rpc = new rpc_1.RpcClient(config.endpoint, config.apiEndpoint, config.timeout);
|
|
80
|
+
this.rpc = new rpc_1.RpcClient(config.endpoint, config.apiEndpoint, config.timeout, transport);
|
|
81
|
+
this.auth = new auth_1.AuthClient(this.rpc);
|
|
66
82
|
this.wallet = new wallet_1.WalletClient(this.rpc);
|
|
67
83
|
this.inference = new inference_1.InferenceClient(this.rpc);
|
|
84
|
+
this.cortex = new cortex_1.CortexClient(this.rpc);
|
|
68
85
|
this.settlement = new settlement_1.SettlementClient(this.rpc);
|
|
69
86
|
this.agent = new agent_1.AgentClient(this.rpc);
|
|
70
87
|
this.governance = new governance_1.GovernanceClient(this.rpc);
|
|
@@ -113,6 +130,18 @@ class TenzroClient {
|
|
|
113
130
|
erc7802() {
|
|
114
131
|
return new erc7802_1.Erc7802Client(this.rpc);
|
|
115
132
|
}
|
|
133
|
+
/** Access the ERC-8004 Trustless Agents Registry client. */
|
|
134
|
+
erc8004() {
|
|
135
|
+
return new erc8004_1.Erc8004Client(this.rpc);
|
|
136
|
+
}
|
|
137
|
+
/** Access the Wormhole cross-chain client. */
|
|
138
|
+
wormhole() {
|
|
139
|
+
return new wormhole_1.WormholeClient(this.rpc);
|
|
140
|
+
}
|
|
141
|
+
/** Access the TNZO CCT (Chainlink Cross-Chain Token) pool registry client. */
|
|
142
|
+
cct() {
|
|
143
|
+
return new cct_1.CctClient(this.rpc);
|
|
144
|
+
}
|
|
116
145
|
/** Access the NFT client. */
|
|
117
146
|
nft() {
|
|
118
147
|
return new nft_1.NftClient(this.rpc);
|
|
@@ -129,6 +158,34 @@ class TenzroClient {
|
|
|
129
158
|
debridge() {
|
|
130
159
|
return new debridge_1.DebridgeClient(this.rpc);
|
|
131
160
|
}
|
|
161
|
+
/** Access the AgentBond client (Spec 9). */
|
|
162
|
+
bond() {
|
|
163
|
+
return new bond_1.BondClient(this.rpc);
|
|
164
|
+
}
|
|
165
|
+
/** Access the AgentBond insurance client (Spec 9). */
|
|
166
|
+
insurance() {
|
|
167
|
+
return new insurance_1.InsuranceClient(this.rpc);
|
|
168
|
+
}
|
|
169
|
+
/** Access the adaptive-burn governance dial client. */
|
|
170
|
+
adaptiveBurn() {
|
|
171
|
+
return new adaptive_burn_1.AdaptiveBurnClient(this.rpc);
|
|
172
|
+
}
|
|
173
|
+
/** Access the SeedAgent treasury / charter / registry client (Spec 10). */
|
|
174
|
+
seedAgent() {
|
|
175
|
+
return new seed_agent_1.SeedAgentClient(this.rpc);
|
|
176
|
+
}
|
|
177
|
+
/** Access the node quota / mempool / DA client (Spec 3, 6). */
|
|
178
|
+
quota() {
|
|
179
|
+
return new quota_1.QuotaClient(this.rpc);
|
|
180
|
+
}
|
|
181
|
+
/** Access the receipt principal-chain client (Spec 5). */
|
|
182
|
+
principalChain() {
|
|
183
|
+
return new principal_chain_1.PrincipalChainClient(this.rpc);
|
|
184
|
+
}
|
|
185
|
+
/** Access the agent lifecycle / kill-switch client. */
|
|
186
|
+
lifecycle() {
|
|
187
|
+
return new lifecycle_1.LifecycleClient(this.rpc);
|
|
188
|
+
}
|
|
132
189
|
static mainnet() {
|
|
133
190
|
return new TenzroClient(config_1.MAINNET_CONFIG);
|
|
134
191
|
}
|
|
@@ -138,6 +195,44 @@ class TenzroClient {
|
|
|
138
195
|
static local() {
|
|
139
196
|
return new TenzroClient(config_1.LOCAL_CONFIG);
|
|
140
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Construct a client that routes RPCs through a browser-extension
|
|
200
|
+
* provider (`window.tenzro`) discovered via EIP-6963.
|
|
201
|
+
*
|
|
202
|
+
* The Tenzro provider handles auth (DPoP-bound JWT) and CAIP-25
|
|
203
|
+
* sessions on its own — the SDK never sees the user's keys or tokens
|
|
204
|
+
* and never opens a direct fetch to `rpc.tenzro.network`. All
|
|
205
|
+
* `client.rpc.call(...)` calls become `provider.request(...)` calls.
|
|
206
|
+
*
|
|
207
|
+
* Defaults to the mainnet config for `endpoint` / `apiEndpoint` so
|
|
208
|
+
* REST surfaces (`api.tenzro.network`) still work for direct fetches
|
|
209
|
+
* (e.g., `/health`, `/faucet`). Override via `options.config` when
|
|
210
|
+
* targeting testnet or a local node.
|
|
211
|
+
*
|
|
212
|
+
* Throws if no Tenzro provider is announced within `timeoutMs`
|
|
213
|
+
* (default 3000) — wrap the call in a try/catch and render an
|
|
214
|
+
* "Install Tenzro" CTA on `TenzroNotInstalledError`.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```ts
|
|
218
|
+
* try {
|
|
219
|
+
* const client = await TenzroClient.fromInjected();
|
|
220
|
+
* const block = await client.getLatestBlock();
|
|
221
|
+
* } catch (err) {
|
|
222
|
+
* if (err instanceof TenzroNotInstalledError) showInstallCta();
|
|
223
|
+
* else throw err;
|
|
224
|
+
* }
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
static async fromInjected(options) {
|
|
228
|
+
const detail = await (0, eip6963_1.discoverEip6963Provider)({
|
|
229
|
+
timeoutMs: options?.timeoutMs,
|
|
230
|
+
rdns: options?.rdns,
|
|
231
|
+
});
|
|
232
|
+
const transport = new rpc_1.Eip1193Transport(detail.provider);
|
|
233
|
+
const config = options?.config ?? config_1.MAINNET_CONFIG;
|
|
234
|
+
return new TenzroClient(config, transport);
|
|
235
|
+
}
|
|
141
236
|
// Core blockchain queries
|
|
142
237
|
async getBlockNumber() {
|
|
143
238
|
const hex = await this.rpc.call("tenzro_blockNumber");
|
|
@@ -149,6 +244,45 @@ class TenzroClient {
|
|
|
149
244
|
async getLatestBlock() {
|
|
150
245
|
return this.rpc.call("tenzro_getBlock", [{ height: "latest" }]);
|
|
151
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Fetch a contiguous range of blocks for catch-up sync.
|
|
249
|
+
*
|
|
250
|
+
* Returns up to `maxResults` blocks (default 64, capped at 256). Use
|
|
251
|
+
* `nextHeight` and `moreAvailable` to drive pagination. `moreAvailable`
|
|
252
|
+
* reflects whether the chain has further blocks beyond `nextHeight`,
|
|
253
|
+
* independent of the requested `endHeight`, so a sync loop can step over
|
|
254
|
+
* pruning gaps:
|
|
255
|
+
*
|
|
256
|
+
* ```ts
|
|
257
|
+
* let cur = 0;
|
|
258
|
+
* while (true) {
|
|
259
|
+
* const r = await client.getBlockRange(cur, cur + 255, 256);
|
|
260
|
+
* for (const b of r.blocks) { /* ... *\/ }
|
|
261
|
+
* if (!r.moreAvailable) break;
|
|
262
|
+
* cur = r.nextHeight;
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
async getBlockRange(startHeight, endHeight, maxResults) {
|
|
267
|
+
const params = {
|
|
268
|
+
startHeight,
|
|
269
|
+
endHeight,
|
|
270
|
+
};
|
|
271
|
+
if (maxResults !== undefined) {
|
|
272
|
+
params.maxResults = maxResults;
|
|
273
|
+
}
|
|
274
|
+
return this.rpc.call("tenzro_getBlockRange", params);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get a transaction by hash.
|
|
278
|
+
*
|
|
279
|
+
* Resolves from finalized storage first, then falls back to the consensus
|
|
280
|
+
* mempool. The returned object's `status` field is `"pending"` while the
|
|
281
|
+
* transaction is in-mempool and `"finalized"` once it has been included in
|
|
282
|
+
* a block — callers polling immediately after broadcast can therefore
|
|
283
|
+
* distinguish "not yet finalized" from "unknown hash" (the RPC returns
|
|
284
|
+
* `null` only when the hash is unknown to both storage and mempool).
|
|
285
|
+
*/
|
|
152
286
|
async getTransaction(txHash) {
|
|
153
287
|
return this.rpc.call("tenzro_getTransaction", [txHash]);
|
|
154
288
|
}
|
|
@@ -164,19 +298,69 @@ class TenzroClient {
|
|
|
164
298
|
const hex = await this.rpc.call("eth_chainId");
|
|
165
299
|
return parseHex(hex);
|
|
166
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Returns the current effective gas price in wei (base fee + suggested
|
|
303
|
+
* priority tip). Tracks the EIP-1559 fee market — the value adjusts ±12.5%
|
|
304
|
+
* per block based on parent gas usage vs. the 15M target.
|
|
305
|
+
*/
|
|
306
|
+
async getGasPrice() {
|
|
307
|
+
const hex = await this.rpc.call("eth_gasPrice");
|
|
308
|
+
return BigInt(hex);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Returns a suggested EIP-1559 priority fee (tip) in wei. Use this to fill
|
|
312
|
+
* `maxPriorityFeePerGas` on a Type-2 transaction; derive the base-fee
|
|
313
|
+
* portion from `getFeeHistory()` or the parent block's `baseFeePerGas`.
|
|
314
|
+
*/
|
|
315
|
+
async getMaxPriorityFeePerGas() {
|
|
316
|
+
const hex = await this.rpc.call("eth_maxPriorityFeePerGas");
|
|
317
|
+
return BigInt(hex);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Returns base-fee history and gas-usage ratios for the last `blockCount`
|
|
321
|
+
* blocks. `newestBlock` is a hex height or `"latest"`. `rewardPercentiles`
|
|
322
|
+
* requests per-block tip percentiles (e.g. `[25, 50, 75]`); pass `undefined`
|
|
323
|
+
* to omit. `baseFeePerGas` returns `blockCount + 1` entries — the trailing
|
|
324
|
+
* entry is the predicted base fee for the next block. Used by wallets to
|
|
325
|
+
* model `maxFeePerGas` and `maxPriorityFeePerGas`.
|
|
326
|
+
*/
|
|
327
|
+
async getFeeHistory(blockCount, newestBlock = "latest", rewardPercentiles) {
|
|
328
|
+
const params = [
|
|
329
|
+
`0x${blockCount.toString(16)}`,
|
|
330
|
+
newestBlock,
|
|
331
|
+
rewardPercentiles ?? [],
|
|
332
|
+
];
|
|
333
|
+
return this.rpc.call("eth_feeHistory", params);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Sign and send a TNZO transfer atomically via the node's hybrid-signing
|
|
337
|
+
* path (`tenzro_signAndSendTransaction`).
|
|
338
|
+
*
|
|
339
|
+
* The node identifies the signing wallet from the ambient auth context
|
|
340
|
+
* (DPoP-bound bearer JWT), constructs the canonical `Transaction::hash()`
|
|
341
|
+
* preimage including the PQ public key, signs both the Ed25519 and
|
|
342
|
+
* ML-DSA-65 legs, verifies them, and submits atomically. Private keys
|
|
343
|
+
* never travel over the wire.
|
|
344
|
+
*/
|
|
167
345
|
async sendTransaction(params) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
};
|
|
173
|
-
if (params.gas_limit !== undefined) {
|
|
174
|
-
tx.gas_limit = `0x${params.gas_limit.toString(16)}`;
|
|
346
|
+
let { nonce, chain_id } = params;
|
|
347
|
+
if (nonce === undefined) {
|
|
348
|
+
const nonceHex = await this.rpc.call("tenzro_getNonce", [params.from]);
|
|
349
|
+
nonce = parseHex(nonceHex);
|
|
175
350
|
}
|
|
176
|
-
if (
|
|
177
|
-
|
|
351
|
+
if (chain_id === undefined) {
|
|
352
|
+
const chainHex = await this.rpc.call("eth_chainId", []);
|
|
353
|
+
chain_id = parseHex(chainHex);
|
|
178
354
|
}
|
|
179
|
-
return this.rpc.call("
|
|
355
|
+
return this.rpc.call("tenzro_signAndSendTransaction", {
|
|
356
|
+
from: params.from,
|
|
357
|
+
to: params.to,
|
|
358
|
+
value: params.value.toString(),
|
|
359
|
+
gas_limit: params.gas_limit ?? 21000,
|
|
360
|
+
gas_price: params.gas_price ?? 1_000_000_000,
|
|
361
|
+
nonce,
|
|
362
|
+
chain_id,
|
|
363
|
+
});
|
|
180
364
|
}
|
|
181
365
|
// Node status and network info
|
|
182
366
|
async nodeInfo() {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,qCAAsF;AACtF,+
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|