@multiplatform.one/web3 8.3.0 → 8.5.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 (173) hide show
  1. package/README.md +33 -2
  2. package/dist/cjs/clients/tron.cjs +176 -0
  3. package/dist/cjs/clients/tron.native.js +318 -0
  4. package/dist/cjs/clients/tron.native.js.map +1 -0
  5. package/dist/cjs/clients/useTronClient.cjs +50 -0
  6. package/dist/cjs/clients/useTronClient.native.js +63 -0
  7. package/dist/cjs/clients/useTronClient.native.js.map +1 -0
  8. package/dist/cjs/connectkit/adapters/TronAdapter.cjs +139 -0
  9. package/dist/cjs/connectkit/adapters/TronAdapter.native.js +217 -0
  10. package/dist/cjs/connectkit/adapters/TronAdapter.native.js.map +1 -0
  11. package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +3 -3
  12. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +3 -3
  13. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  14. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.cjs +2 -1
  15. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js +18 -35
  16. package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  17. package/dist/cjs/connectkit/connectors/syntheticChains.cjs +10 -4
  18. package/dist/cjs/connectkit/connectors/syntheticChains.native.js +10 -4
  19. package/dist/cjs/connectkit/connectors/syntheticChains.native.js.map +1 -1
  20. package/dist/cjs/connectkit/defaultConfig.cjs +2 -1
  21. package/dist/cjs/connectkit/defaultConfig.native.js +2 -1
  22. package/dist/cjs/connectkit/defaultConfig.native.js.map +1 -1
  23. package/dist/cjs/connectkit/wallets/walletConfigs.cjs +12 -0
  24. package/dist/cjs/connectkit/wallets/walletConfigs.native.js +12 -0
  25. package/dist/cjs/connectkit/wallets/walletConfigs.native.js.map +1 -1
  26. package/dist/cjs/families/host.native.js.map +1 -1
  27. package/dist/cjs/families/tron.cjs +92 -0
  28. package/dist/cjs/families/tron.native.js +120 -0
  29. package/dist/cjs/families/tron.native.js.map +1 -0
  30. package/dist/cjs/providers/WalletProvider.cjs +3 -2
  31. package/dist/cjs/tron.cjs +46 -0
  32. package/dist/cjs/tron.native.js +49 -0
  33. package/dist/cjs/tron.native.js.map +1 -0
  34. package/dist/cjs/wagmi/host.cjs +9 -4
  35. package/dist/cjs/wagmi/host.native.js +6 -3
  36. package/dist/cjs/wagmi/host.native.js.map +1 -1
  37. package/dist/esm/clients/tron.mjs +133 -0
  38. package/dist/esm/clients/tron.mjs.map +1 -0
  39. package/dist/esm/clients/tron.native.js +272 -0
  40. package/dist/esm/clients/tron.native.js.map +1 -0
  41. package/dist/esm/clients/useTronClient.mjs +25 -0
  42. package/dist/esm/clients/useTronClient.mjs.map +1 -0
  43. package/dist/esm/clients/useTronClient.native.js +35 -0
  44. package/dist/esm/clients/useTronClient.native.js.map +1 -0
  45. package/dist/esm/connectkit/adapters/TronAdapter.mjs +111 -0
  46. package/dist/esm/connectkit/adapters/TronAdapter.mjs.map +1 -0
  47. package/dist/esm/connectkit/adapters/TronAdapter.native.js +186 -0
  48. package/dist/esm/connectkit/adapters/TronAdapter.native.js.map +1 -0
  49. package/dist/esm/connectkit/connectors/createWalletMessage.mjs +3 -3
  50. package/dist/esm/connectkit/connectors/createWalletMessage.mjs.map +1 -1
  51. package/dist/esm/connectkit/connectors/createWalletMessage.native.js +3 -3
  52. package/dist/esm/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  53. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs +2 -1
  54. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  55. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js +18 -35
  56. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  57. package/dist/esm/connectkit/connectors/syntheticChains.mjs +8 -4
  58. package/dist/esm/connectkit/connectors/syntheticChains.mjs.map +1 -1
  59. package/dist/esm/connectkit/connectors/syntheticChains.native.js +8 -4
  60. package/dist/esm/connectkit/connectors/syntheticChains.native.js.map +1 -1
  61. package/dist/esm/connectkit/defaultConfig.mjs +2 -1
  62. package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
  63. package/dist/esm/connectkit/defaultConfig.native.js +2 -1
  64. package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
  65. package/dist/esm/connectkit/wallets/walletConfigs.mjs +12 -0
  66. package/dist/esm/connectkit/wallets/walletConfigs.mjs.map +1 -1
  67. package/dist/esm/connectkit/wallets/walletConfigs.native.js +12 -0
  68. package/dist/esm/connectkit/wallets/walletConfigs.native.js.map +1 -1
  69. package/dist/esm/families/host.mjs.map +1 -1
  70. package/dist/esm/families/host.native.js.map +1 -1
  71. package/dist/esm/families/tron.mjs +65 -0
  72. package/dist/esm/families/tron.mjs.map +1 -0
  73. package/dist/esm/families/tron.native.js +90 -0
  74. package/dist/esm/families/tron.native.js.map +1 -0
  75. package/dist/esm/providers/WalletProvider.mjs +3 -2
  76. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  77. package/dist/esm/tron.mjs +6 -0
  78. package/dist/esm/tron.mjs.map +1 -0
  79. package/dist/esm/tron.native.js +6 -0
  80. package/dist/esm/tron.native.js.map +1 -0
  81. package/dist/esm/wagmi/host.mjs +9 -4
  82. package/dist/esm/wagmi/host.mjs.map +1 -1
  83. package/dist/esm/wagmi/host.native.js +6 -3
  84. package/dist/esm/wagmi/host.native.js.map +1 -1
  85. package/dist/jsx/clients/tron.mjs +133 -0
  86. package/dist/jsx/clients/tron.mjs.map +1 -0
  87. package/dist/jsx/clients/tron.native.js +318 -0
  88. package/dist/jsx/clients/tron.native.js.map +1 -0
  89. package/dist/jsx/clients/useTronClient.mjs +25 -0
  90. package/dist/jsx/clients/useTronClient.mjs.map +1 -0
  91. package/dist/jsx/clients/useTronClient.native.js +63 -0
  92. package/dist/jsx/clients/useTronClient.native.js.map +1 -0
  93. package/dist/jsx/connectkit/adapters/TronAdapter.mjs +111 -0
  94. package/dist/jsx/connectkit/adapters/TronAdapter.mjs.map +1 -0
  95. package/dist/jsx/connectkit/adapters/TronAdapter.native.js +217 -0
  96. package/dist/jsx/connectkit/adapters/TronAdapter.native.js.map +1 -0
  97. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +3 -3
  98. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs.map +1 -1
  99. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +3 -3
  100. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  101. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs +2 -1
  102. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  103. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js +18 -35
  104. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  105. package/dist/jsx/connectkit/connectors/syntheticChains.mjs +8 -4
  106. package/dist/jsx/connectkit/connectors/syntheticChains.mjs.map +1 -1
  107. package/dist/jsx/connectkit/connectors/syntheticChains.native.js +10 -4
  108. package/dist/jsx/connectkit/connectors/syntheticChains.native.js.map +1 -1
  109. package/dist/jsx/connectkit/defaultConfig.mjs +2 -1
  110. package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
  111. package/dist/jsx/connectkit/defaultConfig.native.js +2 -1
  112. package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
  113. package/dist/jsx/connectkit/wallets/walletConfigs.mjs +12 -0
  114. package/dist/jsx/connectkit/wallets/walletConfigs.mjs.map +1 -1
  115. package/dist/jsx/connectkit/wallets/walletConfigs.native.js +12 -0
  116. package/dist/jsx/connectkit/wallets/walletConfigs.native.js.map +1 -1
  117. package/dist/jsx/families/host.mjs.map +1 -1
  118. package/dist/jsx/families/host.native.js.map +1 -1
  119. package/dist/jsx/families/tron.mjs +65 -0
  120. package/dist/jsx/families/tron.mjs.map +1 -0
  121. package/dist/jsx/families/tron.native.js +120 -0
  122. package/dist/jsx/families/tron.native.js.map +1 -0
  123. package/dist/jsx/providers/WalletProvider.mjs +3 -2
  124. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  125. package/dist/jsx/tron.mjs +6 -0
  126. package/dist/jsx/tron.mjs.map +1 -0
  127. package/dist/jsx/tron.native.js +49 -0
  128. package/dist/jsx/tron.native.js.map +1 -0
  129. package/dist/jsx/wagmi/host.mjs +9 -4
  130. package/dist/jsx/wagmi/host.mjs.map +1 -1
  131. package/dist/jsx/wagmi/host.native.js +6 -3
  132. package/dist/jsx/wagmi/host.native.js.map +1 -1
  133. package/dist/keycloak/login.iife.js +380 -380
  134. package/package.json +13 -7
  135. package/src/clients/tron.spec.ts +118 -0
  136. package/src/clients/tron.ts +186 -0
  137. package/src/clients/useTronClient.ts +26 -0
  138. package/src/connectkit/adapters/TronAdapter.spec.ts +155 -0
  139. package/src/connectkit/adapters/TronAdapter.ts +168 -0
  140. package/src/connectkit/adapters/discover.ts +1 -1
  141. package/src/connectkit/connectors/createWalletMessage.ts +3 -3
  142. package/src/connectkit/connectors/ensureWalletConnectors.ts +2 -1
  143. package/src/connectkit/connectors/syntheticChains.ts +8 -2
  144. package/src/connectkit/defaultConfig.ts +5 -2
  145. package/src/connectkit/wallets/walletConfigs.tsx +8 -0
  146. package/src/families/host.ts +9 -2
  147. package/src/families/tron.spec.ts +118 -0
  148. package/src/families/tron.ts +63 -0
  149. package/src/providers/WalletProvider.tsx +3 -2
  150. package/src/tron.ts +26 -0
  151. package/src/wagmi/host.tsx +6 -2
  152. package/types/clients/tron.d.ts +65 -0
  153. package/types/clients/tron.d.ts.map +1 -0
  154. package/types/clients/useTronClient.d.ts +8 -0
  155. package/types/clients/useTronClient.d.ts.map +1 -0
  156. package/types/connectkit/adapters/TronAdapter.d.ts +35 -0
  157. package/types/connectkit/adapters/TronAdapter.d.ts.map +1 -0
  158. package/types/connectkit/adapters/discover.d.ts +1 -1
  159. package/types/connectkit/adapters/discover.d.ts.map +1 -1
  160. package/types/connectkit/connectors/ensureWalletConnectors.d.ts.map +1 -1
  161. package/types/connectkit/connectors/syntheticChains.d.ts +4 -0
  162. package/types/connectkit/connectors/syntheticChains.d.ts.map +1 -1
  163. package/types/connectkit/defaultConfig.d.ts.map +1 -1
  164. package/types/connectkit/wallets/walletConfigs.d.ts.map +1 -1
  165. package/types/families/host.d.ts +9 -2
  166. package/types/families/host.d.ts.map +1 -1
  167. package/types/families/tron.d.ts +15 -0
  168. package/types/families/tron.d.ts.map +1 -0
  169. package/types/providers/WalletProvider.d.ts +2 -1
  170. package/types/providers/WalletProvider.d.ts.map +1 -1
  171. package/types/tron.d.ts +5 -0
  172. package/types/tron.d.ts.map +1 -0
  173. package/types/wagmi/host.d.ts.map +1 -1
package/README.md CHANGED
@@ -26,8 +26,8 @@ Peers: `react`, `@tanstack/react-query`.
26
26
  - **Subpaths** — `./web` (the root without the tamagui components, for a
27
27
  plain web bundler, below), `./native` (WebView wallet bridge), `./connectkit`,
28
28
  `./message` (the wallet sign-in messages), `./keycloak` (wallet login
29
- against the Keycloak wallet SPI), `./vite` and `./esbuild` (bundler
30
- plugins, below)
29
+ against the Keycloak wallet SPI), `./tron` (the Tron family, web only,
30
+ below), `./vite` and `./esbuild` (bundler plugins, below)
31
31
 
32
32
  ## Wallet families and `useConnection()`
33
33
 
@@ -162,6 +162,37 @@ signs Solana through the WebView bridge, so the root never imports
162
162
  through `solanaMessageClient`, so a login page carries no kit.
163
163
  `tests/clients/importGraph.spec.ts` holds both lines, for native and web.
164
164
 
165
+ ### Tron
166
+
167
+ The Tron family is the web-only `@multiplatform.one/web3/tron` subpath. It is
168
+ not a built-in family: pass it to `Web3Provider` and the connect modal lists
169
+ TronLink when it is installed.
170
+
171
+ ```tsx
172
+ import { Web3Provider, eth } from "@multiplatform.one/web3";
173
+ import { readTrc20Balance, tron, useTronClient } from "@multiplatform.one/web3/tron";
174
+
175
+ <Web3Provider config={config} families={[eth(), tron()]}>
176
+ <App />
177
+ </Web3Provider>;
178
+
179
+ const trx = useTronClient();
180
+ const balance = await trx?.trc20Balance(qcc);
181
+ const nile = await readTrc20Balance({ network: "nile", token: qcc, owner });
182
+ ```
183
+
184
+ `useTronClient()` returns `{ family: "tron", address, network, signMessage, trc20Balance }`
185
+ with the base58 address TronLink shows. `trc20Balance(token, owner?)` posts
186
+ `balanceOf` to TronGrid's `triggerconstantcontract` on the network TronLink's
187
+ node is on (`mainnet`, `nile` or `shasta`) and returns the raw `bigint`.
188
+ `readTrc20Balance` does the same with no wallet; `apiUrl` and `apiKey` point it
189
+ at another node or past TronGrid's keyless rate limit. Addresses go in as
190
+ base58, 41-prefixed hex or a 20-byte `0x` hex (`toTronBase58`, `toTronHex`).
191
+ There is no tronweb dependency. Tron has no Keycloak sign-in and no WebView
192
+ bridge namespace yet, so it is web only and `tests/clients/importGraph.spec.ts`
193
+ holds the native bundle free of it. `TRONGRID_LIVE=1` runs
194
+ `tests/clients/tron.trongrid.spec.ts` against mainnet and Nile.
195
+
165
196
  ### EVM reads without a wallet
166
197
 
167
198
  Reads that must work before a wallet connects, such as prices, sale state or
@@ -0,0 +1,176 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var tron_exports = {};
35
+ __export(tron_exports, {
36
+ TronGridError: () => TronGridError,
37
+ isTronAddress: () => isTronAddress,
38
+ readTrc20Balance: () => readTrc20Balance,
39
+ toTronBase58: () => toTronBase58,
40
+ toTronHex: () => toTronHex,
41
+ tronAddressBytes: () => tronAddressBytes,
42
+ tronClient: () => tronClient,
43
+ tronGridUrls: () => tronGridUrls
44
+ });
45
+ module.exports = __toCommonJS(tron_exports);
46
+ var import_bs58 = __toESM(require("bs58"));
47
+ var import_viem = require("viem");
48
+ const tronGridUrls = Object.freeze({
49
+ mainnet: "https://api.trongrid.io",
50
+ nile: "https://nile.trongrid.io",
51
+ shasta: "https://api.shasta.trongrid.io"
52
+ });
53
+ const tronPrefix = 65;
54
+ const checksumOf = payload => (0, import_viem.sha256)((0, import_viem.sha256)(payload, "bytes"), "bytes").slice(0, 4);
55
+ function tronAddressBytes(address) {
56
+ const value = address.trim();
57
+ if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {
58
+ const bytes = (0, import_viem.hexToBytes)(value.startsWith("0x") ? value : `0x${value}`);
59
+ if (bytes.length === 20) return Uint8Array.of(tronPrefix, ...bytes);
60
+ if (bytes.length === 21 && bytes[0] === tronPrefix) return bytes;
61
+ throw new Error(`not a Tron address: ${address}`);
62
+ }
63
+ let decoded;
64
+ try {
65
+ decoded = import_bs58.default.decode(value);
66
+ } catch {
67
+ throw new Error(`not a Tron address: ${address}`);
68
+ }
69
+ if (decoded.length !== 25 || decoded[0] !== tronPrefix) {
70
+ throw new Error(`not a Tron address: ${address}`);
71
+ }
72
+ const payload = decoded.slice(0, 21);
73
+ const checksum = checksumOf(payload);
74
+ if (!checksum.every((byte, index) => byte === decoded[21 + index])) {
75
+ throw new Error(`Tron address checksum mismatch: ${address}`);
76
+ }
77
+ return payload;
78
+ }
79
+ function toTronBase58(address) {
80
+ const payload = tronAddressBytes(address);
81
+ return import_bs58.default.encode(Uint8Array.of(...payload, ...checksumOf(payload)));
82
+ }
83
+ function toTronHex(address) {
84
+ return (0, import_viem.bytesToHex)(tronAddressBytes(address)).slice(2);
85
+ }
86
+ function isTronAddress(address) {
87
+ try {
88
+ tronAddressBytes(address);
89
+ return true;
90
+ } catch {
91
+ return false;
92
+ }
93
+ }
94
+ class TronGridError extends Error {
95
+ status;
96
+ constructor(message, status) {
97
+ super(message);
98
+ this.name = "TronGridError";
99
+ this.status = status;
100
+ }
101
+ }
102
+ function decodeMessage(message) {
103
+ if (!message) return void 0;
104
+ if (!/^[0-9a-fA-F]+$/.test(message) || message.length % 2) return message;
105
+ try {
106
+ return (0, import_viem.hexToString)(`0x${message}`);
107
+ } catch {
108
+ return message;
109
+ }
110
+ }
111
+ async function readTrc20Balance(parameters) {
112
+ const {
113
+ token,
114
+ owner,
115
+ network = "mainnet",
116
+ apiUrl,
117
+ apiKey,
118
+ signal
119
+ } = parameters;
120
+ const request = parameters.fetch ?? globalThis.fetch;
121
+ const ownerBytes = tronAddressBytes(owner);
122
+ const base = (apiUrl ?? tronGridUrls[network]).replace(/\/+$/, "");
123
+ const response = await request(`${base}/wallet/triggerconstantcontract`, {
124
+ method: "POST",
125
+ headers: {
126
+ accept: "application/json",
127
+ "content-type": "application/json",
128
+ ...(apiKey ? {
129
+ "TRON-PRO-API-KEY": apiKey
130
+ } : {})
131
+ },
132
+ body: JSON.stringify({
133
+ owner_address: toTronBase58(owner),
134
+ contract_address: toTronBase58(token),
135
+ function_selector: "balanceOf(address)",
136
+ parameter: (0, import_viem.bytesToHex)(ownerBytes.slice(1)).slice(2).padStart(64, "0"),
137
+ visible: true
138
+ }),
139
+ ...(signal ? {
140
+ signal
141
+ } : {})
142
+ });
143
+ if (!response.ok) {
144
+ throw new TronGridError(`TronGrid answered ${response.status} for balanceOf`, response.status);
145
+ }
146
+ const body = await response.json();
147
+ const word = body.constant_result?.[0];
148
+ if (!body.result?.result || word === void 0) {
149
+ const reason = decodeMessage(body.result?.message) ?? body.Error ?? body.result?.code;
150
+ throw new TronGridError(`TronGrid balanceOf failed${reason ? `: ${reason}` : ""}`);
151
+ }
152
+ return word === "" ? 0n : BigInt(`0x${word}`);
153
+ }
154
+ const capabilities = ["signMessage"];
155
+ function tronClient(adapter, options = {}) {
156
+ if (!adapter.address) throw new Error("tronClient: connect a Tron wallet first");
157
+ const address = adapter.address;
158
+ const network = options.network ?? "mainnet";
159
+ return {
160
+ family: "tron",
161
+ address,
162
+ chainId: "tron",
163
+ network,
164
+ capabilities,
165
+ signMessage: message => adapter.signMessage(message),
166
+ trc20Balance: (token, owner = address, signal) => readTrc20Balance({
167
+ ...options,
168
+ network,
169
+ token,
170
+ owner,
171
+ ...(signal ? {
172
+ signal
173
+ } : {})
174
+ })
175
+ };
176
+ }
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var tron_exports = {};
37
+ __export(tron_exports, {
38
+ TronGridError: () => TronGridError,
39
+ isTronAddress: () => isTronAddress,
40
+ readTrc20Balance: () => readTrc20Balance,
41
+ toTronBase58: () => toTronBase58,
42
+ toTronHex: () => toTronHex,
43
+ tronAddressBytes: () => tronAddressBytes,
44
+ tronClient: () => tronClient,
45
+ tronGridUrls: () => tronGridUrls
46
+ });
47
+ module.exports = __toCommonJS(tron_exports);
48
+ var import_bs58 = __toESM(require("bs58"));
49
+ var import_viem = require("viem");
50
+ function _assert_this_initialized(self) {
51
+ if (self === void 0) {
52
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
53
+ }
54
+ return self;
55
+ }
56
+ function _call_super(_this, derived, args) {
57
+ derived = _get_prototype_of(derived);
58
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
59
+ }
60
+ function _class_call_check(instance, Constructor) {
61
+ if (!(instance instanceof Constructor)) {
62
+ throw new TypeError("Cannot call a class as a function");
63
+ }
64
+ }
65
+ function _construct(Parent, args, Class) {
66
+ if (_is_native_reflect_construct()) {
67
+ _construct = Reflect.construct;
68
+ } else {
69
+ _construct = function construct(Parent2, args2, Class2) {
70
+ var a = [null];
71
+ a.push.apply(a, args2);
72
+ var Constructor = Function.bind.apply(Parent2, a);
73
+ var instance = new Constructor();
74
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
75
+ return instance;
76
+ };
77
+ }
78
+ return _construct.apply(null, arguments);
79
+ }
80
+ function _define_property(obj, key, value) {
81
+ if (key in obj) {
82
+ Object.defineProperty(obj, key, {
83
+ value,
84
+ enumerable: true,
85
+ configurable: true,
86
+ writable: true
87
+ });
88
+ } else {
89
+ obj[key] = value;
90
+ }
91
+ return obj;
92
+ }
93
+ function _get_prototype_of(o) {
94
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
95
+ return o2.__proto__ || Object.getPrototypeOf(o2);
96
+ };
97
+ return _get_prototype_of(o);
98
+ }
99
+ function _inherits(subClass, superClass) {
100
+ if (typeof superClass !== "function" && superClass !== null) {
101
+ throw new TypeError("Super expression must either be null or a function");
102
+ }
103
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
104
+ constructor: {
105
+ value: subClass,
106
+ writable: true,
107
+ configurable: true
108
+ }
109
+ });
110
+ if (superClass) _set_prototype_of(subClass, superClass);
111
+ }
112
+ function _is_native_function(fn) {
113
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
114
+ }
115
+ function _possible_constructor_return(self, call) {
116
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
117
+ return call;
118
+ }
119
+ return _assert_this_initialized(self);
120
+ }
121
+ function _set_prototype_of(o, p) {
122
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
123
+ o2.__proto__ = p2;
124
+ return o2;
125
+ };
126
+ return _set_prototype_of(o, p);
127
+ }
128
+ function _type_of(obj) {
129
+ "@swc/helpers - typeof";
130
+
131
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
132
+ }
133
+ function _wrap_native_super(Class) {
134
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
135
+ _wrap_native_super = function wrapNativeSuper(Class2) {
136
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
137
+ if (typeof Class2 !== "function") {
138
+ throw new TypeError("Super expression must either be null or a function");
139
+ }
140
+ if (typeof _cache !== "undefined") {
141
+ if (_cache.has(Class2)) return _cache.get(Class2);
142
+ _cache.set(Class2, Wrapper);
143
+ }
144
+ function Wrapper() {
145
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
146
+ }
147
+ Wrapper.prototype = Object.create(Class2.prototype, {
148
+ constructor: {
149
+ value: Wrapper,
150
+ enumerable: false,
151
+ writable: true,
152
+ configurable: true
153
+ }
154
+ });
155
+ return _set_prototype_of(Wrapper, Class2);
156
+ };
157
+ return _wrap_native_super(Class);
158
+ }
159
+ function _is_native_reflect_construct() {
160
+ try {
161
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
162
+ } catch (_) {}
163
+ return (_is_native_reflect_construct = function () {
164
+ return !!result;
165
+ })();
166
+ }
167
+ var tronGridUrls = Object.freeze({
168
+ mainnet: "https://api.trongrid.io",
169
+ nile: "https://nile.trongrid.io",
170
+ shasta: "https://api.shasta.trongrid.io"
171
+ });
172
+ var tronPrefix = 65;
173
+ var checksumOf = function checksumOf2(payload) {
174
+ return (0, import_viem.sha256)((0, import_viem.sha256)(payload, "bytes"), "bytes").slice(0, 4);
175
+ };
176
+ function tronAddressBytes(address) {
177
+ var value = address.trim();
178
+ if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {
179
+ var bytes = (0, import_viem.hexToBytes)(value.startsWith("0x") ? value : `0x${value}`);
180
+ if (bytes.length === 20) return Uint8Array.of(tronPrefix, ...bytes);
181
+ if (bytes.length === 21 && bytes[0] === tronPrefix) return bytes;
182
+ throw new Error(`not a Tron address: ${address}`);
183
+ }
184
+ var decoded;
185
+ try {
186
+ decoded = import_bs58.default.decode(value);
187
+ } catch (unused) {
188
+ throw new Error(`not a Tron address: ${address}`);
189
+ }
190
+ if (decoded.length !== 25 || decoded[0] !== tronPrefix) {
191
+ throw new Error(`not a Tron address: ${address}`);
192
+ }
193
+ var payload = decoded.slice(0, 21);
194
+ var checksum = checksumOf(payload);
195
+ if (!checksum.every(function (byte, index) {
196
+ return byte === decoded[21 + index];
197
+ })) {
198
+ throw new Error(`Tron address checksum mismatch: ${address}`);
199
+ }
200
+ return payload;
201
+ }
202
+ function toTronBase58(address) {
203
+ var payload = tronAddressBytes(address);
204
+ return import_bs58.default.encode(Uint8Array.of(...payload, ...checksumOf(payload)));
205
+ }
206
+ function toTronHex(address) {
207
+ return (0, import_viem.bytesToHex)(tronAddressBytes(address)).slice(2);
208
+ }
209
+ function isTronAddress(address) {
210
+ try {
211
+ tronAddressBytes(address);
212
+ return true;
213
+ } catch (unused) {
214
+ return false;
215
+ }
216
+ }
217
+ var TronGridError = /* @__PURE__ */function (Error1) {
218
+ "use strict";
219
+
220
+ _inherits(TronGridError2, Error1);
221
+ function TronGridError2(message, status) {
222
+ _class_call_check(this, TronGridError2);
223
+ var _this;
224
+ _this = _call_super(this, TronGridError2, [message]), _define_property(_this, "status", void 0);
225
+ _this.name = "TronGridError";
226
+ _this.status = status;
227
+ return _this;
228
+ }
229
+ return TronGridError2;
230
+ }(_wrap_native_super(Error));
231
+ function decodeMessage(message) {
232
+ if (!message) return void 0;
233
+ if (!/^[0-9a-fA-F]+$/.test(message) || message.length % 2) return message;
234
+ try {
235
+ return (0, import_viem.hexToString)(`0x${message}`);
236
+ } catch (unused) {
237
+ return message;
238
+ }
239
+ }
240
+ async function readTrc20Balance(parameters) {
241
+ var _parameters_fetch;
242
+ var _body_constant_result, _body_result;
243
+ var {
244
+ token,
245
+ owner,
246
+ network = "mainnet",
247
+ apiUrl,
248
+ apiKey,
249
+ signal
250
+ } = parameters;
251
+ var request = (_parameters_fetch = parameters.fetch) !== null && _parameters_fetch !== void 0 ? _parameters_fetch : globalThis.fetch;
252
+ var ownerBytes = tronAddressBytes(owner);
253
+ var base = (apiUrl !== null && apiUrl !== void 0 ? apiUrl : tronGridUrls[network]).replace(/\/+$/, "");
254
+ var response = await request(`${base}/wallet/triggerconstantcontract`, {
255
+ method: "POST",
256
+ headers: {
257
+ accept: "application/json",
258
+ "content-type": "application/json",
259
+ ...(apiKey ? {
260
+ "TRON-PRO-API-KEY": apiKey
261
+ } : {})
262
+ },
263
+ body: JSON.stringify({
264
+ owner_address: toTronBase58(owner),
265
+ contract_address: toTronBase58(token),
266
+ function_selector: "balanceOf(address)",
267
+ parameter: (0, import_viem.bytesToHex)(ownerBytes.slice(1)).slice(2).padStart(64, "0"),
268
+ visible: true
269
+ }),
270
+ ...(signal ? {
271
+ signal
272
+ } : {})
273
+ });
274
+ if (!response.ok) {
275
+ throw new TronGridError(`TronGrid answered ${response.status} for balanceOf`, response.status);
276
+ }
277
+ var body = await response.json();
278
+ var word = (_body_constant_result = body.constant_result) === null || _body_constant_result === void 0 ? void 0 : _body_constant_result[0];
279
+ if (!((_body_result = body.result) === null || _body_result === void 0 ? void 0 : _body_result.result) || word === void 0) {
280
+ var _ref, _decodeMessage;
281
+ var _body_result1, _body_result2;
282
+ var reason = (_ref = (_decodeMessage = decodeMessage((_body_result1 = body.result) === null || _body_result1 === void 0 ? void 0 : _body_result1.message)) !== null && _decodeMessage !== void 0 ? _decodeMessage : body.Error) !== null && _ref !== void 0 ? _ref : (_body_result2 = body.result) === null || _body_result2 === void 0 ? void 0 : _body_result2.code;
283
+ throw new TronGridError(`TronGrid balanceOf failed${reason ? `: ${reason}` : ""}`);
284
+ }
285
+ return word === "" ? 0n : BigInt(`0x${word}`);
286
+ }
287
+ var capabilities = ["signMessage"];
288
+ function tronClient(adapter) {
289
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
290
+ var _options_network;
291
+ if (!adapter.address) throw new Error("tronClient: connect a Tron wallet first");
292
+ var address = adapter.address;
293
+ var network = (_options_network = options.network) !== null && _options_network !== void 0 ? _options_network : "mainnet";
294
+ return {
295
+ family: "tron",
296
+ address,
297
+ chainId: "tron",
298
+ network,
299
+ capabilities,
300
+ signMessage: function signMessage(message) {
301
+ return adapter.signMessage(message);
302
+ },
303
+ trc20Balance: function trc20Balance(token) {
304
+ var owner = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : address,
305
+ signal = arguments.length > 2 ? arguments[2] : void 0;
306
+ return readTrc20Balance({
307
+ ...options,
308
+ network,
309
+ token,
310
+ owner,
311
+ ...(signal ? {
312
+ signal
313
+ } : {})
314
+ });
315
+ }
316
+ };
317
+ }
318
+ //# sourceMappingURL=tron.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","tron_exports","__export","TronGridError","isTronAddress","readTrc20Balance","toTronBase58","toTronHex","tronAddressBytes","tronClient","tronGridUrls","module","exports","import_bs58","__toESM","require","import_viem","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","bs58","obj","key","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","Symbol","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper"],"sources":["../../../src/clients/tron.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useTronClient_exports = {};
24
+ __export(useTronClient_exports, {
25
+ useTronClient: () => useTronClient
26
+ });
27
+ module.exports = __toCommonJS(useTronClient_exports);
28
+ var import_react = require("react");
29
+ var import_wagmi = require("wagmi");
30
+ var import_adapter = require("./adapter.cjs");
31
+ var import_react2 = require("../core/react.cjs");
32
+ var import_TronAdapter = require("../connectkit/adapters/TronAdapter.cjs");
33
+ var import_tron = require("./tron.cjs");
34
+ function useTronClient() {
35
+ const connection = (0, import_react2.useOptionalConnection)();
36
+ const {
37
+ connector,
38
+ address
39
+ } = (0, import_wagmi.useAccount)();
40
+ return (0, import_react.useMemo)(() => {
41
+ if (connection) {
42
+ return connection.family === "tron" ? connection.client ?? void 0 : void 0;
43
+ }
44
+ const adapter = (0, import_adapter.connectorAdapter)(connector, "tron");
45
+ if (!adapter?.address) return void 0;
46
+ return (0, import_tron.tronClient)(adapter, adapter instanceof import_TronAdapter.TronAdapter ? {
47
+ network: adapter.network
48
+ } : {});
49
+ }, [connection, connector, address]);
50
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useTronClient_exports = {};
26
+ __export(useTronClient_exports, {
27
+ useTronClient: () => useTronClient
28
+ });
29
+ module.exports = __toCommonJS(useTronClient_exports);
30
+ var import_react = require("react");
31
+ var import_wagmi = require("wagmi");
32
+ var import_adapter = require("./adapter.native.js");
33
+ var import_react2 = require("../core/react.native.js");
34
+ var import_TronAdapter = require("../connectkit/adapters/TronAdapter.native.js");
35
+ var import_tron = require("./tron.native.js");
36
+ function _instanceof(left, right) {
37
+ "@swc/helpers - instanceof";
38
+
39
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
40
+ return !!right[Symbol.hasInstance](left);
41
+ } else {
42
+ return left instanceof right;
43
+ }
44
+ }
45
+ function useTronClient() {
46
+ var connection = (0, import_react2.useOptionalConnection)();
47
+ var {
48
+ connector,
49
+ address
50
+ } = (0, import_wagmi.useAccount)();
51
+ return (0, import_react.useMemo)(function () {
52
+ if (connection) {
53
+ var _connection_client;
54
+ return connection.family === "tron" ? (_connection_client = connection.client) !== null && _connection_client !== void 0 ? _connection_client : void 0 : void 0;
55
+ }
56
+ var adapter = (0, import_adapter.connectorAdapter)(connector, "tron");
57
+ if (!(adapter === null || adapter === void 0 ? void 0 : adapter.address)) return void 0;
58
+ return (0, import_tron.tronClient)(adapter, _instanceof(adapter, import_TronAdapter.TronAdapter) ? {
59
+ network: adapter.network
60
+ } : {});
61
+ }, [connection, connector, address]);
62
+ }
63
+ //# sourceMappingURL=useTronClient.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useTronClient_exports","__export","useTronClient","module","exports","import_react","require","import_wagmi","import_adapter","import_react2","import_TronAdapter","import_tron","_instanceof","left","right","Symbol","hasInstance","connection","useOptionalConnection","connector","address","useAccount"],"sources":["../../../src/clients/useTronClient.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAwB,CAAAK,qBAAA;AACxB,IAAAK,YAAA,GAA2BC,OAAA;AAC3B,IAAAC,YAAA,GAAAD,OAAiC;AACjC,IAAAE,cAAA,GAAsCF,OAAA;AACtC,IAAAG,aAAA,GAAAH,OAA4B;AAC5B,IAAAI,kBAA4C,GAAAJ,OAAA;AAOrC,IAAAK,WAAS,GAAAL,OAAwC;AACtD,SAAMM,YAAAC,IAAa,EAAAC,KAAA;EACnB,2BAA2B;;EAC3B,IAAAA,KAAA,IAAO,eAAAC,MAAQ,KAAM,eAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACnB,OAAI,EAAAF,KAAA,CAAAC,MAAY,CAAAC,WAAA,EAAAH,IAAA;EACd;IAGF,OAAAA,IAAA,YAAAC,KAAA;EACA;AACA;AACA,SAAAZ,aAAOA,CAAA;EACT,IAAIe,UAAA,GAAY,IAAAR,aAAkB,CAACS,qBAAA;EACrC;IAAAC,SAAA;IAAAC;EAAA,QAAAb,YAAA,CAAAc,UAAA","ignoreList":[]}