@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
@@ -34,7 +34,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
34
  var KeycloakWalletLogin_exports = {};
35
35
  __export(KeycloakWalletLogin_exports, {
36
36
  KeycloakWalletLogin: () => KeycloakWalletLogin,
37
- createKeycloakWalletConfig: () => createKeycloakWalletConfig
37
+ createKeycloakWalletConfig: () => createKeycloakWalletConfig,
38
+ walletLoginFailureMessage: () => walletLoginFailureMessage
38
39
  });
39
40
  module.exports = __toCommonJS(KeycloakWalletLogin_exports);
40
41
  var import_connectkit = require("@multiplatform.one/connectkit");
@@ -50,6 +51,7 @@ var import_SIWEContext = require("../connectkit/siwe/SIWEContext.cjs");
50
51
  var import_useWeb3Modal = require("../connectkit/useWeb3Modal.cjs");
51
52
  var import_web3Provider = require("../connectkit/web3Provider.cjs");
52
53
  var import_keycloakWallet = require("./keycloakWallet.cjs");
54
+ var import_types = require("./types.cjs");
53
55
  var import_useWalletLogin = require("./useWalletLogin.cjs");
54
56
  var import_jsx_runtime = require("react/jsx-runtime");
55
57
  const defaultChains = [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum];
@@ -96,6 +98,26 @@ const noticeStyle = {
96
98
  margin: "8px 0 0",
97
99
  fontSize: 13
98
100
  };
101
+ const hiddenNoticeStyle = {
102
+ margin: 0
103
+ };
104
+ const errorStyle = {
105
+ ...noticeStyle,
106
+ colorScheme: "light dark",
107
+ color: "light-dark(#dc3e42, #ec5d5e)"
108
+ };
109
+ const declinedMessage = "You declined the signature. Try again.";
110
+ const unreachableMessage = "Couldn't reach the sign-in server. Try again.";
111
+ const failedMessage = "Couldn't sign in. Try again.";
112
+ function walletLoginFailureMessage(status, error) {
113
+ if (status === import_SIWEContext.StatusState.REJECTED) return declinedMessage;
114
+ if (status !== import_SIWEContext.StatusState.ERROR) return void 0;
115
+ if (error instanceof TypeError) return unreachableMessage;
116
+ if (error instanceof import_types.KeycloakWalletError && (error.status < 300 || error.status >= 500)) {
117
+ return unreachableMessage;
118
+ }
119
+ return failedMessage;
120
+ }
99
121
  const themedNoticeStyle = {
100
122
  ...noticeStyle,
101
123
  color: "var(--ck-body-color)"
@@ -181,18 +203,21 @@ function LoginButtons({
181
203
  walletLabel = "Sign in with Wallet",
182
204
  gpgLabel = "Sign in with GPG",
183
205
  className,
184
- buttonClassName
206
+ buttonClassName,
207
+ errorClassName
185
208
  }) {
186
209
  const {
187
210
  login,
188
211
  status,
189
- dropped
212
+ dropped,
213
+ error
190
214
  } = (0, import_useWalletLogin.useWalletLogin)();
191
215
  const {
192
216
  openGpg
193
217
  } = (0, import_useWeb3Modal.useWeb3Modal)();
194
218
  const style = buttonClassName ? void 0 : buttonStyle;
195
219
  const busy = status === import_SIWEContext.StatusState.LOADING || status === import_SIWEContext.StatusState.SUCCESS;
220
+ const failure = dropped || busy ? void 0 : walletLoginFailureMessage(status, error);
196
221
  const buttons = /* @__PURE__ */(0, import_jsx_runtime.jsxs)("div", {
197
222
  className: className ?? "mpo-keycloak-wallet-login",
198
223
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)("button", {
@@ -208,6 +233,12 @@ function LoginButtons({
208
233
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletIcon, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
209
234
  children: busy ? "Signing\u2026" : walletLabel
210
235
  })]
236
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("p", {
237
+ id: "mpo-wallet-login-error",
238
+ "aria-live": "polite",
239
+ className: failure ? errorClassName : void 0,
240
+ style: !failure ? hiddenNoticeStyle : errorClassName ? void 0 : errorStyle,
241
+ children: failure
211
242
  }), dropped && !busy && /* @__PURE__ */(0, import_jsx_runtime.jsxs)("p", {
212
243
  id: "mpo-wallet-login-dropped",
213
244
  role: "status",
@@ -82,7 +82,7 @@ function useWalletLogin(opts = {}) {
82
82
  }, [signIn, siwe]);
83
83
  const login = (0, import_react.useCallback)(async () => {
84
84
  setDropped(false);
85
- if (!signIn && siwe?.status === import_SIWEContext.StatusState.ERROR) siwe.resetStatus();
85
+ if (!signIn && (siwe?.status === import_SIWEContext.StatusState.ERROR || siwe?.status === import_SIWEContext.StatusState.REJECTED)) siwe.resetStatus();
86
86
  if (isConnected) {
87
87
  await sign();
88
88
  return;
@@ -107,6 +107,7 @@ function useWalletLogin(opts = {}) {
107
107
  status: signIn ? signIn.status : siwe?.status ?? import_SIWEContext.StatusState.ERROR,
108
108
  isConnected,
109
109
  address,
110
- dropped
110
+ dropped,
111
+ error: signIn ? null : siwe?.error ?? null
111
112
  };
112
113
  }
@@ -46,7 +46,7 @@ var import_walletConfig3 = require("./walletConfig.cjs");
46
46
  var import_jsx_runtime = require("react/jsx-runtime");
47
47
  const defaultQueryClient = new import_react_query.QueryClient();
48
48
  const wagmiConfigCache = /* @__PURE__ */new Map();
49
- const walletEcosystems = ["solana", "sui", "bitcoin"];
49
+ const walletEcosystems = ["solana", "sui", "bitcoin", "tron"];
50
50
  function hosts(families, ecosystem) {
51
51
  return families.some(family => (0, import_host.wagmiHosting)(family)?.ecosystem === ecosystem);
52
52
  }
@@ -0,0 +1,46 @@
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 tron_exports = {};
24
+ __export(tron_exports, {
25
+ TronAdapter: () => import_TronAdapter.TronAdapter,
26
+ TronGridError: () => import_tron.TronGridError,
27
+ discoverTronWallets: () => import_TronAdapter.discoverTronWallets,
28
+ hasTronWallet: () => import_TronAdapter.hasTronWallet,
29
+ isTronAddress: () => import_tron.isTronAddress,
30
+ readTrc20Balance: () => import_tron.readTrc20Balance,
31
+ toTronBase58: () => import_tron.toTronBase58,
32
+ toTronHex: () => import_tron.toTronHex,
33
+ tron: () => import_tron2.tron,
34
+ tronAddressBytes: () => import_tron.tronAddressBytes,
35
+ tronClient: () => import_tron.tronClient,
36
+ tronDriver: () => import_tron2.tronDriver,
37
+ tronGridUrls: () => import_tron.tronGridUrls,
38
+ tronMessage: () => import_tron2.tronMessage,
39
+ tronNetworkOf: () => import_TronAdapter.tronNetworkOf,
40
+ useTronClient: () => import_useTronClient.useTronClient
41
+ });
42
+ module.exports = __toCommonJS(tron_exports);
43
+ var import_tron = require("./clients/tron.cjs");
44
+ var import_useTronClient = require("./clients/useTronClient.cjs");
45
+ var import_TronAdapter = require("./connectkit/adapters/TronAdapter.cjs");
46
+ var import_tron2 = require("./families/tron.cjs");
@@ -0,0 +1,49 @@
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 tron_exports = {};
26
+ __export(tron_exports, {
27
+ TronAdapter: () => import_TronAdapter.TronAdapter,
28
+ TronGridError: () => import_tron.TronGridError,
29
+ discoverTronWallets: () => import_TronAdapter.discoverTronWallets,
30
+ hasTronWallet: () => import_TronAdapter.hasTronWallet,
31
+ isTronAddress: () => import_tron.isTronAddress,
32
+ readTrc20Balance: () => import_tron.readTrc20Balance,
33
+ toTronBase58: () => import_tron.toTronBase58,
34
+ toTronHex: () => import_tron.toTronHex,
35
+ tron: () => import_tron2.tron,
36
+ tronAddressBytes: () => import_tron.tronAddressBytes,
37
+ tronClient: () => import_tron.tronClient,
38
+ tronDriver: () => import_tron2.tronDriver,
39
+ tronGridUrls: () => import_tron.tronGridUrls,
40
+ tronMessage: () => import_tron2.tronMessage,
41
+ tronNetworkOf: () => import_TronAdapter.tronNetworkOf,
42
+ useTronClient: () => import_useTronClient.useTronClient
43
+ });
44
+ module.exports = __toCommonJS(tron_exports);
45
+ var import_tron = require("./clients/tron.native.js");
46
+ var import_useTronClient = require("./clients/useTronClient.native.js");
47
+ var import_TronAdapter = require("./connectkit/adapters/TronAdapter.native.js");
48
+ var import_tron2 = require("./families/tron.native.js");
49
+ //# sourceMappingURL=tron.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","tron_exports","__export","TronAdapter","import_TronAdapter","TronGridError","import_tron","discoverTronWallets","hasTronWallet","isTronAddress","readTrc20Balance","toTronBase58","toTronHex","tron","import_tron2","tronAddressBytes","tronClient","tronDriver","tronGridUrls","tronMessage","tronNetworkOf","useTronClient","import_useTronClient","module","exports","require"],"sources":["../../src/tron.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,YAAA;AAAAC,QAAA,CAAAD,YAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,kBAAA,CAAAD,WAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,aAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAH,kBAAA,CAAAG,mBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAJ,kBAAA,CAAAI,aAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAH,WAAA,CAAAG,aAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAJ,WAAA,CAAAI,gBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAL,WAAA,CAAAK,YAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAN,WAAA,CAAAM,SAAA;EAAAC,IAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,IAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAT,WAAA,CAAAS,gBAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAV,WAAA,CAAAU,UAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAH,YAAA,CAAAG,UAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAZ,WAAA,CAAAY,YAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAL,YAAA,CAAAK,WAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAhB,kBAAA,CAAAgB,aAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAC,oBAAA,CAAAD;AAAA;AAGAE,MAAA,CAAAC,OAAA,GAAA5B,YAcO,CAAAK,YAAA;AACP,IAAAK,WAAA,GAAAmB,OAAA,2BAA8B;AAC9B,IAAAH,oBAAA,GAKOG,OAAA;AACP,IAAArB,kBAAsE,GAAAqB,OAAA","ignoreList":[]}
@@ -45,7 +45,8 @@ function hostFamiliesOnWagmi(families, config) {
45
45
  const {
46
46
  ecosystem,
47
47
  chainId,
48
- solanaChain
48
+ solanaChain,
49
+ client
49
50
  } = hosting;
50
51
  if (ecosystem === "evm") return (0, import_family.defineWalletFamily)({
51
52
  ...family,
@@ -58,9 +59,13 @@ function hostFamiliesOnWagmi(families, config) {
58
59
  ...(chainId === void 0 ? {} : {
59
60
  chainId
60
61
  }),
61
- client: connector => (0, import_connector.clientForConnector)(connector, solanaChain ? {
62
- solanaChain
63
- } : {})
62
+ client: connector => {
63
+ if (!client) return (0, import_connector.clientForConnector)(connector, solanaChain ? {
64
+ solanaChain
65
+ } : {});
66
+ const adapter = (0, import_adapter.connectorAdapter)(connector, ecosystem);
67
+ return adapter?.address ? client(adapter) : null;
68
+ }
64
69
  })
65
70
  });
66
71
  });
@@ -49,7 +49,8 @@ function hostFamiliesOnWagmi(families, config) {
49
49
  var {
50
50
  ecosystem,
51
51
  chainId,
52
- solanaChain
52
+ solanaChain,
53
+ client
53
54
  } = hosting;
54
55
  if (ecosystem === "evm") return (0, import_family.defineWalletFamily)({
55
56
  ...family,
@@ -67,10 +68,12 @@ function hostFamiliesOnWagmi(families, config) {
67
68
  ...(chainId === void 0 ? {} : {
68
69
  chainId
69
70
  }),
70
- client: function client(connector) {
71
- return (0, import_connector.clientForConnector)(connector, solanaChain ? {
71
+ client: function client1(connector) {
72
+ if (!client) return (0, import_connector.clientForConnector)(connector, solanaChain ? {
72
73
  solanaChain
73
74
  } : {});
75
+ var adapter = (0, import_adapter.connectorAdapter)(connector, ecosystem);
76
+ return (adapter === null || adapter === void 0 ? void 0 : adapter.address) ? client(adapter) : null;
74
77
  }
75
78
  });
76
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","host_exports","__export","WagmiConnectionHost","hostFamiliesOnWagmi","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_adapter","import_connector","import_family","import_react2","import_store","import_families","import_host","import_driver","ecosystemOf","ecosystemOf2","connector","connectorAdapter","ecosystem","families","config","map","family","hosting","wagmiHosting","chainId","solanaChain","defineWalletFamily","driver","wagmiDriver","filter","client","clientForConnector","HostedConfig","createContext","destroyed","WeakSet","own","store","createConnectionStore","storage","useOwnedStore","owned","setOwned","useState","current","useEffect","has","add","destroy","useWagmiHandover","hosted","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","set","id","err","return","held","held2","status","family2","getState","holding","released","pending","asked","refused","check","check2","connections","state","connection","get","address","accounts","wallet","_state_connector","waiting","connectorId","known","uid","key","Set","keys","connect","silent","then","closers","closerFor","closerFor2","closer","closeLeftovers","closeLeftovers2","others"],"sources":["../../../src/wagmi/host.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","host_exports","__export","WagmiConnectionHost","hostFamiliesOnWagmi","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_adapter","import_connector","import_family","import_react2","import_store","import_families","import_host","import_driver","ecosystemOf","ecosystemOf2","connector","connectorAdapter","ecosystem","families","config","map","family","hosting","wagmiHosting","chainId","solanaChain","client","defineWalletFamily","driver","wagmiDriver","filter","client1","clientForConnector","adapter","address","HostedConfig","createContext","destroyed","WeakSet","own","store","createConnectionStore","storage","useOwnedStore","owned","setOwned","useState","current","useEffect","has","add","destroy","useWagmiHandover","hosted","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","set","id","err","return","held","held2","status","family2","getState","holding","released","pending","asked","refused","check","check2","connections","state","connection","get","accounts","wallet","_state_connector","waiting","connectorId","known","uid","key","Set","keys","connect","silent","then","closers","closerFor","closerFor2","closer","closeLeftovers","closeLeftovers2","others","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2"],"sources":["../../../src/wagmi/host.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,133 @@
1
+ import bs58 from "bs58";
2
+ import { bytesToHex, hexToBytes, hexToString, sha256 } from "viem";
3
+ const tronGridUrls = Object.freeze({
4
+ mainnet: "https://api.trongrid.io",
5
+ nile: "https://nile.trongrid.io",
6
+ shasta: "https://api.shasta.trongrid.io"
7
+ });
8
+ const tronPrefix = 65;
9
+ const checksumOf = payload => sha256(sha256(payload, "bytes"), "bytes").slice(0, 4);
10
+ function tronAddressBytes(address) {
11
+ const value = address.trim();
12
+ if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {
13
+ const bytes = hexToBytes(value.startsWith("0x") ? value : `0x${value}`);
14
+ if (bytes.length === 20) return Uint8Array.of(tronPrefix, ...bytes);
15
+ if (bytes.length === 21 && bytes[0] === tronPrefix) return bytes;
16
+ throw new Error(`not a Tron address: ${address}`);
17
+ }
18
+ let decoded;
19
+ try {
20
+ decoded = bs58.decode(value);
21
+ } catch {
22
+ throw new Error(`not a Tron address: ${address}`);
23
+ }
24
+ if (decoded.length !== 25 || decoded[0] !== tronPrefix) {
25
+ throw new Error(`not a Tron address: ${address}`);
26
+ }
27
+ const payload = decoded.slice(0, 21);
28
+ const checksum = checksumOf(payload);
29
+ if (!checksum.every((byte, index) => byte === decoded[21 + index])) {
30
+ throw new Error(`Tron address checksum mismatch: ${address}`);
31
+ }
32
+ return payload;
33
+ }
34
+ function toTronBase58(address) {
35
+ const payload = tronAddressBytes(address);
36
+ return bs58.encode(Uint8Array.of(...payload, ...checksumOf(payload)));
37
+ }
38
+ function toTronHex(address) {
39
+ return bytesToHex(tronAddressBytes(address)).slice(2);
40
+ }
41
+ function isTronAddress(address) {
42
+ try {
43
+ tronAddressBytes(address);
44
+ return true;
45
+ } catch {
46
+ return false;
47
+ }
48
+ }
49
+ class TronGridError extends Error {
50
+ status;
51
+ constructor(message, status) {
52
+ super(message);
53
+ this.name = "TronGridError";
54
+ this.status = status;
55
+ }
56
+ }
57
+ function decodeMessage(message) {
58
+ if (!message) return void 0;
59
+ if (!/^[0-9a-fA-F]+$/.test(message) || message.length % 2) return message;
60
+ try {
61
+ return hexToString(`0x${message}`);
62
+ } catch {
63
+ return message;
64
+ }
65
+ }
66
+ async function readTrc20Balance(parameters) {
67
+ const {
68
+ token,
69
+ owner,
70
+ network = "mainnet",
71
+ apiUrl,
72
+ apiKey,
73
+ signal
74
+ } = parameters;
75
+ const request = parameters.fetch ?? globalThis.fetch;
76
+ const ownerBytes = tronAddressBytes(owner);
77
+ const base = (apiUrl ?? tronGridUrls[network]).replace(/\/+$/, "");
78
+ const response = await request(`${base}/wallet/triggerconstantcontract`, {
79
+ method: "POST",
80
+ headers: {
81
+ accept: "application/json",
82
+ "content-type": "application/json",
83
+ ...(apiKey ? {
84
+ "TRON-PRO-API-KEY": apiKey
85
+ } : {})
86
+ },
87
+ body: JSON.stringify({
88
+ owner_address: toTronBase58(owner),
89
+ contract_address: toTronBase58(token),
90
+ function_selector: "balanceOf(address)",
91
+ parameter: bytesToHex(ownerBytes.slice(1)).slice(2).padStart(64, "0"),
92
+ visible: true
93
+ }),
94
+ ...(signal ? {
95
+ signal
96
+ } : {})
97
+ });
98
+ if (!response.ok) {
99
+ throw new TronGridError(`TronGrid answered ${response.status} for balanceOf`, response.status);
100
+ }
101
+ const body = await response.json();
102
+ const word = body.constant_result?.[0];
103
+ if (!body.result?.result || word === void 0) {
104
+ const reason = decodeMessage(body.result?.message) ?? body.Error ?? body.result?.code;
105
+ throw new TronGridError(`TronGrid balanceOf failed${reason ? `: ${reason}` : ""}`);
106
+ }
107
+ return word === "" ? 0n : BigInt(`0x${word}`);
108
+ }
109
+ const capabilities = ["signMessage"];
110
+ function tronClient(adapter, options = {}) {
111
+ if (!adapter.address) throw new Error("tronClient: connect a Tron wallet first");
112
+ const address = adapter.address;
113
+ const network = options.network ?? "mainnet";
114
+ return {
115
+ family: "tron",
116
+ address,
117
+ chainId: "tron",
118
+ network,
119
+ capabilities,
120
+ signMessage: message => adapter.signMessage(message),
121
+ trc20Balance: (token, owner = address, signal) => readTrc20Balance({
122
+ ...options,
123
+ network,
124
+ token,
125
+ owner,
126
+ ...(signal ? {
127
+ signal
128
+ } : {})
129
+ })
130
+ };
131
+ }
132
+ export { TronGridError, isTronAddress, readTrc20Balance, toTronBase58, toTronHex, tronAddressBytes, tronClient, tronGridUrls };
133
+ //# sourceMappingURL=tron.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bs58","bytesToHex","hexToBytes","hexToString","sha256","tronGridUrls","Object","freeze","mainnet","nile","shasta","tronPrefix","checksumOf","payload","slice","tronAddressBytes","address","value","trim","test","bytes","startsWith","length","Uint8Array","of","Error","decoded","decode","checksum","every","byte","index","toTronBase58","encode","toTronHex","isTronAddress","TronGridError","status","constructor","message","name","decodeMessage","readTrc20Balance","parameters","token","owner","network","apiUrl","apiKey","signal","request","fetch","globalThis","ownerBytes","base","replace","response","method","headers","accept","body","JSON","stringify","owner_address","contract_address","function_selector","parameter","padStart","visible","ok","json","word","constant_result","result","reason","code","BigInt","capabilities","tronClient","adapter","options","family","chainId","signMessage","trc20Balance"],"sources":["../../../src/clients/tron.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}