@reown/appkit-common-react-native 0.0.0-develop-20250728153935 → 0.0.0-develop-20251030154825

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 (313) hide show
  1. package/lib/commonjs/adapters/BitcoinBaseAdapter.js +10 -0
  2. package/lib/commonjs/adapters/BitcoinBaseAdapter.js.map +1 -0
  3. package/lib/commonjs/adapters/BlockchainAdapter.js +103 -0
  4. package/lib/commonjs/adapters/BlockchainAdapter.js.map +1 -0
  5. package/lib/commonjs/adapters/EvmAdapter.js +193 -0
  6. package/lib/commonjs/adapters/EvmAdapter.js.map +1 -0
  7. package/lib/commonjs/adapters/SolanaBaseAdapter.js +10 -0
  8. package/lib/commonjs/adapters/SolanaBaseAdapter.js.map +1 -0
  9. package/lib/commonjs/contracts/erc20.js.map +1 -1
  10. package/lib/commonjs/contracts/usdt.js.map +1 -1
  11. package/lib/commonjs/index.js +74 -5
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/networks/bitcoin.js +40 -0
  14. package/lib/commonjs/networks/bitcoin.js.map +1 -0
  15. package/lib/commonjs/networks/solana.js +78 -0
  16. package/lib/commonjs/networks/solana.js.map +1 -0
  17. package/lib/commonjs/package.json +1 -0
  18. package/lib/commonjs/types/api/blockchain-api.js +15 -0
  19. package/lib/commonjs/types/api/blockchain-api.js.map +1 -0
  20. package/lib/commonjs/types/api/events.js +6 -0
  21. package/lib/commonjs/types/api/events.js.map +1 -0
  22. package/lib/commonjs/types/api/index.js +39 -0
  23. package/lib/commonjs/types/api/index.js.map +1 -0
  24. package/lib/commonjs/types/api/wallet-api.js +6 -0
  25. package/lib/commonjs/types/api/wallet-api.js.map +1 -0
  26. package/lib/commonjs/types/blockchain/adapter.js +6 -0
  27. package/lib/commonjs/types/blockchain/adapter.js.map +1 -0
  28. package/lib/commonjs/types/blockchain/balance.js +6 -0
  29. package/lib/commonjs/types/blockchain/balance.js.map +1 -0
  30. package/lib/commonjs/types/blockchain/index.js +50 -0
  31. package/lib/commonjs/types/blockchain/index.js.map +1 -0
  32. package/lib/commonjs/types/blockchain/network.js +6 -0
  33. package/lib/commonjs/types/blockchain/network.js.map +1 -0
  34. package/lib/commonjs/types/blockchain/transaction.js +2 -0
  35. package/lib/commonjs/types/blockchain/transaction.js.map +1 -0
  36. package/lib/commonjs/types/common.js +2 -0
  37. package/lib/commonjs/types/common.js.map +1 -0
  38. package/lib/commonjs/types/index.js +105 -0
  39. package/lib/commonjs/types/index.js.map +1 -0
  40. package/lib/commonjs/types/onramp/countries.js +2 -0
  41. package/lib/commonjs/types/onramp/countries.js.map +1 -0
  42. package/lib/commonjs/types/onramp/currencies.js +2 -0
  43. package/lib/commonjs/types/onramp/currencies.js.map +1 -0
  44. package/lib/commonjs/types/onramp/errors.js +22 -0
  45. package/lib/commonjs/types/onramp/errors.js.map +1 -0
  46. package/lib/commonjs/types/onramp/index.js +50 -0
  47. package/lib/commonjs/types/onramp/index.js.map +1 -0
  48. package/lib/commonjs/types/onramp/quotes.js +2 -0
  49. package/lib/commonjs/types/onramp/quotes.js.map +1 -0
  50. package/lib/commonjs/types/siwx/config.js +6 -0
  51. package/lib/commonjs/types/siwx/config.js.map +1 -0
  52. package/lib/commonjs/types/siwx/index.js +50 -0
  53. package/lib/commonjs/types/siwx/index.js.map +1 -0
  54. package/lib/commonjs/types/siwx/message.js +6 -0
  55. package/lib/commonjs/types/siwx/message.js.map +1 -0
  56. package/lib/commonjs/types/siwx/storage.js +6 -0
  57. package/lib/commonjs/types/siwx/storage.js.map +1 -0
  58. package/lib/commonjs/types/siwx/verifier.js +35 -0
  59. package/lib/commonjs/types/siwx/verifier.js.map +1 -0
  60. package/lib/commonjs/types/storage.js +24 -0
  61. package/lib/commonjs/types/storage.js.map +1 -0
  62. package/lib/commonjs/types/swap/index.js +17 -0
  63. package/lib/commonjs/types/swap/index.js.map +1 -0
  64. package/lib/commonjs/types/swap/tokens.js +6 -0
  65. package/lib/commonjs/types/swap/tokens.js.map +1 -0
  66. package/lib/commonjs/types/ui.js +6 -0
  67. package/lib/commonjs/{utils/TypeUtil.js.map → types/ui.js.map} +1 -1
  68. package/lib/commonjs/types/wallet/connection.js +6 -0
  69. package/lib/commonjs/types/wallet/connection.js.map +1 -0
  70. package/lib/commonjs/types/wallet/connector.js +30 -0
  71. package/lib/commonjs/types/wallet/connector.js.map +1 -0
  72. package/lib/commonjs/types/wallet/index.js +39 -0
  73. package/lib/commonjs/types/wallet/index.js.map +1 -0
  74. package/lib/commonjs/types/wallet/wallet-info.js +6 -0
  75. package/lib/commonjs/types/wallet/wallet-info.js.map +1 -0
  76. package/lib/commonjs/utils/ConstantsUtil.js +45 -6
  77. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  78. package/lib/commonjs/utils/ContractUtil.js.map +1 -1
  79. package/lib/commonjs/utils/DateUtil.js.map +1 -1
  80. package/lib/commonjs/utils/ErrorUtil.js.map +1 -1
  81. package/lib/commonjs/utils/NamesUtil.js.map +1 -1
  82. package/lib/commonjs/utils/NetworkUtil.js +3 -0
  83. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  84. package/lib/commonjs/utils/NumberUtil.js +53 -13
  85. package/lib/commonjs/utils/NumberUtil.js.map +1 -1
  86. package/lib/commonjs/utils/PresetsUtil.js +34 -21
  87. package/lib/commonjs/utils/PresetsUtil.js.map +1 -1
  88. package/lib/commonjs/utils/StringUtil.js +7 -0
  89. package/lib/commonjs/utils/StringUtil.js.map +1 -1
  90. package/lib/module/adapters/BitcoinBaseAdapter.js +5 -0
  91. package/lib/module/adapters/BitcoinBaseAdapter.js.map +1 -0
  92. package/lib/module/adapters/BlockchainAdapter.js +98 -0
  93. package/lib/module/adapters/BlockchainAdapter.js.map +1 -0
  94. package/lib/module/adapters/EvmAdapter.js +189 -0
  95. package/lib/module/adapters/EvmAdapter.js.map +1 -0
  96. package/lib/module/adapters/SolanaBaseAdapter.js +5 -0
  97. package/lib/module/adapters/SolanaBaseAdapter.js.map +1 -0
  98. package/lib/module/contracts/erc20.js +2 -0
  99. package/lib/module/contracts/erc20.js.map +1 -1
  100. package/lib/module/contracts/usdt.js +2 -0
  101. package/lib/module/contracts/usdt.js.map +1 -1
  102. package/lib/module/index.js +9 -1
  103. package/lib/module/index.js.map +1 -1
  104. package/lib/module/networks/bitcoin.js +36 -0
  105. package/lib/module/networks/bitcoin.js.map +1 -0
  106. package/lib/module/networks/solana.js +74 -0
  107. package/lib/module/networks/solana.js.map +1 -0
  108. package/lib/module/types/api/blockchain-api.js +10 -0
  109. package/lib/module/types/api/blockchain-api.js.map +1 -0
  110. package/lib/module/types/api/events.js +4 -0
  111. package/lib/module/types/api/events.js.map +1 -0
  112. package/lib/module/types/api/index.js +7 -0
  113. package/lib/module/types/api/index.js.map +1 -0
  114. package/lib/module/types/api/wallet-api.js +4 -0
  115. package/lib/module/types/api/wallet-api.js.map +1 -0
  116. package/lib/module/types/blockchain/adapter.js +4 -0
  117. package/lib/module/types/blockchain/adapter.js.map +1 -0
  118. package/lib/module/types/blockchain/balance.js +4 -0
  119. package/lib/module/types/blockchain/balance.js.map +1 -0
  120. package/lib/module/types/blockchain/index.js +8 -0
  121. package/lib/module/types/blockchain/index.js.map +1 -0
  122. package/lib/module/types/blockchain/network.js +4 -0
  123. package/lib/module/types/blockchain/network.js.map +1 -0
  124. package/lib/module/types/blockchain/transaction.js +2 -0
  125. package/lib/module/types/blockchain/transaction.js.map +1 -0
  126. package/lib/module/types/common.js +2 -0
  127. package/lib/module/types/common.js.map +1 -0
  128. package/lib/module/types/index.js +31 -0
  129. package/lib/module/types/index.js.map +1 -0
  130. package/lib/module/types/onramp/countries.js +2 -0
  131. package/lib/module/types/onramp/countries.js.map +1 -0
  132. package/lib/module/types/onramp/currencies.js +2 -0
  133. package/lib/module/types/onramp/currencies.js.map +1 -0
  134. package/lib/module/types/onramp/errors.js +18 -0
  135. package/lib/module/types/onramp/errors.js.map +1 -0
  136. package/lib/module/types/onramp/index.js +8 -0
  137. package/lib/module/types/onramp/index.js.map +1 -0
  138. package/lib/module/types/onramp/quotes.js +2 -0
  139. package/lib/module/types/onramp/quotes.js.map +1 -0
  140. package/lib/module/types/siwx/config.js +4 -0
  141. package/lib/module/types/siwx/config.js.map +1 -0
  142. package/lib/module/types/siwx/index.js +7 -0
  143. package/lib/module/types/siwx/index.js.map +1 -0
  144. package/lib/module/types/siwx/message.js +4 -0
  145. package/lib/module/types/siwx/message.js.map +1 -0
  146. package/lib/module/types/siwx/storage.js +4 -0
  147. package/lib/module/types/siwx/storage.js.map +1 -0
  148. package/lib/module/types/siwx/verifier.js +30 -0
  149. package/lib/module/types/siwx/verifier.js.map +1 -0
  150. package/lib/module/types/storage.js +20 -0
  151. package/lib/module/types/storage.js.map +1 -0
  152. package/lib/module/types/swap/index.js +5 -0
  153. package/lib/module/types/swap/index.js.map +1 -0
  154. package/lib/module/types/swap/tokens.js +4 -0
  155. package/lib/module/types/swap/tokens.js.map +1 -0
  156. package/lib/module/types/ui.js +4 -0
  157. package/lib/module/{utils/TypeUtil.js.map → types/ui.js.map} +1 -1
  158. package/lib/module/types/wallet/connection.js +4 -0
  159. package/lib/module/types/wallet/connection.js.map +1 -0
  160. package/lib/module/types/wallet/connector.js +25 -0
  161. package/lib/module/types/wallet/connector.js.map +1 -0
  162. package/lib/module/types/wallet/index.js +7 -0
  163. package/lib/module/types/wallet/index.js.map +1 -0
  164. package/lib/module/types/wallet/wallet-info.js +4 -0
  165. package/lib/module/types/wallet/wallet-info.js.map +1 -0
  166. package/lib/module/utils/ConstantsUtil.js +47 -6
  167. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  168. package/lib/module/utils/ContractUtil.js +2 -0
  169. package/lib/module/utils/ContractUtil.js.map +1 -1
  170. package/lib/module/utils/DateUtil.js +2 -0
  171. package/lib/module/utils/DateUtil.js.map +1 -1
  172. package/lib/module/utils/ErrorUtil.js +2 -0
  173. package/lib/module/utils/ErrorUtil.js.map +1 -1
  174. package/lib/module/utils/NamesUtil.js +2 -0
  175. package/lib/module/utils/NamesUtil.js.map +1 -1
  176. package/lib/module/utils/NetworkUtil.js +5 -0
  177. package/lib/module/utils/NetworkUtil.js.map +1 -1
  178. package/lib/module/utils/NumberUtil.js +54 -11
  179. package/lib/module/utils/NumberUtil.js.map +1 -1
  180. package/lib/module/utils/PresetsUtil.js +36 -21
  181. package/lib/module/utils/PresetsUtil.js.map +1 -1
  182. package/lib/module/utils/StringUtil.js +9 -0
  183. package/lib/module/utils/StringUtil.js.map +1 -1
  184. package/lib/typescript/adapters/BitcoinBaseAdapter.d.ts +5 -0
  185. package/lib/typescript/adapters/BitcoinBaseAdapter.d.ts.map +1 -0
  186. package/lib/typescript/adapters/BlockchainAdapter.d.ts +26 -0
  187. package/lib/typescript/adapters/BlockchainAdapter.d.ts.map +1 -0
  188. package/lib/typescript/adapters/EvmAdapter.d.ts +26 -0
  189. package/lib/typescript/adapters/EvmAdapter.d.ts.map +1 -0
  190. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts +7 -0
  191. package/lib/typescript/adapters/SolanaBaseAdapter.d.ts.map +1 -0
  192. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts +2 -0
  193. package/lib/typescript/adapters/__tests__/EvmAdapter.test.d.ts.map +1 -0
  194. package/lib/typescript/index.d.ts +7 -1
  195. package/lib/typescript/index.d.ts.map +1 -1
  196. package/lib/typescript/networks/bitcoin.d.ts +4 -0
  197. package/lib/typescript/networks/bitcoin.d.ts.map +1 -0
  198. package/lib/typescript/networks/solana.d.ts +5 -0
  199. package/lib/typescript/networks/solana.d.ts.map +1 -0
  200. package/lib/typescript/types/api/blockchain-api.d.ts +183 -0
  201. package/lib/typescript/types/api/blockchain-api.d.ts.map +1 -0
  202. package/lib/typescript/types/api/events.d.ts +357 -0
  203. package/lib/typescript/types/api/events.d.ts.map +1 -0
  204. package/lib/typescript/types/api/index.d.ts +4 -0
  205. package/lib/typescript/types/api/index.d.ts.map +1 -0
  206. package/lib/typescript/types/api/wallet-api.d.ts +51 -0
  207. package/lib/typescript/types/api/wallet-api.d.ts.map +1 -0
  208. package/lib/typescript/types/blockchain/adapter.d.ts +40 -0
  209. package/lib/typescript/types/blockchain/adapter.d.ts.map +1 -0
  210. package/lib/typescript/types/blockchain/balance.d.ts +28 -0
  211. package/lib/typescript/types/blockchain/balance.d.ts.map +1 -0
  212. package/lib/typescript/types/blockchain/index.d.ts +5 -0
  213. package/lib/typescript/types/blockchain/index.d.ts.map +1 -0
  214. package/lib/typescript/types/blockchain/network.d.ts +47 -0
  215. package/lib/typescript/types/blockchain/network.d.ts.map +1 -0
  216. package/lib/typescript/{utils/TypeUtil.d.ts → types/blockchain/transaction.d.ts} +1 -22
  217. package/lib/typescript/types/blockchain/transaction.d.ts.map +1 -0
  218. package/lib/typescript/types/common.d.ts +24 -0
  219. package/lib/typescript/types/common.d.ts.map +1 -0
  220. package/lib/typescript/types/index.d.ts +10 -0
  221. package/lib/typescript/types/index.d.ts.map +1 -0
  222. package/lib/typescript/types/onramp/countries.d.ts +11 -0
  223. package/lib/typescript/types/onramp/countries.d.ts.map +1 -0
  224. package/lib/typescript/types/onramp/currencies.d.ts +30 -0
  225. package/lib/typescript/types/onramp/currencies.d.ts.map +1 -0
  226. package/lib/typescript/types/onramp/errors.d.ts +21 -0
  227. package/lib/typescript/types/onramp/errors.d.ts.map +1 -0
  228. package/lib/typescript/types/onramp/index.d.ts +5 -0
  229. package/lib/typescript/types/onramp/index.d.ts.map +1 -0
  230. package/lib/typescript/types/onramp/quotes.d.ts +45 -0
  231. package/lib/typescript/types/onramp/quotes.d.ts.map +1 -0
  232. package/lib/typescript/types/siwx/config.d.ts +73 -0
  233. package/lib/typescript/types/siwx/config.d.ts.map +1 -0
  234. package/lib/typescript/types/siwx/index.d.ts +5 -0
  235. package/lib/typescript/types/siwx/index.d.ts.map +1 -0
  236. package/lib/typescript/types/siwx/message.d.ts +92 -0
  237. package/lib/typescript/types/siwx/message.d.ts.map +1 -0
  238. package/lib/typescript/types/siwx/storage.d.ts +41 -0
  239. package/lib/typescript/types/siwx/storage.d.ts.map +1 -0
  240. package/lib/typescript/types/siwx/verifier.d.ts +28 -0
  241. package/lib/typescript/types/siwx/verifier.d.ts.map +1 -0
  242. package/lib/typescript/types/storage.d.ts +59 -0
  243. package/lib/typescript/types/storage.d.ts.map +1 -0
  244. package/lib/typescript/types/swap/index.d.ts +2 -0
  245. package/lib/typescript/types/swap/index.d.ts.map +1 -0
  246. package/lib/typescript/types/swap/tokens.d.ts +19 -0
  247. package/lib/typescript/types/swap/tokens.d.ts.map +1 -0
  248. package/lib/typescript/types/ui.d.ts +26 -0
  249. package/lib/typescript/types/ui.d.ts.map +1 -0
  250. package/lib/typescript/types/wallet/connection.d.ts +31 -0
  251. package/lib/typescript/types/wallet/connection.d.ts.map +1 -0
  252. package/lib/typescript/types/wallet/connector.d.ts +59 -0
  253. package/lib/typescript/types/wallet/connector.d.ts.map +1 -0
  254. package/lib/typescript/types/wallet/index.d.ts +4 -0
  255. package/lib/typescript/types/wallet/index.d.ts.map +1 -0
  256. package/lib/typescript/types/wallet/wallet-info.d.ts +37 -0
  257. package/lib/typescript/types/wallet/wallet-info.d.ts.map +1 -0
  258. package/lib/typescript/utils/ConstantsUtil.d.ts +43 -4
  259. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  260. package/lib/typescript/utils/NetworkUtil.d.ts +2 -0
  261. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  262. package/lib/typescript/utils/NumberUtil.d.ts +39 -11
  263. package/lib/typescript/utils/NumberUtil.d.ts.map +1 -1
  264. package/lib/typescript/utils/PresetsUtil.d.ts +1 -6
  265. package/lib/typescript/utils/PresetsUtil.d.ts.map +1 -1
  266. package/lib/typescript/utils/StringUtil.d.ts +1 -0
  267. package/lib/typescript/utils/StringUtil.d.ts.map +1 -1
  268. package/package.json +9 -18
  269. package/src/adapters/BitcoinBaseAdapter.ts +5 -0
  270. package/src/adapters/BlockchainAdapter.ts +136 -0
  271. package/src/adapters/EvmAdapter.ts +247 -0
  272. package/src/adapters/SolanaBaseAdapter.ts +7 -0
  273. package/src/adapters/__tests__/EvmAdapter.test.ts +126 -0
  274. package/src/index.ts +8 -1
  275. package/src/networks/bitcoin.ts +32 -0
  276. package/src/networks/solana.ts +44 -0
  277. package/src/types/api/blockchain-api.ts +213 -0
  278. package/src/types/api/events.ts +462 -0
  279. package/src/types/api/index.ts +4 -0
  280. package/src/types/api/wallet-api.ts +71 -0
  281. package/src/types/blockchain/adapter.ts +52 -0
  282. package/src/types/blockchain/balance.ts +31 -0
  283. package/src/types/blockchain/index.ts +5 -0
  284. package/src/types/blockchain/network.ts +39 -0
  285. package/src/{utils/TypeUtil.ts → types/blockchain/transaction.ts} +0 -26
  286. package/src/types/common.ts +56 -0
  287. package/src/types/index.ts +28 -0
  288. package/src/types/onramp/countries.ts +11 -0
  289. package/src/types/onramp/currencies.ts +32 -0
  290. package/src/types/onramp/errors.ts +22 -0
  291. package/src/types/onramp/index.ts +5 -0
  292. package/src/types/onramp/quotes.ts +46 -0
  293. package/src/types/siwx/config.ts +73 -0
  294. package/src/types/siwx/index.ts +4 -0
  295. package/src/types/siwx/message.ts +92 -0
  296. package/src/types/siwx/storage.ts +44 -0
  297. package/src/types/siwx/verifier.ts +32 -0
  298. package/src/types/storage.ts +64 -0
  299. package/src/types/swap/index.ts +2 -0
  300. package/src/types/swap/tokens.ts +21 -0
  301. package/src/types/ui.ts +26 -0
  302. package/src/types/wallet/connection.ts +34 -0
  303. package/src/types/wallet/connector.ts +83 -0
  304. package/src/types/wallet/index.ts +4 -0
  305. package/src/types/wallet/wallet-info.ts +42 -0
  306. package/src/utils/ConstantsUtil.ts +48 -7
  307. package/src/utils/NetworkUtil.ts +5 -0
  308. package/src/utils/NumberUtil.ts +54 -11
  309. package/src/utils/PresetsUtil.ts +34 -26
  310. package/src/utils/StringUtil.ts +7 -0
  311. package/lib/commonjs/utils/TypeUtil.js +0 -2
  312. package/lib/module/utils/TypeUtil.js +0 -2
  313. package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
@@ -0,0 +1,64 @@
1
+ export interface Storage {
2
+ /**
3
+ * Returns all keys in storage.
4
+ */
5
+ getKeys(): Promise<string[]>;
6
+
7
+ /**
8
+ * Returns all key-value entries in storage.
9
+ */
10
+ getEntries<T = any>(): Promise<[string, T][]>;
11
+
12
+ /**
13
+ * Get an item from storage for a given key.
14
+ * @param key The key to retrieve.
15
+ */
16
+ getItem<T = any>(key: string): Promise<T | undefined>;
17
+
18
+ /**
19
+ * Set an item in storage for a given key.
20
+ * @param key The key to set.
21
+ * @param value The value to set.
22
+ */
23
+ setItem<T = any>(key: string, value: T): Promise<void>;
24
+
25
+ /**
26
+ * Remove an item from storage for a given key.
27
+ * @param key The key to remove.
28
+ */
29
+ removeItem(key: string): Promise<void>;
30
+ }
31
+
32
+ export interface SafeStorageItems {
33
+ 'WALLETCONNECT_DEEPLINK_CHOICE': string; //dont change this one
34
+ '@appkit/recent_wallet': string;
35
+ '@appkit/connected_connectors': string;
36
+ '@appkit/onramp_preferred_country': string;
37
+ '@appkit/onramp_countries': string;
38
+ '@appkit/onramp_service_providers': string;
39
+ '@appkit/onramp_fiat_limits': string;
40
+ '@appkit/onramp_fiat_currencies': string;
41
+ '@appkit/onramp_preferred_fiat_currency': string;
42
+ '@appkit/onramp_countries_defaults': string;
43
+ '@appkit/active_namespace': string;
44
+ '@appkit/coinbase_connector/session': string;
45
+ '@appkit/siwx-auth-token': string;
46
+ '@appkit/siwx-nonce-token': string;
47
+ }
48
+
49
+ export const SafeStorageKeys = {
50
+ WC_DEEPLINK: 'WALLETCONNECT_DEEPLINK_CHOICE', //dont change this one
51
+ RECENT_WALLET: '@appkit/recent_wallet',
52
+ CONNECTED_CONNECTORS: '@appkit/connected_connectors',
53
+ ONRAMP_PREFERRED_COUNTRY: '@appkit/onramp_preferred_country',
54
+ ONRAMP_COUNTRIES: '@appkit/onramp_countries',
55
+ ONRAMP_SERVICE_PROVIDERS: '@appkit/onramp_service_providers',
56
+ ONRAMP_FIAT_LIMITS: '@appkit/onramp_fiat_limits',
57
+ ONRAMP_FIAT_CURRENCIES: '@appkit/onramp_fiat_currencies',
58
+ ONRAMP_PREFERRED_FIAT_CURRENCY: '@appkit/onramp_preferred_fiat_currency',
59
+ ONRAMP_COUNTRIES_DEFAULTS: '@appkit/onramp_countries_defaults',
60
+ ACTIVE_NAMESPACE: '@appkit/active_namespace',
61
+ COINBASE_CONNECTOR_SESSION: '@appkit/coinbase_connector/session',
62
+ SIWX_AUTH_TOKEN: '@appkit/siwx-auth-token',
63
+ SIWX_NONCE_TOKEN: '@appkit/siwx-nonce-token'
64
+ } as const;
@@ -0,0 +1,2 @@
1
+ // Swap types barrel export
2
+ export * from './tokens';
@@ -0,0 +1,21 @@
1
+ import type { CaipAddress } from '../common';
2
+
3
+ export type SwapToken = {
4
+ name: string;
5
+ symbol: string;
6
+ address: CaipAddress;
7
+ decimals: number;
8
+ logoUri: string;
9
+ eip2612?: boolean;
10
+ };
11
+
12
+ export type SwapTokenWithBalance = SwapToken & {
13
+ quantity: {
14
+ decimals: string;
15
+ numeric: string;
16
+ };
17
+ price: number;
18
+ value: number;
19
+ };
20
+
21
+ export type SwapInputTarget = 'sourceToken' | 'toToken';
@@ -0,0 +1,26 @@
1
+ import type { SocialProvider } from './common';
2
+
3
+ type EnabledSocials = SocialProvider;
4
+
5
+ export type Features = {
6
+ /**
7
+ * @description Enable or disable the swaps feature. Enabled by default.
8
+ * @type {boolean}
9
+ */
10
+ swaps?: boolean;
11
+ /**
12
+ * @description Enable or disable the onramp feature. Enabled by default.
13
+ * @type {boolean}
14
+ */
15
+ onramp?: boolean;
16
+ /**
17
+ * @description Show or hide the regular wallet options when socials are enabled. Enabled by default.
18
+ * @type {boolean}
19
+ */
20
+ showWallets?: boolean;
21
+ /**
22
+ * @description Enable or disable the socials feature. Enabled by default.
23
+ * @type {EnabledSocials[]}
24
+ */
25
+ socials?: EnabledSocials[] | false;
26
+ };
@@ -0,0 +1,34 @@
1
+ import type { CaipAddress, CaipNetworkId, SocialProvider, AccountType } from '../common';
2
+ import type { Balance } from '../blockchain/balance';
3
+ import type { WalletInfo, Identity } from './wallet-info';
4
+ import type { BlockchainAdapter } from '../../adapters/BlockchainAdapter';
5
+
6
+ export interface Connection {
7
+ accounts: CaipAddress[];
8
+ balances: Map<CaipAddress, Balance[]>;
9
+ adapter: BlockchainAdapter;
10
+ caipNetwork: CaipNetworkId;
11
+ wallet?: WalletInfo;
12
+ properties?: ConnectionProperties;
13
+ type?: AccountType;
14
+ identities?: Map<CaipAddress, Identity>;
15
+ }
16
+
17
+ export interface ConnectionProperties {
18
+ email?: string;
19
+ username?: string;
20
+ smartAccounts?: CaipAddress[];
21
+ provider?: SocialProvider;
22
+ sessionTopic?: string;
23
+ canAddEvmChain?: boolean;
24
+ }
25
+
26
+ export interface LinkingRecord {
27
+ redirect: string;
28
+ href: string;
29
+ }
30
+
31
+ export interface WalletDeepLink {
32
+ href: string;
33
+ name: string;
34
+ }
@@ -0,0 +1,83 @@
1
+ import { EventEmitter } from 'events';
2
+ import type { ChainNamespace, CaipAddress, CaipNetworkId } from '../common';
3
+ import type { AppKitNetwork } from '../blockchain/network';
4
+ import type { Provider } from '../blockchain/adapter';
5
+ import type { WalletInfo, Metadata } from './wallet-info';
6
+ import type { ConnectionProperties } from './connection';
7
+ import type { Storage } from '../storage';
8
+ import type { WcWallet } from '../api/wallet-api';
9
+
10
+ export type ConnectorType = 'walletconnect' | 'coinbase' | 'phantom' | 'solflare';
11
+
12
+ export interface BaseNamespace {
13
+ chains?: CaipNetworkId[];
14
+ accounts: CaipAddress[];
15
+ methods: string[];
16
+ events: string[];
17
+ }
18
+
19
+ type Namespace = BaseNamespace;
20
+
21
+ export type Namespaces = Record<string, Namespace>;
22
+
23
+ export type ProposalNamespaces = Record<
24
+ string,
25
+ Omit<Namespace, 'accounts'> &
26
+ Required<Pick<Namespace, 'chains'>> & { rpcMap: Record<string, string> }
27
+ >;
28
+
29
+ export type ConnectOptions = {
30
+ namespaces?: ProposalNamespaces;
31
+ defaultNetwork?: AppKitNetwork;
32
+ universalLink?: string;
33
+ };
34
+
35
+ export type ConnectorInitOptions = {
36
+ storage: Storage;
37
+ metadata: Metadata;
38
+ };
39
+
40
+ export abstract class WalletConnector extends EventEmitter {
41
+ public type: ConnectorType;
42
+ protected provider?: Provider;
43
+ protected namespaces?: Namespaces;
44
+ protected wallet?: WalletInfo;
45
+ protected storage?: Storage;
46
+ protected metadata?: Metadata;
47
+ protected properties?: ConnectionProperties;
48
+
49
+ constructor({ type }: { type: ConnectorType }) {
50
+ super();
51
+ this.type = type;
52
+ }
53
+
54
+ public async init(ops: ConnectorInitOptions) {
55
+ this.storage = ops.storage;
56
+ this.metadata = ops.metadata;
57
+ }
58
+
59
+ public setProvider(provider: Provider) {
60
+ this.provider = provider;
61
+ }
62
+
63
+ public async disconnect() {
64
+ await this.provider?.disconnect();
65
+ this.namespaces = undefined;
66
+ this.wallet = undefined;
67
+ this.properties = undefined;
68
+ }
69
+
70
+ abstract connect(opts: ConnectOptions): Promise<Namespaces | undefined>;
71
+ abstract getProvider(namespace?: ChainNamespace): Provider;
72
+ abstract getNamespaces(): Namespaces;
73
+ abstract getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
74
+ abstract getWalletInfo(): WalletInfo | undefined;
75
+ abstract getProperties(): ConnectionProperties | undefined;
76
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
77
+ abstract restoreSession(): Promise<boolean>;
78
+ }
79
+
80
+ export type AppKitConnectOptions = {
81
+ walletId?: string;
82
+ wallet?: WcWallet;
83
+ };
@@ -0,0 +1,4 @@
1
+ // Wallet types barrel export
2
+ export * from './connector';
3
+ export * from './connection';
4
+ export * from './wallet-info';
@@ -0,0 +1,42 @@
1
+ import type { CaipNetworkId } from '../common';
2
+
3
+ export interface WalletInfo {
4
+ name?: string;
5
+ icon?: string;
6
+ description?: string;
7
+ url?: string;
8
+ icons?: string[];
9
+ redirect?: {
10
+ native?: string;
11
+ universal?: string;
12
+ linkMode?: boolean;
13
+ };
14
+ type?: 'walletconnect' | 'external' | 'unknown';
15
+ [key: string]: unknown;
16
+ }
17
+
18
+ export type Metadata = {
19
+ name: string;
20
+ description: string;
21
+ url: string;
22
+ icons: string[];
23
+ redirect?: {
24
+ native?: string;
25
+ universal?: string;
26
+ linkMode?: boolean;
27
+ };
28
+ };
29
+
30
+ export interface Token {
31
+ address: string;
32
+ image?: string;
33
+ }
34
+
35
+ export type Tokens = Record<CaipNetworkId, Token>;
36
+
37
+ export interface Identity {
38
+ name: string;
39
+ avatar?: string;
40
+ }
41
+
42
+ export type ConnectedWalletInfo = WalletInfo | undefined;
@@ -1,5 +1,5 @@
1
1
  export const ConstantsUtil = {
2
- VERSION: '0.0.0-develop-20250728153935',
2
+ VERSION: '0.0.0-develop-20251030154825',
3
3
 
4
4
  EIP155: 'eip155',
5
5
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
@@ -11,12 +11,20 @@ export const ConstantsUtil = {
11
11
  BLOCKCHAIN_API_RPC_URL_STAGING: 'https://staging.rpc.walletconnect.org',
12
12
  PULSE_API_URL: 'https://pulse.walletconnect.org',
13
13
  API_URL: 'https://api.web3modal.org',
14
+ WEB_WALLET_URL: 'https://web-wallet.walletconnect.org',
15
+ SECURE_SITE_DASHBOARD: `https://secure.reown.com/dashboard`,
16
+ SECURE_SITE_ICON: `https://secure.reown.com/images/favicon.png`,
17
+ REOWN_URL: `https://reown.com`,
14
18
 
15
- WALLET_CONNECT_CONNECTOR_ID: 'walletConnect',
16
- COINBASE_CONNECTOR_ID: 'coinbaseWallet',
17
- AUTH_CONNECTOR_ID: 'appKitAuth',
18
-
19
- COINBASE_EXPLORER_ID: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',
19
+ CHAIN_NAME_MAP: {
20
+ eip155: 'EVM Networks',
21
+ solana: 'Solana',
22
+ polkadot: 'Polkadot',
23
+ bip122: 'Bitcoin',
24
+ cosmos: 'Cosmos',
25
+ sui: 'Sui',
26
+ stacks: 'Stacks'
27
+ },
20
28
 
21
29
  USDT_CONTRACT_ADDRESSES: [
22
30
  // Mainnet
@@ -33,5 +41,38 @@ export const ConstantsUtil = {
33
41
  '0x55d398326f99059fF775485246999027B3197955',
34
42
  // Arbitrum
35
43
  '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9'
36
- ]
44
+ ],
45
+
46
+ PHANTOM_CUSTOM_WALLET: {
47
+ id: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',
48
+ name: 'Phantom Wallet',
49
+ image_id: 'b6ec7b81-bb4f-427d-e290-7631e6e50d00',
50
+ mobile_link: 'phantom://',
51
+ play_store: 'https://play.google.com/store/apps/details?id=app.phantom',
52
+ app_store: 'https://apps.apple.com/app/id1598432977',
53
+ android_app_id: 'app.phantom',
54
+ ios_schema: 'phantom://'
55
+ },
56
+
57
+ COINBASE_CUSTOM_WALLET: {
58
+ id: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',
59
+ name: 'Coinbase Wallet',
60
+ image_id: 'a5ebc364-8f91-4200-fcc6-be81310a0000',
61
+ mobile_link: 'https://wallet.coinbase.com/wsegue',
62
+ play_store: 'https://play.google.com/store/apps/details?id=org.toshi',
63
+ app_store: 'https://apps.apple.com/app/id1278383455',
64
+ android_app_id: 'org.toshi',
65
+ ios_schema: 'cbwallet://'
66
+ },
67
+
68
+ SOLFLARE_CUSTOM_WALLET: {
69
+ id: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',
70
+ name: 'Solflare Wallet',
71
+ image_id: '34c0e38d-66c4-470e-1aed-a6fabe2d1e00',
72
+ mobile_link: 'solflare://',
73
+ play_store: 'https://play.google.com/store/apps/details?id=com.solflare.mobile',
74
+ app_store: 'https://apps.apple.com/app/id1580902717',
75
+ android_app_id: 'com.solflare.mobile',
76
+ ios_schema: 'solflare://'
77
+ }
37
78
  };
@@ -1,5 +1,10 @@
1
+ import type { CaipAddress } from '../types';
2
+
1
3
  export const NetworkUtil = {
2
4
  caipNetworkIdToNumber(caipnetworkId?: `${string}:${string}`) {
3
5
  return caipnetworkId ? Number(caipnetworkId.split(':')[1]) : undefined;
6
+ },
7
+ getPlainAddress(caipAddress?: CaipAddress) {
8
+ return caipAddress?.split(':')[2];
4
9
  }
5
10
  };
@@ -1,6 +1,12 @@
1
1
  import * as BigNumber from 'bignumber.js';
2
2
 
3
3
  export const NumberUtil = {
4
+ /**
5
+ * Creates a BigNumber instance from a given value.
6
+ * If the value is a string, commas are removed before conversion.
7
+ * @param value - The input value (string, number, or BigNumber) to convert to a BigNumber.
8
+ * @returns A BigNumber instance.
9
+ */
4
10
  bigNumber(value: BigNumber.BigNumber.Value) {
5
11
  if (typeof value === 'string') {
6
12
  return new BigNumber.BigNumber(value.replace(/,/g, ''));
@@ -10,10 +16,11 @@ export const NumberUtil = {
10
16
  },
11
17
 
12
18
  /**
13
- * Multiply two numbers represented as strings with BigNumber to handle decimals correctly
14
- * @param a string
15
- * @param b string
16
- * @returns
19
+ * Multiplies two numbers using BigNumber for precision, especially with decimals.
20
+ * Handles undefined inputs by returning BigNumber(0).
21
+ * @param a - The first multiplicand (string, number, or BigNumber). Commas are removed if it's a string.
22
+ * @param b - The second multiplicand (string, number, or BigNumber). Commas are removed if it's a string.
23
+ * @returns The product as a BigNumber instance, or BigNumber(0) if either input is undefined.
17
24
  */
18
25
  multiply(a: BigNumber.BigNumber.Value | undefined, b: BigNumber.BigNumber.Value | undefined) {
19
26
  if (a === undefined || b === undefined) {
@@ -26,6 +33,13 @@ export const NumberUtil = {
26
33
  return aBigNumber.multipliedBy(bBigNumber);
27
34
  },
28
35
 
36
+ /**
37
+ * Rounds a number to a specified number of decimal places if its string representation meets a certain length threshold.
38
+ * @param number - The number to potentially round.
39
+ * @param threshold - The minimum string length of the number to trigger rounding.
40
+ * @param fixed - The number of decimal places to round to.
41
+ * @returns The rounded number (as a string if rounded, otherwise the original number) or the original number.
42
+ */
29
43
  roundNumber(number: number, threshold: number, fixed: number) {
30
44
  const roundedNumber =
31
45
  number.toString().length >= threshold ? Number(number).toFixed(fixed) : number;
@@ -33,6 +47,12 @@ export const NumberUtil = {
33
47
  return roundedNumber;
34
48
  },
35
49
 
50
+ /**
51
+ * Calculates the next multiple of ten greater than or equal to the given amount.
52
+ * Defaults to 10 if no amount is provided or if the calculated multiple is less than 10.
53
+ * @param amount - The number for which to find the next multiple of ten. Optional.
54
+ * @returns The next multiple of ten, at least 10.
55
+ */
36
56
  nextMultipleOfTen(amount?: number) {
37
57
  if (!amount) return 10;
38
58
 
@@ -40,10 +60,10 @@ export const NumberUtil = {
40
60
  },
41
61
 
42
62
  /**
43
- * Format the given number or string to human readable numbers with the given number of decimals
44
- * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
45
- * @param decimals - number of decimals after dot
46
- * @returns
63
+ * Formats a number or string to a human-readable string with a specified number of decimal places, using US locale formatting.
64
+ * @param value - The value to format (string, number, or undefined). If undefined, returns '0.00'.
65
+ * @param decimals - The number of decimal places to display. Defaults to 2.
66
+ * @returns A locale-formatted string representation of the number.
47
67
  */
48
68
  formatNumberToLocalString(value: string | number | undefined, decimals = 2) {
49
69
  if (value === undefined) {
@@ -62,10 +82,11 @@ export const NumberUtil = {
62
82
  minimumFractionDigits: decimals
63
83
  });
64
84
  },
85
+
65
86
  /**
66
- * Parse a formatted local string back to a number
67
- * @param value - The formatted string to parse
68
- * @returns
87
+ * Parses a locale-formatted numeric string (e.g., with commas) back into a number.
88
+ * @param value - The formatted string to parse. If undefined, returns 0.
89
+ * @returns The parsed number, or 0 if the input is undefined.
69
90
  */
70
91
  parseLocalStringToNumber(value: string | undefined) {
71
92
  if (value === undefined) {
@@ -74,5 +95,27 @@ export const NumberUtil = {
74
95
 
75
96
  // Remove any commas used as thousand separators and parse the float
76
97
  return parseFloat(value.replace(/,/gu, ''));
98
+ },
99
+
100
+ /**
101
+ * Converts a numeric value (BigInt, number, or string representation of a number) to a 0x-prefixed hexadecimal string.
102
+ * This is often required for Ethereum RPC parameters like value, gas, gasPrice.
103
+ * @param value - The value to convert. Can be BigInt, number, or a string (decimal or hex).
104
+ * @returns A 0x-prefixed hexadecimal string, or undefined if the input is undefined or null.
105
+ * @throws Error if the value cannot be converted to BigInt.
106
+ */
107
+ convertNumericToHexString: (value: any): string | undefined => {
108
+ if (value === undefined || value === null) {
109
+ return undefined;
110
+ }
111
+ try {
112
+ // This handles BigInt, number, or string representation of a number (decimal or hex)
113
+ const bigIntValue = BigInt(value);
114
+ // Ethereum RPC spec requires "0x0" for zero, and other values to be 0x-prefixed hex.
115
+
116
+ return '0x' + bigIntValue.toString(16);
117
+ } catch (error) {
118
+ throw new Error(`NumberUtil: Invalid parameter, cannot convert to hex: ${value}`);
119
+ }
77
120
  }
78
121
  };
@@ -1,17 +1,9 @@
1
- import type { ConnectorType } from './TypeUtil';
2
- import { ConstantsUtil } from './ConstantsUtil';
3
-
4
1
  export const PresetsUtil = {
5
- ConnectorExplorerIds: {
6
- [ConstantsUtil.COINBASE_CONNECTOR_ID]:
7
- 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa'
8
- } as Record<string, string>,
9
-
10
- EIP155NetworkImageIds: {
2
+ NetworkImageIds: {
11
3
  // Ethereum
12
4
  1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',
13
5
  // Arbitrum
14
- 42161: '600a9a04-c1b9-42ca-6785-9b4b6ff85200',
6
+ 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',
15
7
  // Avalanche
16
8
  43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',
17
9
  // Binance Smart Chain
@@ -22,6 +14,20 @@ export const PresetsUtil = {
22
14
  10: 'ab9c186a-c52f-464b-2906-ca59d760a400',
23
15
  // Polygon
24
16
  137: '41d04d42-da3b-4453-8506-668cc0727900',
17
+ // Mantle
18
+ 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',
19
+ // Hedera Mainnet
20
+ 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',
21
+ // Sepolia
22
+ 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',
23
+ // Base Sepolia
24
+ 84532: 'a18a7ecd-e307-4360-4746-283182228e00',
25
+ // Unichain Sepolia
26
+ 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',
27
+ // Unichain Mainnet
28
+ 130: '2257980a-3463-48c6-cbac-a42d2a956e00',
29
+ // Monad Testnet
30
+ 10_143: '0a728e83-bacb-46db-7844-948f05434900',
25
31
  // Gnosis
26
32
  100: '02b53f6a-e3d4-479e-1cb4-21178987d100',
27
33
  // EVMos
@@ -45,26 +51,28 @@ export const PresetsUtil = {
45
51
  // Base
46
52
  8453: '7289c336-3981-4081-c5f4-efc26ac64a00',
47
53
  // Aurora
48
- 1313161554: '3ff73439-a619-4894-9262-4470c773a100'
49
- } as Record<string, string>,
54
+ 1313161554: '3ff73439-a619-4894-9262-4470c773a100',
55
+ // Ronin Mainnet
56
+ 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
57
+ // Saigon Testnet (a.k.a. Ronin)
58
+ 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
59
+ // Berachain Mainnet
60
+ 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',
61
+ // Abstract Mainnet
62
+ 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',
50
63
 
51
- ConnectorNamesMap: {
52
- [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WalletConnect',
53
- [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'Coinbase Wallet',
54
- [ConstantsUtil.AUTH_CONNECTOR_ID]: 'AppKit Universal Wallet'
55
- } as Record<string, string>,
64
+ // Solana networks
65
+ /// Mainnet
66
+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
67
+ /// Testnet
68
+ '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
56
69
 
57
- ConnectorImageIds: {
58
- [ConstantsUtil.COINBASE_CONNECTOR_ID]: '0c2840c3-5b04-4c44-9661-fbd4b49e1800',
59
- [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400'
70
+ // Bitcoin
71
+ '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',
72
+ // Bitcoin Testnet
73
+ '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'
60
74
  } as Record<string, string>,
61
75
 
62
- ConnectorTypesMap: {
63
- [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WALLET_CONNECT',
64
- [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'COINBASE',
65
- [ConstantsUtil.AUTH_CONNECTOR_ID]: 'AUTH'
66
- } as Record<string, ConnectorType>,
67
-
68
76
  RpcChainIds: [
69
77
  // Ethereum
70
78
  1,
@@ -5,5 +5,12 @@ export const StringUtil = {
5
5
  }
6
6
 
7
7
  return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
8
+ },
9
+ hexToString(hexValue: string) {
10
+ // Remove 0x prefix if present
11
+ const cleanHex = hexValue.startsWith('0x') ? hexValue.slice(2) : hexValue;
12
+ // Convert hex to decimal number, then to string
13
+
14
+ return parseInt(cleanHex, 16).toString();
8
15
  }
9
16
  };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=TypeUtil.js.map
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=TypeUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC"}