@multiplatform.one/web3 8.2.2 → 8.4.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 (211) 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/siwe/SIWEContext.native.js.map +1 -1
  24. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +19 -16
  25. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +26 -16
  26. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  27. package/dist/cjs/connectkit/wallets/walletConfigs.cjs +12 -0
  28. package/dist/cjs/connectkit/wallets/walletConfigs.native.js +12 -0
  29. package/dist/cjs/connectkit/wallets/walletConfigs.native.js.map +1 -1
  30. package/dist/cjs/families/host.native.js.map +1 -1
  31. package/dist/cjs/families/tron.cjs +92 -0
  32. package/dist/cjs/families/tron.native.js +120 -0
  33. package/dist/cjs/families/tron.native.js.map +1 -0
  34. package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +34 -3
  35. package/dist/cjs/keycloak/useWalletLogin.cjs +3 -2
  36. package/dist/cjs/providers/WalletProvider.cjs +1 -1
  37. package/dist/cjs/tron.cjs +46 -0
  38. package/dist/cjs/tron.native.js +49 -0
  39. package/dist/cjs/tron.native.js.map +1 -0
  40. package/dist/cjs/wagmi/host.cjs +9 -4
  41. package/dist/cjs/wagmi/host.native.js +6 -3
  42. package/dist/cjs/wagmi/host.native.js.map +1 -1
  43. package/dist/esm/clients/tron.mjs +133 -0
  44. package/dist/esm/clients/tron.mjs.map +1 -0
  45. package/dist/esm/clients/tron.native.js +272 -0
  46. package/dist/esm/clients/tron.native.js.map +1 -0
  47. package/dist/esm/clients/useTronClient.mjs +25 -0
  48. package/dist/esm/clients/useTronClient.mjs.map +1 -0
  49. package/dist/esm/clients/useTronClient.native.js +35 -0
  50. package/dist/esm/clients/useTronClient.native.js.map +1 -0
  51. package/dist/esm/connectkit/adapters/TronAdapter.mjs +111 -0
  52. package/dist/esm/connectkit/adapters/TronAdapter.mjs.map +1 -0
  53. package/dist/esm/connectkit/adapters/TronAdapter.native.js +186 -0
  54. package/dist/esm/connectkit/adapters/TronAdapter.native.js.map +1 -0
  55. package/dist/esm/connectkit/connectors/createWalletMessage.mjs +3 -3
  56. package/dist/esm/connectkit/connectors/createWalletMessage.mjs.map +1 -1
  57. package/dist/esm/connectkit/connectors/createWalletMessage.native.js +3 -3
  58. package/dist/esm/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  59. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs +2 -1
  60. package/dist/esm/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  61. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js +18 -35
  62. package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  63. package/dist/esm/connectkit/connectors/syntheticChains.mjs +8 -4
  64. package/dist/esm/connectkit/connectors/syntheticChains.mjs.map +1 -1
  65. package/dist/esm/connectkit/connectors/syntheticChains.native.js +8 -4
  66. package/dist/esm/connectkit/connectors/syntheticChains.native.js.map +1 -1
  67. package/dist/esm/connectkit/defaultConfig.mjs +2 -1
  68. package/dist/esm/connectkit/defaultConfig.mjs.map +1 -1
  69. package/dist/esm/connectkit/defaultConfig.native.js +2 -1
  70. package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
  71. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  72. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  73. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -16
  74. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  75. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +26 -16
  76. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  77. package/dist/esm/connectkit/wallets/walletConfigs.mjs +12 -0
  78. package/dist/esm/connectkit/wallets/walletConfigs.mjs.map +1 -1
  79. package/dist/esm/connectkit/wallets/walletConfigs.native.js +12 -0
  80. package/dist/esm/connectkit/wallets/walletConfigs.native.js.map +1 -1
  81. package/dist/esm/families/host.mjs.map +1 -1
  82. package/dist/esm/families/host.native.js.map +1 -1
  83. package/dist/esm/families/tron.mjs +65 -0
  84. package/dist/esm/families/tron.mjs.map +1 -0
  85. package/dist/esm/families/tron.native.js +90 -0
  86. package/dist/esm/families/tron.native.js.map +1 -0
  87. package/dist/esm/keycloak/KeycloakWalletLogin.mjs +33 -3
  88. package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -1
  89. package/dist/esm/keycloak/useWalletLogin.mjs +3 -2
  90. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -1
  91. package/dist/esm/providers/WalletProvider.mjs +1 -1
  92. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  93. package/dist/esm/tron.mjs +6 -0
  94. package/dist/esm/tron.mjs.map +1 -0
  95. package/dist/esm/tron.native.js +6 -0
  96. package/dist/esm/tron.native.js.map +1 -0
  97. package/dist/esm/wagmi/host.mjs +9 -4
  98. package/dist/esm/wagmi/host.mjs.map +1 -1
  99. package/dist/esm/wagmi/host.native.js +6 -3
  100. package/dist/esm/wagmi/host.native.js.map +1 -1
  101. package/dist/jsx/clients/tron.mjs +133 -0
  102. package/dist/jsx/clients/tron.mjs.map +1 -0
  103. package/dist/jsx/clients/tron.native.js +318 -0
  104. package/dist/jsx/clients/tron.native.js.map +1 -0
  105. package/dist/jsx/clients/useTronClient.mjs +25 -0
  106. package/dist/jsx/clients/useTronClient.mjs.map +1 -0
  107. package/dist/jsx/clients/useTronClient.native.js +63 -0
  108. package/dist/jsx/clients/useTronClient.native.js.map +1 -0
  109. package/dist/jsx/connectkit/adapters/TronAdapter.mjs +111 -0
  110. package/dist/jsx/connectkit/adapters/TronAdapter.mjs.map +1 -0
  111. package/dist/jsx/connectkit/adapters/TronAdapter.native.js +217 -0
  112. package/dist/jsx/connectkit/adapters/TronAdapter.native.js.map +1 -0
  113. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +3 -3
  114. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs.map +1 -1
  115. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +3 -3
  116. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  117. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs +2 -1
  118. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.mjs.map +1 -1
  119. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js +18 -35
  120. package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
  121. package/dist/jsx/connectkit/connectors/syntheticChains.mjs +8 -4
  122. package/dist/jsx/connectkit/connectors/syntheticChains.mjs.map +1 -1
  123. package/dist/jsx/connectkit/connectors/syntheticChains.native.js +10 -4
  124. package/dist/jsx/connectkit/connectors/syntheticChains.native.js.map +1 -1
  125. package/dist/jsx/connectkit/defaultConfig.mjs +2 -1
  126. package/dist/jsx/connectkit/defaultConfig.mjs.map +1 -1
  127. package/dist/jsx/connectkit/defaultConfig.native.js +2 -1
  128. package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
  129. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  130. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  131. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -16
  132. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  133. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +26 -16
  134. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  135. package/dist/jsx/connectkit/wallets/walletConfigs.mjs +12 -0
  136. package/dist/jsx/connectkit/wallets/walletConfigs.mjs.map +1 -1
  137. package/dist/jsx/connectkit/wallets/walletConfigs.native.js +12 -0
  138. package/dist/jsx/connectkit/wallets/walletConfigs.native.js.map +1 -1
  139. package/dist/jsx/families/host.mjs.map +1 -1
  140. package/dist/jsx/families/host.native.js.map +1 -1
  141. package/dist/jsx/families/tron.mjs +65 -0
  142. package/dist/jsx/families/tron.mjs.map +1 -0
  143. package/dist/jsx/families/tron.native.js +120 -0
  144. package/dist/jsx/families/tron.native.js.map +1 -0
  145. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +33 -3
  146. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -1
  147. package/dist/jsx/keycloak/useWalletLogin.mjs +3 -2
  148. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -1
  149. package/dist/jsx/providers/WalletProvider.mjs +1 -1
  150. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  151. package/dist/jsx/tron.mjs +6 -0
  152. package/dist/jsx/tron.mjs.map +1 -0
  153. package/dist/jsx/tron.native.js +49 -0
  154. package/dist/jsx/tron.native.js.map +1 -0
  155. package/dist/jsx/wagmi/host.mjs +9 -4
  156. package/dist/jsx/wagmi/host.mjs.map +1 -1
  157. package/dist/jsx/wagmi/host.native.js +6 -3
  158. package/dist/jsx/wagmi/host.native.js.map +1 -1
  159. package/dist/keycloak/login.iife.js +399 -399
  160. package/package.json +13 -7
  161. package/src/clients/tron.spec.ts +118 -0
  162. package/src/clients/tron.ts +186 -0
  163. package/src/clients/useTronClient.ts +26 -0
  164. package/src/connectkit/adapters/TronAdapter.spec.ts +155 -0
  165. package/src/connectkit/adapters/TronAdapter.ts +168 -0
  166. package/src/connectkit/adapters/discover.ts +1 -1
  167. package/src/connectkit/connectors/createWalletMessage.ts +3 -3
  168. package/src/connectkit/connectors/ensureWalletConnectors.ts +2 -1
  169. package/src/connectkit/connectors/syntheticChains.ts +8 -2
  170. package/src/connectkit/defaultConfig.ts +5 -2
  171. package/src/connectkit/siwe/SIWEContext.tsx +2 -0
  172. package/src/connectkit/siwe/SIWEProvider.tsx +23 -10
  173. package/src/connectkit/wallets/walletConfigs.tsx +8 -0
  174. package/src/families/host.ts +9 -2
  175. package/src/families/tron.spec.ts +118 -0
  176. package/src/families/tron.ts +63 -0
  177. package/src/keycloak/KeycloakWalletLogin.spec.tsx +110 -0
  178. package/src/keycloak/KeycloakWalletLogin.stories.tsx +93 -0
  179. package/src/keycloak/KeycloakWalletLogin.tsx +39 -2
  180. package/src/keycloak/useWalletLogin.ts +5 -1
  181. package/src/providers/WalletProvider.tsx +1 -1
  182. package/src/tron.ts +26 -0
  183. package/src/wagmi/host.tsx +6 -2
  184. package/types/clients/tron.d.ts +65 -0
  185. package/types/clients/tron.d.ts.map +1 -0
  186. package/types/clients/useTronClient.d.ts +8 -0
  187. package/types/clients/useTronClient.d.ts.map +1 -0
  188. package/types/connectkit/adapters/TronAdapter.d.ts +35 -0
  189. package/types/connectkit/adapters/TronAdapter.d.ts.map +1 -0
  190. package/types/connectkit/adapters/discover.d.ts +1 -1
  191. package/types/connectkit/adapters/discover.d.ts.map +1 -1
  192. package/types/connectkit/connectors/ensureWalletConnectors.d.ts.map +1 -1
  193. package/types/connectkit/connectors/syntheticChains.d.ts +4 -0
  194. package/types/connectkit/connectors/syntheticChains.d.ts.map +1 -1
  195. package/types/connectkit/defaultConfig.d.ts.map +1 -1
  196. package/types/connectkit/siwe/SIWEContext.d.ts +2 -0
  197. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  198. package/types/connectkit/siwe/SIWEProvider.d.ts +0 -6
  199. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  200. package/types/connectkit/wallets/walletConfigs.d.ts.map +1 -1
  201. package/types/families/host.d.ts +9 -2
  202. package/types/families/host.d.ts.map +1 -1
  203. package/types/families/tron.d.ts +15 -0
  204. package/types/families/tron.d.ts.map +1 -0
  205. package/types/keycloak/KeycloakWalletLogin.d.ts +6 -1
  206. package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -1
  207. package/types/keycloak/useWalletLogin.d.ts +2 -0
  208. package/types/keycloak/useWalletLogin.d.ts.map +1 -1
  209. package/types/tron.d.ts +5 -0
  210. package/types/tron.d.ts.map +1 -0
  211. package/types/wagmi/host.d.ts.map +1 -1
@@ -0,0 +1,272 @@
1
+ import bs58 from "bs58";
2
+ import { bytesToHex, hexToBytes, hexToString, sha256 } from "viem";
3
+ function _assert_this_initialized(self) {
4
+ if (self === void 0) {
5
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
6
+ }
7
+ return self;
8
+ }
9
+ function _call_super(_this, derived, args) {
10
+ derived = _get_prototype_of(derived);
11
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
12
+ }
13
+ function _class_call_check(instance, Constructor) {
14
+ if (!(instance instanceof Constructor)) {
15
+ throw new TypeError("Cannot call a class as a function");
16
+ }
17
+ }
18
+ function _construct(Parent, args, Class) {
19
+ if (_is_native_reflect_construct()) {
20
+ _construct = Reflect.construct;
21
+ } else {
22
+ _construct = function construct(Parent2, args2, Class2) {
23
+ var a = [null];
24
+ a.push.apply(a, args2);
25
+ var Constructor = Function.bind.apply(Parent2, a);
26
+ var instance = new Constructor();
27
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
28
+ return instance;
29
+ };
30
+ }
31
+ return _construct.apply(null, arguments);
32
+ }
33
+ function _define_property(obj, key, value) {
34
+ if (key in obj) {
35
+ Object.defineProperty(obj, key, {
36
+ value,
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true
40
+ });
41
+ } else {
42
+ obj[key] = value;
43
+ }
44
+ return obj;
45
+ }
46
+ function _get_prototype_of(o) {
47
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
48
+ return o2.__proto__ || Object.getPrototypeOf(o2);
49
+ };
50
+ return _get_prototype_of(o);
51
+ }
52
+ function _inherits(subClass, superClass) {
53
+ if (typeof superClass !== "function" && superClass !== null) {
54
+ throw new TypeError("Super expression must either be null or a function");
55
+ }
56
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
57
+ constructor: {
58
+ value: subClass,
59
+ writable: true,
60
+ configurable: true
61
+ }
62
+ });
63
+ if (superClass) _set_prototype_of(subClass, superClass);
64
+ }
65
+ function _is_native_function(fn) {
66
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
67
+ }
68
+ function _possible_constructor_return(self, call) {
69
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
70
+ return call;
71
+ }
72
+ return _assert_this_initialized(self);
73
+ }
74
+ function _set_prototype_of(o, p) {
75
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
76
+ o2.__proto__ = p2;
77
+ return o2;
78
+ };
79
+ return _set_prototype_of(o, p);
80
+ }
81
+ function _type_of(obj) {
82
+ "@swc/helpers - typeof";
83
+
84
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
85
+ }
86
+ function _wrap_native_super(Class) {
87
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
88
+ _wrap_native_super = function wrapNativeSuper(Class2) {
89
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
90
+ if (typeof Class2 !== "function") {
91
+ throw new TypeError("Super expression must either be null or a function");
92
+ }
93
+ if (typeof _cache !== "undefined") {
94
+ if (_cache.has(Class2)) return _cache.get(Class2);
95
+ _cache.set(Class2, Wrapper);
96
+ }
97
+ function Wrapper() {
98
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
99
+ }
100
+ Wrapper.prototype = Object.create(Class2.prototype, {
101
+ constructor: {
102
+ value: Wrapper,
103
+ enumerable: false,
104
+ writable: true,
105
+ configurable: true
106
+ }
107
+ });
108
+ return _set_prototype_of(Wrapper, Class2);
109
+ };
110
+ return _wrap_native_super(Class);
111
+ }
112
+ function _is_native_reflect_construct() {
113
+ try {
114
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
115
+ } catch (_) {}
116
+ return (_is_native_reflect_construct = function () {
117
+ return !!result;
118
+ })();
119
+ }
120
+ var tronGridUrls = Object.freeze({
121
+ mainnet: "https://api.trongrid.io",
122
+ nile: "https://nile.trongrid.io",
123
+ shasta: "https://api.shasta.trongrid.io"
124
+ });
125
+ var tronPrefix = 65;
126
+ var checksumOf = function checksumOf2(payload) {
127
+ return sha256(sha256(payload, "bytes"), "bytes").slice(0, 4);
128
+ };
129
+ function tronAddressBytes(address) {
130
+ var value = address.trim();
131
+ if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {
132
+ var bytes = hexToBytes(value.startsWith("0x") ? value : `0x${value}`);
133
+ if (bytes.length === 20) return Uint8Array.of(tronPrefix, ...bytes);
134
+ if (bytes.length === 21 && bytes[0] === tronPrefix) return bytes;
135
+ throw new Error(`not a Tron address: ${address}`);
136
+ }
137
+ var decoded;
138
+ try {
139
+ decoded = bs58.decode(value);
140
+ } catch (unused) {
141
+ throw new Error(`not a Tron address: ${address}`);
142
+ }
143
+ if (decoded.length !== 25 || decoded[0] !== tronPrefix) {
144
+ throw new Error(`not a Tron address: ${address}`);
145
+ }
146
+ var payload = decoded.slice(0, 21);
147
+ var checksum = checksumOf(payload);
148
+ if (!checksum.every(function (byte, index) {
149
+ return byte === decoded[21 + index];
150
+ })) {
151
+ throw new Error(`Tron address checksum mismatch: ${address}`);
152
+ }
153
+ return payload;
154
+ }
155
+ function toTronBase58(address) {
156
+ var payload = tronAddressBytes(address);
157
+ return bs58.encode(Uint8Array.of(...payload, ...checksumOf(payload)));
158
+ }
159
+ function toTronHex(address) {
160
+ return bytesToHex(tronAddressBytes(address)).slice(2);
161
+ }
162
+ function isTronAddress(address) {
163
+ try {
164
+ tronAddressBytes(address);
165
+ return true;
166
+ } catch (unused) {
167
+ return false;
168
+ }
169
+ }
170
+ var TronGridError = /* @__PURE__ */function (Error1) {
171
+ "use strict";
172
+
173
+ _inherits(TronGridError2, Error1);
174
+ function TronGridError2(message, status) {
175
+ _class_call_check(this, TronGridError2);
176
+ var _this;
177
+ _this = _call_super(this, TronGridError2, [message]), _define_property(_this, "status", void 0);
178
+ _this.name = "TronGridError";
179
+ _this.status = status;
180
+ return _this;
181
+ }
182
+ return TronGridError2;
183
+ }(_wrap_native_super(Error));
184
+ function decodeMessage(message) {
185
+ if (!message) return void 0;
186
+ if (!/^[0-9a-fA-F]+$/.test(message) || message.length % 2) return message;
187
+ try {
188
+ return hexToString(`0x${message}`);
189
+ } catch (unused) {
190
+ return message;
191
+ }
192
+ }
193
+ async function readTrc20Balance(parameters) {
194
+ var _parameters_fetch;
195
+ var _body_constant_result, _body_result;
196
+ var {
197
+ token,
198
+ owner,
199
+ network = "mainnet",
200
+ apiUrl,
201
+ apiKey,
202
+ signal
203
+ } = parameters;
204
+ var request = (_parameters_fetch = parameters.fetch) !== null && _parameters_fetch !== void 0 ? _parameters_fetch : globalThis.fetch;
205
+ var ownerBytes = tronAddressBytes(owner);
206
+ var base = (apiUrl !== null && apiUrl !== void 0 ? apiUrl : tronGridUrls[network]).replace(/\/+$/, "");
207
+ var response = await request(`${base}/wallet/triggerconstantcontract`, {
208
+ method: "POST",
209
+ headers: {
210
+ accept: "application/json",
211
+ "content-type": "application/json",
212
+ ...(apiKey ? {
213
+ "TRON-PRO-API-KEY": apiKey
214
+ } : {})
215
+ },
216
+ body: JSON.stringify({
217
+ owner_address: toTronBase58(owner),
218
+ contract_address: toTronBase58(token),
219
+ function_selector: "balanceOf(address)",
220
+ parameter: bytesToHex(ownerBytes.slice(1)).slice(2).padStart(64, "0"),
221
+ visible: true
222
+ }),
223
+ ...(signal ? {
224
+ signal
225
+ } : {})
226
+ });
227
+ if (!response.ok) {
228
+ throw new TronGridError(`TronGrid answered ${response.status} for balanceOf`, response.status);
229
+ }
230
+ var body = await response.json();
231
+ var word = (_body_constant_result = body.constant_result) === null || _body_constant_result === void 0 ? void 0 : _body_constant_result[0];
232
+ if (!((_body_result = body.result) === null || _body_result === void 0 ? void 0 : _body_result.result) || word === void 0) {
233
+ var _ref, _decodeMessage;
234
+ var _body_result1, _body_result2;
235
+ 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;
236
+ throw new TronGridError(`TronGrid balanceOf failed${reason ? `: ${reason}` : ""}`);
237
+ }
238
+ return word === "" ? 0n : BigInt(`0x${word}`);
239
+ }
240
+ var capabilities = ["signMessage"];
241
+ function tronClient(adapter) {
242
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
243
+ var _options_network;
244
+ if (!adapter.address) throw new Error("tronClient: connect a Tron wallet first");
245
+ var address = adapter.address;
246
+ var network = (_options_network = options.network) !== null && _options_network !== void 0 ? _options_network : "mainnet";
247
+ return {
248
+ family: "tron",
249
+ address,
250
+ chainId: "tron",
251
+ network,
252
+ capabilities,
253
+ signMessage: function signMessage(message) {
254
+ return adapter.signMessage(message);
255
+ },
256
+ trc20Balance: function trc20Balance(token) {
257
+ var owner = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : address,
258
+ signal = arguments.length > 2 ? arguments[2] : void 0;
259
+ return readTrc20Balance({
260
+ ...options,
261
+ network,
262
+ token,
263
+ owner,
264
+ ...(signal ? {
265
+ signal
266
+ } : {})
267
+ });
268
+ }
269
+ };
270
+ }
271
+ export { TronGridError, isTronAddress, readTrc20Balance, toTronBase58, toTronHex, tronAddressBytes, tronClient, tronGridUrls };
272
+ //# sourceMappingURL=tron.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bs58","bytesToHex","hexToBytes","hexToString","sha256","_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","obj","key","value","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,25 @@
1
+ import { useMemo } from "react";
2
+ import { useAccount } from "wagmi";
3
+ import { connectorAdapter } from "./adapter.mjs";
4
+ import { useOptionalConnection } from "../core/react.mjs";
5
+ import { TronAdapter } from "../connectkit/adapters/TronAdapter.mjs";
6
+ import { tronClient } from "./tron.mjs";
7
+ function useTronClient() {
8
+ const connection = useOptionalConnection();
9
+ const {
10
+ connector,
11
+ address
12
+ } = useAccount();
13
+ return useMemo(() => {
14
+ if (connection) {
15
+ return connection.family === "tron" ? connection.client ?? void 0 : void 0;
16
+ }
17
+ const adapter = connectorAdapter(connector, "tron");
18
+ if (!adapter?.address) return void 0;
19
+ return tronClient(adapter, adapter instanceof TronAdapter ? {
20
+ network: adapter.network
21
+ } : {});
22
+ }, [connection, connector, address]);
23
+ }
24
+ export { useTronClient };
25
+ //# sourceMappingURL=useTronClient.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAccount","connectorAdapter","useOptionalConnection","TronAdapter","tronClient","useTronClient","connection","connector","address","family","client","adapter","network"],"sources":["../../../src/clients/useTronClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,UAAA,QAAkB;AAC3B,SAASC,gBAAA,QAAwB;AACjC,SAASC,qBAAA,QAA6B;AACtC,SAASC,WAAA,QAAmB;AAC5B,SAASC,UAAA,QAAmC;AAOrC,SAASC,cAAA,EAAwC;EACtD,MAAMC,UAAA,GAAaJ,qBAAA,CAAsB;EACzC,MAAM;IAAEK,SAAA;IAAWC;EAAQ,IAAIR,UAAA,CAAW;EAC1C,OAAOD,OAAA,CAAQ,MAAM;IACnB,IAAIO,UAAA,EAAY;MACd,OAAOA,UAAA,CAAWG,MAAA,KAAW,SACvBH,UAAA,CAAWI,MAAA,IAAgC,SAC7C;IACN;IACA,MAAMC,OAAA,GAAUV,gBAAA,CAAiBM,SAAA,EAAW,MAAM;IAClD,IAAI,CAACI,OAAA,EAASH,OAAA,EAAS,OAAO;IAC9B,OAAOJ,UAAA,CAAWO,OAAA,EAASA,OAAA,YAAmBR,WAAA,GAAc;MAAES,OAAA,EAASD,OAAA,CAAQC;IAAQ,IAAI,CAAC,CAAC;EAC/F,GAAG,CAACN,UAAA,EAAYC,SAAA,EAAWC,OAAO,CAAC;AACrC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ import { useMemo } from "react";
2
+ import { useAccount } from "wagmi";
3
+ import { connectorAdapter } from "./adapter.native.js";
4
+ import { useOptionalConnection } from "../core/react.native.js";
5
+ import { TronAdapter } from "../connectkit/adapters/TronAdapter.native.js";
6
+ import { tronClient } from "./tron.native.js";
7
+ function _instanceof(left, right) {
8
+ "@swc/helpers - instanceof";
9
+
10
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
11
+ return !!right[Symbol.hasInstance](left);
12
+ } else {
13
+ return left instanceof right;
14
+ }
15
+ }
16
+ function useTronClient() {
17
+ var connection = useOptionalConnection();
18
+ var {
19
+ connector,
20
+ address
21
+ } = useAccount();
22
+ return useMemo(function () {
23
+ if (connection) {
24
+ var _connection_client;
25
+ return connection.family === "tron" ? (_connection_client = connection.client) !== null && _connection_client !== void 0 ? _connection_client : void 0 : void 0;
26
+ }
27
+ var adapter = connectorAdapter(connector, "tron");
28
+ if (!(adapter === null || adapter === void 0 ? void 0 : adapter.address)) return void 0;
29
+ return tronClient(adapter, _instanceof(adapter, TronAdapter) ? {
30
+ network: adapter.network
31
+ } : {});
32
+ }, [connection, connector, address]);
33
+ }
34
+ export { useTronClient };
35
+ //# sourceMappingURL=useTronClient.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAccount","connectorAdapter","useOptionalConnection","TronAdapter","tronClient","_instanceof","left","right","Symbol","hasInstance","useTronClient","connection","connector","address"],"sources":["../../../src/clients/useTronClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,UAAA,QAAkB;AAC3B,SAASC,gBAAA,QAAwB;AACjC,SAASC,qBAAA,QAA6B;AACtC,SAASC,WAAA,QAAmB;AAC5B,SAASC,UAAA,QAAmC;AAOrC,SAASC,YAAAC,IAAwC,EAAAC,KAAA;EACtD,2BAAmB;;EACnB,IAAAA,KAAQ,YAAW,OAAQC,MAAI,gBAAW,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAC1C,OAAO,EAAAF,KAAQ,CAAAC,MAAM,CAAAC,WAAA,EAAAH,IAAA;EACnB,OAAI;IACF,OAAAA,IAAO,YAAWC,KAAA;EAEd;AAEN;AACA,SAAKG,aAASA,CAAA;EACd,IAAAC,UAAO,GAAAT,qBAAoB;EAC7B,IAAI;IAAAU,SAAA;IAAYC;EAAA,IAAWb,UAAQ;EACrC,OAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ const page = () => typeof window === "undefined" ? void 0 : window;
2
+ const tronWebOf = w => w.tron?.tronWeb || w.tronLink?.tronWeb || w.tronWeb || void 0;
3
+ const accountOf = w => tronWebOf(w)?.defaultAddress?.base58 || null;
4
+ function tronNetworkOf(host) {
5
+ if (host?.includes("nile")) return "nile";
6
+ if (host?.includes("shasta")) return "shasta";
7
+ return "mainnet";
8
+ }
9
+ function hasTronWallet() {
10
+ const w = page();
11
+ return Boolean(w?.tron || w?.tronLink);
12
+ }
13
+ class TronAdapter {
14
+ chain = "tron";
15
+ address = null;
16
+ isConnected = false;
17
+ get network() {
18
+ const w = page();
19
+ return tronNetworkOf(w ? tronWebOf(w)?.fullNode?.host : void 0);
20
+ }
21
+ get networkId() {
22
+ return `tron:${this.network}`;
23
+ }
24
+ async connect() {
25
+ const w = page();
26
+ if (!w?.tron && !w?.tronLink) {
27
+ throw new Error("No Tron wallet found. Install TronLink.");
28
+ }
29
+ if (w.tron) {
30
+ await w.tron.request({
31
+ method: "eth_requestAccounts"
32
+ });
33
+ } else if (w.tronLink) {
34
+ const answer = await w.tronLink.request({
35
+ method: "tron_requestAccounts"
36
+ });
37
+ if (!answer) throw new Error("TronLink is locked. Unlock it and try again.");
38
+ if (answer.code !== void 0 && answer.code !== 200) {
39
+ throw new Error(answer.message || "TronLink refused the connection");
40
+ }
41
+ }
42
+ const address = accountOf(w);
43
+ if (!address) throw new Error("TronLink returned no account");
44
+ this.address = address;
45
+ this.isConnected = true;
46
+ }
47
+ /**
48
+ * Takes the account TronLink already shares with this page, without a
49
+ * prompt. False when it shares none; throws while TronLink has not
50
+ * injected itself yet.
51
+ */
52
+ async restore() {
53
+ const w = page();
54
+ if (!w?.tron && !w?.tronLink && !w?.tronWeb) throw new Error("No Tron wallet found yet.");
55
+ const address = accountOf(w);
56
+ this.address = address;
57
+ this.isConnected = address !== null;
58
+ return address !== null;
59
+ }
60
+ /** TronLink's account switches and disconnects; the account is read back from tronWeb on each. */
61
+ subscribe(listener) {
62
+ const w = page();
63
+ if (!w) return () => {};
64
+ const update = () => {
65
+ const address = accountOf(w);
66
+ this.address = address;
67
+ this.isConnected = address !== null;
68
+ listener();
69
+ };
70
+ const provider = w.tron;
71
+ if (provider?.on) {
72
+ const onAccounts = () => update();
73
+ provider.on("accountsChanged", onAccounts);
74
+ return () => provider.removeListener?.("accountsChanged", onAccounts);
75
+ }
76
+ if (typeof w.addEventListener !== "function") return () => {};
77
+ const onMessage = event => {
78
+ const action = event.data?.message?.action;
79
+ if (action === "accountsChanged" || action === "setAccount" || action === "disconnect" || action === "disconnectWeb") {
80
+ update();
81
+ }
82
+ };
83
+ w.addEventListener("message", onMessage);
84
+ return () => w.removeEventListener?.("message", onMessage);
85
+ }
86
+ async disconnect() {
87
+ this.address = null;
88
+ this.isConnected = false;
89
+ }
90
+ async buildMessage(_opts) {
91
+ throw new Error("Tron sign-in is not supported yet");
92
+ }
93
+ /** TronLink's `signMessageV2`: the 0x hex signature over the TIP-191 prefixed message. */
94
+ async signMessage(message) {
95
+ const w = page();
96
+ const tronWeb = w ? tronWebOf(w) : void 0;
97
+ if (!this.address || !tronWeb) throw new Error("connect a Tron wallet first");
98
+ return tronWeb.trx.signMessageV2(message);
99
+ }
100
+ }
101
+ function discoverTronWallets() {
102
+ if (!hasTronWallet()) return [];
103
+ return [{
104
+ id: "wallet:tron:tronlink",
105
+ name: "TronLink",
106
+ ecosystem: "tron",
107
+ adapter: new TronAdapter()
108
+ }];
109
+ }
110
+ export { TronAdapter, discoverTronWallets, hasTronWallet, tronNetworkOf };
111
+ //# sourceMappingURL=TronAdapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["page","window","tronWebOf","w","tron","tronWeb","tronLink","accountOf","defaultAddress","base58","tronNetworkOf","host","includes","hasTronWallet","Boolean","TronAdapter","chain","address","isConnected","network","fullNode","networkId","connect","Error","request","method","answer","code","message","restore","subscribe","listener","update","provider","on","onAccounts","removeListener","addEventListener","onMessage","event","action","data","removeEventListener","disconnect","buildMessage","_opts","signMessage","trx","signMessageV2","discoverTronWallets","id","name","ecosystem","adapter"],"sources":["../../../../src/connectkit/adapters/TronAdapter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,186 @@
1
+ function _class_call_check(instance, Constructor) {
2
+ if (!(instance instanceof Constructor)) {
3
+ throw new TypeError("Cannot call a class as a function");
4
+ }
5
+ }
6
+ function _defineProperties(target, props) {
7
+ for (var i = 0; i < props.length; i++) {
8
+ var descriptor = props[i];
9
+ descriptor.enumerable = descriptor.enumerable || false;
10
+ descriptor.configurable = true;
11
+ if ("value" in descriptor) descriptor.writable = true;
12
+ Object.defineProperty(target, descriptor.key, descriptor);
13
+ }
14
+ }
15
+ function _create_class(Constructor, protoProps, staticProps) {
16
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17
+ if (staticProps) _defineProperties(Constructor, staticProps);
18
+ return Constructor;
19
+ }
20
+ function _define_property(obj, key, value) {
21
+ if (key in obj) {
22
+ Object.defineProperty(obj, key, {
23
+ value,
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true
27
+ });
28
+ } else {
29
+ obj[key] = value;
30
+ }
31
+ return obj;
32
+ }
33
+ var page = function page2() {
34
+ return typeof window === "undefined" ? void 0 : window;
35
+ };
36
+ var tronWebOf = function tronWebOf2(w) {
37
+ var _w_tron, _w_tronLink;
38
+ return ((_w_tron = w.tron) === null || _w_tron === void 0 ? void 0 : _w_tron.tronWeb) || ((_w_tronLink = w.tronLink) === null || _w_tronLink === void 0 ? void 0 : _w_tronLink.tronWeb) || w.tronWeb || void 0;
39
+ };
40
+ var accountOf = function accountOf2(w) {
41
+ var _tronWebOf_defaultAddress, _tronWebOf;
42
+ return ((_tronWebOf = tronWebOf(w)) === null || _tronWebOf === void 0 ? void 0 : (_tronWebOf_defaultAddress = _tronWebOf.defaultAddress) === null || _tronWebOf_defaultAddress === void 0 ? void 0 : _tronWebOf_defaultAddress.base58) || null;
43
+ };
44
+ function tronNetworkOf(host) {
45
+ if (host === null || host === void 0 ? void 0 : host.includes("nile")) return "nile";
46
+ if (host === null || host === void 0 ? void 0 : host.includes("shasta")) return "shasta";
47
+ return "mainnet";
48
+ }
49
+ function hasTronWallet() {
50
+ var w = page();
51
+ return Boolean((w === null || w === void 0 ? void 0 : w.tron) || (w === null || w === void 0 ? void 0 : w.tronLink));
52
+ }
53
+ var TronAdapter = /* @__PURE__ */function () {
54
+ "use strict";
55
+
56
+ function TronAdapter2() {
57
+ _class_call_check(this, TronAdapter2);
58
+ _define_property(this, "chain", "tron");
59
+ _define_property(this, "address", null);
60
+ _define_property(this, "isConnected", false);
61
+ }
62
+ _create_class(TronAdapter2, [{
63
+ key: "network",
64
+ get: function get() {
65
+ var _tronWebOf_fullNode, _tronWebOf;
66
+ var w = page();
67
+ return tronNetworkOf(w ? (_tronWebOf = tronWebOf(w)) === null || _tronWebOf === void 0 ? void 0 : (_tronWebOf_fullNode = _tronWebOf.fullNode) === null || _tronWebOf_fullNode === void 0 ? void 0 : _tronWebOf_fullNode.host : void 0);
68
+ }
69
+ }, {
70
+ key: "networkId",
71
+ get: function get() {
72
+ return `tron:${this.network}`;
73
+ }
74
+ }, {
75
+ key: "connect",
76
+ value: async function connect() {
77
+ var w = page();
78
+ if (!(w === null || w === void 0 ? void 0 : w.tron) && !(w === null || w === void 0 ? void 0 : w.tronLink)) {
79
+ throw new Error("No Tron wallet found. Install TronLink.");
80
+ }
81
+ if (w.tron) {
82
+ await w.tron.request({
83
+ method: "eth_requestAccounts"
84
+ });
85
+ } else if (w.tronLink) {
86
+ var answer = await w.tronLink.request({
87
+ method: "tron_requestAccounts"
88
+ });
89
+ if (!answer) throw new Error("TronLink is locked. Unlock it and try again.");
90
+ if (answer.code !== void 0 && answer.code !== 200) {
91
+ throw new Error(answer.message || "TronLink refused the connection");
92
+ }
93
+ }
94
+ var address = accountOf(w);
95
+ if (!address) throw new Error("TronLink returned no account");
96
+ this.address = address;
97
+ this.isConnected = true;
98
+ }
99
+ }, {
100
+ key: "restore",
101
+ value: (
102
+ /**
103
+ * Takes the account TronLink already shares with this page, without a
104
+ * prompt. False when it shares none; throws while TronLink has not
105
+ * injected itself yet.
106
+ */
107
+ async function restore() {
108
+ var w = page();
109
+ if (!(w === null || w === void 0 ? void 0 : w.tron) && !(w === null || w === void 0 ? void 0 : w.tronLink) && !(w === null || w === void 0 ? void 0 : w.tronWeb)) throw new Error("No Tron wallet found yet.");
110
+ var address = accountOf(w);
111
+ this.address = address;
112
+ this.isConnected = address !== null;
113
+ return address !== null;
114
+ })
115
+ }, {
116
+ /** TronLink's account switches and disconnects; the account is read back from tronWeb on each. */
117
+ key: "subscribe",
118
+ value: function subscribe(listener) {
119
+ var _this = this;
120
+ var w = page();
121
+ if (!w) return function () {};
122
+ var update = function update2() {
123
+ var address = accountOf(w);
124
+ _this.address = address;
125
+ _this.isConnected = address !== null;
126
+ listener();
127
+ };
128
+ var provider = w.tron;
129
+ if (provider === null || provider === void 0 ? void 0 : provider.on) {
130
+ var onAccounts = function onAccounts2() {
131
+ return update();
132
+ };
133
+ provider.on("accountsChanged", onAccounts);
134
+ return function () {
135
+ var _provider_removeListener;
136
+ return (_provider_removeListener = provider.removeListener) === null || _provider_removeListener === void 0 ? void 0 : _provider_removeListener.call(provider, "accountsChanged", onAccounts);
137
+ };
138
+ }
139
+ if (typeof w.addEventListener !== "function") return function () {};
140
+ var onMessage = function onMessage2(event) {
141
+ var _event_data_message, _event_data;
142
+ var action = (_event_data = event.data) === null || _event_data === void 0 ? void 0 : (_event_data_message = _event_data.message) === null || _event_data_message === void 0 ? void 0 : _event_data_message.action;
143
+ if (action === "accountsChanged" || action === "setAccount" || action === "disconnect" || action === "disconnectWeb") {
144
+ update();
145
+ }
146
+ };
147
+ w.addEventListener("message", onMessage);
148
+ return function () {
149
+ var _w_removeEventListener;
150
+ return (_w_removeEventListener = w.removeEventListener) === null || _w_removeEventListener === void 0 ? void 0 : _w_removeEventListener.call(w, "message", onMessage);
151
+ };
152
+ }
153
+ }, {
154
+ key: "disconnect",
155
+ value: async function disconnect() {
156
+ this.address = null;
157
+ this.isConnected = false;
158
+ }
159
+ }, {
160
+ key: "buildMessage",
161
+ value: async function buildMessage(_opts) {
162
+ throw new Error("Tron sign-in is not supported yet");
163
+ }
164
+ }, {
165
+ key: "signMessage",
166
+ value: (/** TronLink's `signMessageV2`: the 0x hex signature over the TIP-191 prefixed message. */
167
+ async function signMessage(message) {
168
+ var w = page();
169
+ var tronWeb = w ? tronWebOf(w) : void 0;
170
+ if (!this.address || !tronWeb) throw new Error("connect a Tron wallet first");
171
+ return tronWeb.trx.signMessageV2(message);
172
+ })
173
+ }]);
174
+ return TronAdapter2;
175
+ }();
176
+ function discoverTronWallets() {
177
+ if (!hasTronWallet()) return [];
178
+ return [{
179
+ id: "wallet:tron:tronlink",
180
+ name: "TronLink",
181
+ ecosystem: "tron",
182
+ adapter: new TronAdapter()
183
+ }];
184
+ }
185
+ export { TronAdapter, discoverTronWallets, hasTronWallet, tronNetworkOf };
186
+ //# sourceMappingURL=TronAdapter.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","page","page2","window","tronWebOf","tronWebOf2","w","_w_tron","_w_tronLink","tron","tronWeb","tronLink","accountOf","accountOf2","_tronWebOf_defaultAddress","_tronWebOf","defaultAddress","base58","tronNetworkOf","host","includes","hasTronWallet","Boolean","TronAdapter","TronAdapter2","get","_tronWebOf_fullNode","fullNode","network","connect","Error","request","method","answer","code","message","address","isConnected"],"sources":["../../../../src/connectkit/adapters/TronAdapter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}