tenzro-sdk 0.1.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 (151) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +107 -0
  3. package/dist/agent-payments.d.ts +47 -0
  4. package/dist/agent-payments.d.ts.map +1 -0
  5. package/dist/agent-payments.js +76 -0
  6. package/dist/agent-payments.js.map +1 -0
  7. package/dist/agent.d.ts +177 -0
  8. package/dist/agent.d.ts.map +1 -0
  9. package/dist/agent.js +300 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/ap2.d.ts +54 -0
  12. package/dist/ap2.d.ts.map +1 -0
  13. package/dist/ap2.js +88 -0
  14. package/dist/ap2.js.map +1 -0
  15. package/dist/app.d.ts +186 -0
  16. package/dist/app.d.ts.map +1 -0
  17. package/dist/app.js +317 -0
  18. package/dist/app.js.map +1 -0
  19. package/dist/bridge.d.ts +64 -0
  20. package/dist/bridge.d.ts.map +1 -0
  21. package/dist/bridge.js +93 -0
  22. package/dist/bridge.js.map +1 -0
  23. package/dist/canton.d.ts +36 -0
  24. package/dist/canton.d.ts.map +1 -0
  25. package/dist/canton.js +46 -0
  26. package/dist/canton.js.map +1 -0
  27. package/dist/circuit-breaker.d.ts +35 -0
  28. package/dist/circuit-breaker.d.ts.map +1 -0
  29. package/dist/circuit-breaker.js +53 -0
  30. package/dist/circuit-breaker.js.map +1 -0
  31. package/dist/client.d.ts +134 -0
  32. package/dist/client.d.ts.map +1 -0
  33. package/dist/client.js +265 -0
  34. package/dist/client.js.map +1 -0
  35. package/dist/compliance.d.ts +83 -0
  36. package/dist/compliance.d.ts.map +1 -0
  37. package/dist/compliance.js +74 -0
  38. package/dist/compliance.js.map +1 -0
  39. package/dist/config.d.ts +10 -0
  40. package/dist/config.d.ts.map +1 -0
  41. package/dist/config.js +24 -0
  42. package/dist/config.js.map +1 -0
  43. package/dist/contract.d.ts +68 -0
  44. package/dist/contract.d.ts.map +1 -0
  45. package/dist/contract.js +59 -0
  46. package/dist/contract.js.map +1 -0
  47. package/dist/crypto.d.ts +112 -0
  48. package/dist/crypto.d.ts.map +1 -0
  49. package/dist/crypto.js +97 -0
  50. package/dist/crypto.js.map +1 -0
  51. package/dist/custody.d.ts +114 -0
  52. package/dist/custody.d.ts.map +1 -0
  53. package/dist/custody.js +96 -0
  54. package/dist/custody.js.map +1 -0
  55. package/dist/debridge.d.ts +129 -0
  56. package/dist/debridge.d.ts.map +1 -0
  57. package/dist/debridge.js +93 -0
  58. package/dist/debridge.js.map +1 -0
  59. package/dist/erc7802.d.ts +36 -0
  60. package/dist/erc7802.d.ts.map +1 -0
  61. package/dist/erc7802.js +52 -0
  62. package/dist/erc7802.js.map +1 -0
  63. package/dist/events.d.ts +112 -0
  64. package/dist/events.d.ts.map +1 -0
  65. package/dist/events.js +70 -0
  66. package/dist/events.js.map +1 -0
  67. package/dist/governance.d.ts +55 -0
  68. package/dist/governance.d.ts.map +1 -0
  69. package/dist/governance.js +77 -0
  70. package/dist/governance.js.map +1 -0
  71. package/dist/identity.d.ts +102 -0
  72. package/dist/identity.d.ts.map +1 -0
  73. package/dist/identity.js +147 -0
  74. package/dist/identity.js.map +1 -0
  75. package/dist/index.d.ts +67 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +85 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/inference.d.ts +27 -0
  80. package/dist/inference.d.ts.map +1 -0
  81. package/dist/inference.js +43 -0
  82. package/dist/inference.js.map +1 -0
  83. package/dist/marketplace.d.ts +44 -0
  84. package/dist/marketplace.d.ts.map +1 -0
  85. package/dist/marketplace.js +74 -0
  86. package/dist/marketplace.js.map +1 -0
  87. package/dist/nanopayment.d.ts +53 -0
  88. package/dist/nanopayment.d.ts.map +1 -0
  89. package/dist/nanopayment.js +81 -0
  90. package/dist/nanopayment.js.map +1 -0
  91. package/dist/nft.d.ts +127 -0
  92. package/dist/nft.d.ts.map +1 -0
  93. package/dist/nft.js +99 -0
  94. package/dist/nft.js.map +1 -0
  95. package/dist/payment.d.ts +71 -0
  96. package/dist/payment.d.ts.map +1 -0
  97. package/dist/payment.js +105 -0
  98. package/dist/payment.js.map +1 -0
  99. package/dist/provider.d.ts +351 -0
  100. package/dist/provider.d.ts.map +1 -0
  101. package/dist/provider.js +368 -0
  102. package/dist/provider.js.map +1 -0
  103. package/dist/rpc.d.ts +35 -0
  104. package/dist/rpc.d.ts.map +1 -0
  105. package/dist/rpc.js +127 -0
  106. package/dist/rpc.js.map +1 -0
  107. package/dist/settlement.d.ts +52 -0
  108. package/dist/settlement.d.ts.map +1 -0
  109. package/dist/settlement.js +86 -0
  110. package/dist/settlement.js.map +1 -0
  111. package/dist/skill.d.ts +55 -0
  112. package/dist/skill.d.ts.map +1 -0
  113. package/dist/skill.js +79 -0
  114. package/dist/skill.js.map +1 -0
  115. package/dist/staking.d.ts +42 -0
  116. package/dist/staking.d.ts.map +1 -0
  117. package/dist/staking.js +62 -0
  118. package/dist/staking.js.map +1 -0
  119. package/dist/streaming.d.ts +83 -0
  120. package/dist/streaming.d.ts.map +1 -0
  121. package/dist/streaming.js +193 -0
  122. package/dist/streaming.js.map +1 -0
  123. package/dist/task.d.ts +46 -0
  124. package/dist/task.d.ts.map +1 -0
  125. package/dist/task.js +76 -0
  126. package/dist/task.js.map +1 -0
  127. package/dist/tee.d.ts +88 -0
  128. package/dist/tee.d.ts.map +1 -0
  129. package/dist/tee.js +62 -0
  130. package/dist/tee.js.map +1 -0
  131. package/dist/token.d.ts +165 -0
  132. package/dist/token.d.ts.map +1 -0
  133. package/dist/token.js +80 -0
  134. package/dist/token.js.map +1 -0
  135. package/dist/tool.d.ts +55 -0
  136. package/dist/tool.d.ts.map +1 -0
  137. package/dist/tool.js +79 -0
  138. package/dist/tool.js.map +1 -0
  139. package/dist/types.d.ts +1318 -0
  140. package/dist/types.d.ts.map +1 -0
  141. package/dist/types.js +117 -0
  142. package/dist/types.js.map +1 -0
  143. package/dist/wallet.d.ts +44 -0
  144. package/dist/wallet.d.ts.map +1 -0
  145. package/dist/wallet.js +75 -0
  146. package/dist/wallet.js.map +1 -0
  147. package/dist/zk.d.ts +66 -0
  148. package/dist/zk.d.ts.map +1 -0
  149. package/dist/zk.js +58 -0
  150. package/dist/zk.js.map +1 -0
  151. package/package.json +41 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CircuitBreakerClient = void 0;
4
+ /**
5
+ * Client for circuit breaker configuration and provider health monitoring.
6
+ * Manages automatic failure detection and recovery for inference providers.
7
+ */
8
+ class CircuitBreakerClient {
9
+ rpc;
10
+ constructor(rpc) {
11
+ this.rpc = rpc;
12
+ }
13
+ /**
14
+ * Get health information for a specific provider.
15
+ * @param providerId - The provider identifier
16
+ * @returns Provider health status including success rate and circuit state
17
+ */
18
+ async getProviderHealth(providerId) {
19
+ return this.rpc.call('tenzro_getProviderHealth', [
20
+ { provider_id: providerId },
21
+ ]);
22
+ }
23
+ /**
24
+ * List all circuit breakers and their current status.
25
+ * @returns Array of circuit breaker statuses
26
+ */
27
+ async listCircuitBreakers() {
28
+ return this.rpc.call('tenzro_listCircuitBreakers');
29
+ }
30
+ /**
31
+ * Configure the circuit breaker for a specific provider.
32
+ * @param providerId - The provider identifier
33
+ * @param config - Circuit breaker configuration
34
+ * @returns Configuration result
35
+ */
36
+ async configureBreaker(providerId, config) {
37
+ return this.rpc.call('tenzro_configureCircuitBreaker', [
38
+ { provider_id: providerId, ...config },
39
+ ]);
40
+ }
41
+ /**
42
+ * Reset a circuit breaker to closed state.
43
+ * @param providerId - The provider identifier to reset
44
+ * @returns Reset result with new circuit state
45
+ */
46
+ async resetBreaker(providerId) {
47
+ return this.rpc.call('tenzro_resetCircuitBreaker', [
48
+ { provider_id: providerId },
49
+ ]);
50
+ }
51
+ }
52
+ exports.CircuitBreakerClient = CircuitBreakerClient;
53
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":";;;AASA;;;GAGG;AACH,MAAa,oBAAoB;IACF;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE;YAC/D,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAyB,4BAA4B,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,MAA4B;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,gCAAgC,EAAE;YACnE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAc,4BAA4B,EAAE;YAC9D,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AA/CD,oDA+CC"}
@@ -0,0 +1,134 @@
1
+ import { TenzroConfig } from "./config";
2
+ import { WalletClient } from "./wallet";
3
+ import { InferenceClient } from "./inference";
4
+ import { SettlementClient } from "./settlement";
5
+ import { AgentClient } from "./agent";
6
+ import { GovernanceClient } from "./governance";
7
+ import { IdentityClient } from "./identity";
8
+ import { PaymentClient } from "./payment";
9
+ import { ProviderClient } from "./provider";
10
+ import { TaskClient } from "./task";
11
+ import { MarketplaceClient } from "./marketplace";
12
+ import { SkillClient } from "./skill";
13
+ import { ToolClient } from "./tool";
14
+ import { CantonClient } from "./canton";
15
+ import { StakingClient } from "./staking";
16
+ import { TokenClient } from "./token";
17
+ import { ContractClient } from "./contract";
18
+ import { CryptoClient } from "./crypto";
19
+ import { CustodyClient } from "./custody";
20
+ import { TeeClient } from "./tee";
21
+ import { ZkClient } from "./zk";
22
+ import { StreamingClient } from "./streaming";
23
+ import { Ap2Client } from "./ap2";
24
+ import { BridgeClient } from "./bridge";
25
+ import { AgentPaymentClient } from "./agent-payments";
26
+ import { CircuitBreakerClient } from "./circuit-breaker";
27
+ import { NanopaymentClient } from "./nanopayment";
28
+ import { Erc7802Client } from "./erc7802";
29
+ import { NftClient } from "./nft";
30
+ import { ComplianceClient } from "./compliance";
31
+ import { EventsClient } from "./events";
32
+ import { DebridgeClient } from "./debridge";
33
+ import { Block, Transaction, NodeStatus, FaucetResponse, HealthResponse } from "./types";
34
+ /**
35
+ * Main client for interacting with Tenzro Network.
36
+ * Provides access to all network functionality through specialized sub-clients.
37
+ */
38
+ export declare class TenzroClient {
39
+ readonly wallet: WalletClient;
40
+ readonly inference: InferenceClient;
41
+ readonly settlement: SettlementClient;
42
+ readonly agent: AgentClient;
43
+ readonly governance: GovernanceClient;
44
+ readonly identity: IdentityClient;
45
+ readonly payment: PaymentClient;
46
+ readonly provider: ProviderClient;
47
+ readonly skill: SkillClient;
48
+ readonly tool: ToolClient;
49
+ readonly canton: CantonClient;
50
+ readonly staking: StakingClient;
51
+ readonly token: TokenClient;
52
+ readonly contract: ContractClient;
53
+ readonly crypto: CryptoClient;
54
+ readonly custody: CustodyClient;
55
+ readonly tee: TeeClient;
56
+ readonly zk: ZkClient;
57
+ readonly streaming: StreamingClient;
58
+ private readonly rpc;
59
+ private readonly config;
60
+ constructor(config: TenzroConfig);
61
+ task(): TaskClient;
62
+ marketplace(): MarketplaceClient;
63
+ /** Access the AP2 (Agentic Payment Protocol) client. */
64
+ ap2(): Ap2Client;
65
+ /** Access the cross-chain bridge client. */
66
+ bridge(): BridgeClient;
67
+ /** Access the agent payment executor client. */
68
+ agentPayments(): AgentPaymentClient;
69
+ /** Access the circuit breaker configuration client. */
70
+ circuitBreaker(): CircuitBreakerClient;
71
+ /** Access the nanopayment channel client. */
72
+ nanopayment(): NanopaymentClient;
73
+ /** Access the ERC-7802 cross-chain token client. */
74
+ erc7802(): Erc7802Client;
75
+ /** Access the NFT client. */
76
+ nft(): NftClient;
77
+ /** Access the compliance client. */
78
+ compliance(): ComplianceClient;
79
+ /** Access the events client. */
80
+ events(): EventsClient;
81
+ /** Access the deBridge cross-chain client. */
82
+ debridge(): DebridgeClient;
83
+ static mainnet(): TenzroClient;
84
+ static testnet(): TenzroClient;
85
+ static local(): TenzroClient;
86
+ getBlockNumber(): Promise<number>;
87
+ getBlock(height: number): Promise<Block>;
88
+ getLatestBlock(): Promise<Block>;
89
+ getTransaction(txHash: string): Promise<Transaction | null>;
90
+ getBalance(address: string): Promise<bigint>;
91
+ getNonce(address: string): Promise<number>;
92
+ getChainId(): Promise<number>;
93
+ sendTransaction(params: {
94
+ from: string;
95
+ to: string;
96
+ value: bigint;
97
+ gas_limit?: number;
98
+ gas_price?: number;
99
+ }): Promise<string>;
100
+ nodeInfo(): Promise<NodeStatus>;
101
+ getStatus(): Promise<NodeStatus>;
102
+ totalSupply(): Promise<string>;
103
+ peerCount(): Promise<number>;
104
+ isSyncing(): Promise<boolean>;
105
+ isConnected(): Promise<boolean>;
106
+ health(): Promise<HealthResponse>;
107
+ requestFaucet(address: string): Promise<FaucetResponse>;
108
+ /**
109
+ * Gets the finalized block height.
110
+ * @returns Finalized block number
111
+ */
112
+ getFinalizedBlock(): Promise<number>;
113
+ /**
114
+ * Exports the node configuration.
115
+ * @returns Node configuration object
116
+ */
117
+ exportConfig(): Promise<any>;
118
+ /**
119
+ * Gets transaction history for an address.
120
+ * @param address - The address to query
121
+ * @param limit - Optional maximum number of transactions to return
122
+ * @returns Transaction history
123
+ */
124
+ getTransactionHistory(address: string, limit?: number): Promise<any>;
125
+ /**
126
+ * Lists all accounts.
127
+ * @returns Array of account information
128
+ */
129
+ listAccounts(): Promise<any>;
130
+ get endpoint(): string;
131
+ get apiEndpoint(): string;
132
+ get chainId(): number | undefined;
133
+ }
134
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TenzroClient = void 0;
4
+ const config_1 = require("./config");
5
+ const rpc_1 = require("./rpc");
6
+ const wallet_1 = require("./wallet");
7
+ const inference_1 = require("./inference");
8
+ const settlement_1 = require("./settlement");
9
+ const agent_1 = require("./agent");
10
+ const governance_1 = require("./governance");
11
+ const identity_1 = require("./identity");
12
+ const payment_1 = require("./payment");
13
+ const provider_1 = require("./provider");
14
+ const task_1 = require("./task");
15
+ const marketplace_1 = require("./marketplace");
16
+ const skill_1 = require("./skill");
17
+ const tool_1 = require("./tool");
18
+ const canton_1 = require("./canton");
19
+ const staking_1 = require("./staking");
20
+ const token_1 = require("./token");
21
+ const contract_1 = require("./contract");
22
+ const crypto_1 = require("./crypto");
23
+ const custody_1 = require("./custody");
24
+ const tee_1 = require("./tee");
25
+ const zk_1 = require("./zk");
26
+ const streaming_1 = require("./streaming");
27
+ const ap2_1 = require("./ap2");
28
+ const bridge_1 = require("./bridge");
29
+ const agent_payments_1 = require("./agent-payments");
30
+ const circuit_breaker_1 = require("./circuit-breaker");
31
+ const nanopayment_1 = require("./nanopayment");
32
+ const erc7802_1 = require("./erc7802");
33
+ const nft_1 = require("./nft");
34
+ const compliance_1 = require("./compliance");
35
+ const events_1 = require("./events");
36
+ const debridge_1 = require("./debridge");
37
+ /**
38
+ * Main client for interacting with Tenzro Network.
39
+ * Provides access to all network functionality through specialized sub-clients.
40
+ */
41
+ class TenzroClient {
42
+ wallet;
43
+ inference;
44
+ settlement;
45
+ agent;
46
+ governance;
47
+ identity;
48
+ payment;
49
+ provider;
50
+ skill;
51
+ tool;
52
+ canton;
53
+ staking;
54
+ token;
55
+ contract;
56
+ crypto;
57
+ custody;
58
+ tee;
59
+ zk;
60
+ streaming;
61
+ rpc;
62
+ config;
63
+ constructor(config) {
64
+ this.config = config;
65
+ this.rpc = new rpc_1.RpcClient(config.endpoint, config.apiEndpoint, config.timeout);
66
+ this.wallet = new wallet_1.WalletClient(this.rpc);
67
+ this.inference = new inference_1.InferenceClient(this.rpc);
68
+ this.settlement = new settlement_1.SettlementClient(this.rpc);
69
+ this.agent = new agent_1.AgentClient(this.rpc);
70
+ this.governance = new governance_1.GovernanceClient(this.rpc);
71
+ this.identity = new identity_1.IdentityClient(this.rpc);
72
+ this.payment = new payment_1.PaymentClient(this.rpc);
73
+ this.provider = new provider_1.ProviderClient(this.rpc);
74
+ this.skill = new skill_1.SkillClient(this.rpc);
75
+ this.tool = new tool_1.ToolClient(this.rpc);
76
+ this.canton = new canton_1.CantonClient(this.rpc);
77
+ this.staking = new staking_1.StakingClient(this.rpc);
78
+ this.token = new token_1.TokenClient(this.rpc);
79
+ this.contract = new contract_1.ContractClient(this.rpc);
80
+ this.crypto = new crypto_1.CryptoClient(this.rpc);
81
+ this.custody = new custody_1.CustodyClient(this.rpc);
82
+ this.tee = new tee_1.TeeClient(this.rpc);
83
+ this.zk = new zk_1.ZkClient(this.rpc);
84
+ this.streaming = new streaming_1.StreamingClient(this.rpc);
85
+ }
86
+ task() {
87
+ return new task_1.TaskClient(this.rpc);
88
+ }
89
+ marketplace() {
90
+ return new marketplace_1.MarketplaceClient(this.rpc);
91
+ }
92
+ /** Access the AP2 (Agentic Payment Protocol) client. */
93
+ ap2() {
94
+ return new ap2_1.Ap2Client(this.rpc);
95
+ }
96
+ /** Access the cross-chain bridge client. */
97
+ bridge() {
98
+ return new bridge_1.BridgeClient(this.rpc);
99
+ }
100
+ /** Access the agent payment executor client. */
101
+ agentPayments() {
102
+ return new agent_payments_1.AgentPaymentClient(this.rpc);
103
+ }
104
+ /** Access the circuit breaker configuration client. */
105
+ circuitBreaker() {
106
+ return new circuit_breaker_1.CircuitBreakerClient(this.rpc);
107
+ }
108
+ /** Access the nanopayment channel client. */
109
+ nanopayment() {
110
+ return new nanopayment_1.NanopaymentClient(this.rpc);
111
+ }
112
+ /** Access the ERC-7802 cross-chain token client. */
113
+ erc7802() {
114
+ return new erc7802_1.Erc7802Client(this.rpc);
115
+ }
116
+ /** Access the NFT client. */
117
+ nft() {
118
+ return new nft_1.NftClient(this.rpc);
119
+ }
120
+ /** Access the compliance client. */
121
+ compliance() {
122
+ return new compliance_1.ComplianceClient(this.rpc);
123
+ }
124
+ /** Access the events client. */
125
+ events() {
126
+ return new events_1.EventsClient(this.rpc);
127
+ }
128
+ /** Access the deBridge cross-chain client. */
129
+ debridge() {
130
+ return new debridge_1.DebridgeClient(this.rpc);
131
+ }
132
+ static mainnet() {
133
+ return new TenzroClient(config_1.MAINNET_CONFIG);
134
+ }
135
+ static testnet() {
136
+ return new TenzroClient(config_1.TESTNET_CONFIG);
137
+ }
138
+ static local() {
139
+ return new TenzroClient(config_1.LOCAL_CONFIG);
140
+ }
141
+ // Core blockchain queries
142
+ async getBlockNumber() {
143
+ const hex = await this.rpc.call("tenzro_blockNumber");
144
+ return parseHex(hex);
145
+ }
146
+ async getBlock(height) {
147
+ return this.rpc.call("tenzro_getBlock", [{ block_number: height }]);
148
+ }
149
+ async getLatestBlock() {
150
+ return this.rpc.call("tenzro_getBlock", [{ height: "latest" }]);
151
+ }
152
+ async getTransaction(txHash) {
153
+ return this.rpc.call("tenzro_getTransaction", [txHash]);
154
+ }
155
+ async getBalance(address) {
156
+ const hex = await this.rpc.call("tenzro_getBalance", [address]);
157
+ return BigInt(hex);
158
+ }
159
+ async getNonce(address) {
160
+ const hex = await this.rpc.call("tenzro_getNonce", [address]);
161
+ return parseHex(hex);
162
+ }
163
+ async getChainId() {
164
+ const hex = await this.rpc.call("eth_chainId");
165
+ return parseHex(hex);
166
+ }
167
+ 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)}`;
175
+ }
176
+ if (params.gas_price !== undefined) {
177
+ tx.gas_price = `0x${params.gas_price.toString(16)}`;
178
+ }
179
+ return this.rpc.call("eth_sendRawTransaction", [tx]);
180
+ }
181
+ // Node status and network info
182
+ async nodeInfo() {
183
+ return this.rpc.call("tenzro_nodeInfo");
184
+ }
185
+ async getStatus() {
186
+ return this.rpc.get("/status");
187
+ }
188
+ async totalSupply() {
189
+ return this.rpc.call("tenzro_totalSupply");
190
+ }
191
+ async peerCount() {
192
+ const hex = await this.rpc.call("tenzro_peerCount");
193
+ return parseHex(hex);
194
+ }
195
+ async isSyncing() {
196
+ return this.rpc.call("tenzro_syncing");
197
+ }
198
+ async isConnected() {
199
+ try {
200
+ await this.rpc.call("eth_chainId");
201
+ return true;
202
+ }
203
+ catch {
204
+ return false;
205
+ }
206
+ }
207
+ async health() {
208
+ return this.rpc.get("/health");
209
+ }
210
+ async requestFaucet(address) {
211
+ return this.rpc.post("/faucet", { address });
212
+ }
213
+ /**
214
+ * Gets the finalized block height.
215
+ * @returns Finalized block number
216
+ */
217
+ async getFinalizedBlock() {
218
+ const hex = await this.rpc.call("tenzro_getFinalizedBlock");
219
+ return parseHex(hex);
220
+ }
221
+ /**
222
+ * Exports the node configuration.
223
+ * @returns Node configuration object
224
+ */
225
+ async exportConfig() {
226
+ return this.rpc.call("tenzro_exportConfig");
227
+ }
228
+ /**
229
+ * Gets transaction history for an address.
230
+ * @param address - The address to query
231
+ * @param limit - Optional maximum number of transactions to return
232
+ * @returns Transaction history
233
+ */
234
+ async getTransactionHistory(address, limit) {
235
+ return this.rpc.call("tenzro_getTransactionHistory", [{ address, limit }]);
236
+ }
237
+ /**
238
+ * Lists all accounts.
239
+ * @returns Array of account information
240
+ */
241
+ async listAccounts() {
242
+ return this.rpc.call("tenzro_listAccounts");
243
+ }
244
+ // Getters
245
+ get endpoint() {
246
+ return this.config.endpoint;
247
+ }
248
+ get apiEndpoint() {
249
+ return this.rpc.getApiEndpoint();
250
+ }
251
+ get chainId() {
252
+ return this.config.chainId;
253
+ }
254
+ }
255
+ exports.TenzroClient = TenzroClient;
256
+ /**
257
+ * Parse a hex string (with or without 0x prefix) to a number.
258
+ */
259
+ function parseHex(hex) {
260
+ if (hex.startsWith("0x")) {
261
+ return parseInt(hex.slice(2), 16);
262
+ }
263
+ return parseInt(hex, 16);
264
+ }
265
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import type { RpcClient } from './rpc';
2
+ /** Compliance rules registered for a token (ERC-3643). */
3
+ export interface ComplianceRules {
4
+ /** Token identifier the rules apply to */
5
+ token_id: string;
6
+ /** Whether KYC verification is required for holders */
7
+ kyc_required: boolean;
8
+ /** Maximum number of token holders (omit for unlimited) */
9
+ holder_limit?: number;
10
+ /** Allowed jurisdictions (ISO 3166-1 alpha-2 codes) */
11
+ allowed_jurisdictions?: string[];
12
+ /** Whether transfer restrictions are active */
13
+ transfer_restricted: boolean;
14
+ }
15
+ /** Result of a compliance check on a proposed transfer. */
16
+ export interface ComplianceResult {
17
+ /** Whether the transfer is compliant */
18
+ compliant: boolean;
19
+ /** Reason for non-compliance (present when compliant is false) */
20
+ reason?: string;
21
+ /** KYC status of the sender */
22
+ sender_kyc?: string;
23
+ /** KYC status of the recipient */
24
+ recipient_kyc?: string;
25
+ }
26
+ /** Result of freezing or unfreezing an address. */
27
+ export interface FreezeResult {
28
+ /** Token identifier */
29
+ token_id: string;
30
+ /** Frozen address */
31
+ address: string;
32
+ /** Whether the address is now frozen */
33
+ frozen: boolean;
34
+ /** Transaction hash */
35
+ tx_hash?: string;
36
+ }
37
+ /**
38
+ * Client for ERC-3643 compliance operations.
39
+ * Supports registering compliance rules for security tokens,
40
+ * checking transfer compliance, and freezing/unfreezing addresses.
41
+ */
42
+ export declare class ComplianceClient {
43
+ private readonly rpc;
44
+ constructor(rpc: RpcClient);
45
+ /**
46
+ * Register compliance rules for a token.
47
+ * @param tokenId - Token identifier
48
+ * @param kycRequired - Whether KYC is required for holders
49
+ * @param holderLimit - Optional maximum number of holders
50
+ * @returns The registered compliance rules
51
+ */
52
+ registerCompliance(tokenId: string, kycRequired: boolean, holderLimit?: number): Promise<ComplianceRules>;
53
+ /**
54
+ * Check whether a proposed transfer is compliant with the token's rules.
55
+ * @param tokenId - Token identifier
56
+ * @param from - Sender address
57
+ * @param to - Recipient address
58
+ * @param amount - Transfer amount as a decimal string
59
+ * @returns Compliance check result
60
+ */
61
+ checkCompliance(tokenId: string, from: string, to: string, amount: string): Promise<ComplianceResult>;
62
+ /**
63
+ * Freeze an address, preventing it from sending or receiving a token.
64
+ * @param tokenId - Token identifier
65
+ * @param address - Address to freeze
66
+ * @returns Freeze result with transaction hash
67
+ */
68
+ freezeAddress(tokenId: string, address: string): Promise<FreezeResult>;
69
+ /**
70
+ * Unfreeze a previously frozen address.
71
+ * @param tokenId - Token identifier
72
+ * @param address - Address to unfreeze
73
+ * @returns Freeze result with updated status
74
+ */
75
+ unfreezeAddress(tokenId: string, address: string): Promise<FreezeResult>;
76
+ /**
77
+ * Get the compliance rules for a token.
78
+ * @param tokenId - Token identifier
79
+ * @returns Compliance rules
80
+ */
81
+ getCompliance(tokenId: string): Promise<ComplianceRules>;
82
+ }
83
+ //# sourceMappingURL=compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../src/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,+CAA+C;IAC/C,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;OAMG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC;IAM3B;;;;;;;OAOG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC;IAMxB;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC;IAMxB;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAK/D"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComplianceClient = void 0;
4
+ // ── Client ──
5
+ /**
6
+ * Client for ERC-3643 compliance operations.
7
+ * Supports registering compliance rules for security tokens,
8
+ * checking transfer compliance, and freezing/unfreezing addresses.
9
+ */
10
+ class ComplianceClient {
11
+ rpc;
12
+ constructor(rpc) {
13
+ this.rpc = rpc;
14
+ }
15
+ /**
16
+ * Register compliance rules for a token.
17
+ * @param tokenId - Token identifier
18
+ * @param kycRequired - Whether KYC is required for holders
19
+ * @param holderLimit - Optional maximum number of holders
20
+ * @returns The registered compliance rules
21
+ */
22
+ async registerCompliance(tokenId, kycRequired, holderLimit) {
23
+ return this.rpc.call('tenzro_registerCompliance', [
24
+ { token_id: tokenId, kyc_required: kycRequired, holder_limit: holderLimit },
25
+ ]);
26
+ }
27
+ /**
28
+ * Check whether a proposed transfer is compliant with the token's rules.
29
+ * @param tokenId - Token identifier
30
+ * @param from - Sender address
31
+ * @param to - Recipient address
32
+ * @param amount - Transfer amount as a decimal string
33
+ * @returns Compliance check result
34
+ */
35
+ async checkCompliance(tokenId, from, to, amount) {
36
+ return this.rpc.call('tenzro_checkCompliance', [
37
+ { token_id: tokenId, from, to, amount },
38
+ ]);
39
+ }
40
+ /**
41
+ * Freeze an address, preventing it from sending or receiving a token.
42
+ * @param tokenId - Token identifier
43
+ * @param address - Address to freeze
44
+ * @returns Freeze result with transaction hash
45
+ */
46
+ async freezeAddress(tokenId, address) {
47
+ return this.rpc.call('tenzro_freezeAddress', [
48
+ { token_id: tokenId, address },
49
+ ]);
50
+ }
51
+ /**
52
+ * Unfreeze a previously frozen address.
53
+ * @param tokenId - Token identifier
54
+ * @param address - Address to unfreeze
55
+ * @returns Freeze result with updated status
56
+ */
57
+ async unfreezeAddress(tokenId, address) {
58
+ return this.rpc.call('tenzro_unfreezeAddress', [
59
+ { token_id: tokenId, address },
60
+ ]);
61
+ }
62
+ /**
63
+ * Get the compliance rules for a token.
64
+ * @param tokenId - Token identifier
65
+ * @returns Compliance rules
66
+ */
67
+ async getCompliance(tokenId) {
68
+ return this.rpc.call('tenzro_getCompliance', [
69
+ { token_id: tokenId },
70
+ ]);
71
+ }
72
+ }
73
+ exports.ComplianceClient = ComplianceClient;
74
+ //# sourceMappingURL=compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../src/compliance.ts"],"names":[],"mappings":";;;AA0CA,eAAe;AAEf;;;;GAIG;AACH,MAAa,gBAAgB;IACE;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,WAAoB,EACpB,WAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,2BAA2B,EAAE;YACjE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;SAC5E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,IAAY,EACZ,EAAU,EACV,MAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,wBAAwB,EAAE;YAC/D,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,OAAe;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,sBAAsB,EAAE;YACzD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,OAAe;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,wBAAwB,EAAE;YAC3D,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,sBAAsB,EAAE;YAC5D,EAAE,QAAQ,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;CACF;AA/ED,4CA+EC"}
@@ -0,0 +1,10 @@
1
+ export interface TenzroConfig {
2
+ endpoint: string;
3
+ apiEndpoint?: string;
4
+ chainId?: number;
5
+ timeout?: number;
6
+ }
7
+ export declare const MAINNET_CONFIG: TenzroConfig;
8
+ export declare const TESTNET_CONFIG: TenzroConfig;
9
+ export declare const LOCAL_CONFIG: TenzroConfig;
10
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,eAAO,MAAM,cAAc,EAAE,YAK5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAK5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC"}