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.
Files changed (111) hide show
  1. package/LICENSE +4 -15
  2. package/README.md +196 -3
  3. package/dist/adaptive-burn.d.ts +40 -0
  4. package/dist/adaptive-burn.d.ts.map +1 -0
  5. package/dist/adaptive-burn.js +53 -0
  6. package/dist/adaptive-burn.js.map +1 -0
  7. package/dist/agent.d.ts +8 -1
  8. package/dist/agent.d.ts.map +1 -1
  9. package/dist/agent.js +14 -2
  10. package/dist/agent.js.map +1 -1
  11. package/dist/ap2.d.ts +96 -0
  12. package/dist/ap2.d.ts.map +1 -1
  13. package/dist/ap2.js +65 -0
  14. package/dist/ap2.js.map +1 -1
  15. package/dist/app.js +4 -4
  16. package/dist/app.js.map +1 -1
  17. package/dist/auth.d.ts +357 -0
  18. package/dist/auth.d.ts.map +1 -0
  19. package/dist/auth.js +226 -0
  20. package/dist/auth.js.map +1 -0
  21. package/dist/bond.d.ts +70 -0
  22. package/dist/bond.d.ts.map +1 -0
  23. package/dist/bond.js +172 -0
  24. package/dist/bond.js.map +1 -0
  25. package/dist/cct.d.ts +53 -0
  26. package/dist/cct.d.ts.map +1 -0
  27. package/dist/cct.js +30 -0
  28. package/dist/cct.js.map +1 -0
  29. package/dist/client.d.ts +134 -2
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +196 -12
  32. package/dist/client.js.map +1 -1
  33. package/dist/cortex.d.ts +227 -0
  34. package/dist/cortex.d.ts.map +1 -0
  35. package/dist/cortex.js +137 -0
  36. package/dist/cortex.js.map +1 -0
  37. package/dist/custody.d.ts +251 -0
  38. package/dist/custody.d.ts.map +1 -1
  39. package/dist/custody.js +216 -0
  40. package/dist/custody.js.map +1 -1
  41. package/dist/eip6963.d.ts +63 -0
  42. package/dist/eip6963.d.ts.map +1 -0
  43. package/dist/eip6963.js +67 -0
  44. package/dist/eip6963.js.map +1 -0
  45. package/dist/erc8004.d.ts +97 -0
  46. package/dist/erc8004.d.ts.map +1 -0
  47. package/dist/erc8004.js +182 -0
  48. package/dist/erc8004.js.map +1 -0
  49. package/dist/identity.d.ts +15 -1
  50. package/dist/identity.d.ts.map +1 -1
  51. package/dist/identity.js +18 -0
  52. package/dist/identity.js.map +1 -1
  53. package/dist/index.d.ts +28 -4
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +49 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/insurance.d.ts +38 -0
  58. package/dist/insurance.d.ts.map +1 -0
  59. package/dist/insurance.js +51 -0
  60. package/dist/insurance.js.map +1 -0
  61. package/dist/lifecycle.d.ts +41 -0
  62. package/dist/lifecycle.d.ts.map +1 -0
  63. package/dist/lifecycle.js +56 -0
  64. package/dist/lifecycle.js.map +1 -0
  65. package/dist/marketplace.d.ts +30 -2
  66. package/dist/marketplace.d.ts.map +1 -1
  67. package/dist/marketplace.js +36 -2
  68. package/dist/marketplace.js.map +1 -1
  69. package/dist/payment.d.ts +14 -1
  70. package/dist/payment.d.ts.map +1 -1
  71. package/dist/payment.js +15 -0
  72. package/dist/payment.js.map +1 -1
  73. package/dist/principal-chain.d.ts +41 -0
  74. package/dist/principal-chain.d.ts.map +1 -0
  75. package/dist/principal-chain.js +56 -0
  76. package/dist/principal-chain.js.map +1 -0
  77. package/dist/provider.d.ts +2 -2
  78. package/dist/provider.js +1 -1
  79. package/dist/quota.d.ts +54 -0
  80. package/dist/quota.d.ts.map +1 -0
  81. package/dist/quota.js +71 -0
  82. package/dist/quota.js.map +1 -0
  83. package/dist/rpc.d.ts +43 -4
  84. package/dist/rpc.d.ts.map +1 -1
  85. package/dist/rpc.js +110 -3
  86. package/dist/rpc.js.map +1 -1
  87. package/dist/seed-agent.d.ts +52 -0
  88. package/dist/seed-agent.d.ts.map +1 -0
  89. package/dist/seed-agent.js +69 -0
  90. package/dist/seed-agent.js.map +1 -0
  91. package/dist/settlement.d.ts +52 -10
  92. package/dist/settlement.d.ts.map +1 -1
  93. package/dist/settlement.js +197 -16
  94. package/dist/settlement.js.map +1 -1
  95. package/dist/streaming.js.map +1 -1
  96. package/dist/svm-cross-vm.d.ts +109 -0
  97. package/dist/svm-cross-vm.d.ts.map +1 -0
  98. package/dist/svm-cross-vm.js +215 -0
  99. package/dist/svm-cross-vm.js.map +1 -0
  100. package/dist/types.d.ts +175 -6
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/types.js.map +1 -1
  103. package/dist/wallet.d.ts +26 -9
  104. package/dist/wallet.d.ts.map +1 -1
  105. package/dist/wallet.js +34 -19
  106. package/dist/wallet.js.map +1 -1
  107. package/dist/wormhole.d.ts +76 -0
  108. package/dist/wormhole.d.ts.map +1 -0
  109. package/dist/wormhole.js +56 -0
  110. package/dist/wormhole.js.map +1 -0
  111. 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 { Block, Transaction, NodeStatus, FaucetResponse, HealthResponse } from "./types";
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>;
@@ -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
- const tx = {
169
- from: params.from,
170
- to: params.to,
171
- value: `0x${params.value.toString(16)}`,
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 (params.gas_price !== undefined) {
177
- tx.gas_price = `0x${params.gas_price.toString(16)}`;
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("eth_sendRawTransaction", [tx]);
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() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}