@rainlanguage/ui-components 0.0.1-alpha.21 → 0.0.1-alpha.210

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 (260) hide show
  1. package/dist/__fixtures__/settings.yaml +125 -0
  2. package/dist/__mocks__/CodeMirrorRainlang.svelte +4 -0
  3. package/dist/__mocks__/CodeMirrorRainlang.svelte.d.ts +18 -0
  4. package/dist/__mocks__/MockComponent.svelte +4 -0
  5. package/dist/__mocks__/MockComponent.svelte.d.ts +3 -1
  6. package/dist/__mocks__/stores.d.ts +47 -33
  7. package/dist/__mocks__/stores.js +61 -38
  8. package/dist/components/ButtonLoading.svelte +1 -1
  9. package/dist/components/ButtonVaultLink.svelte +11 -11
  10. package/dist/components/ButtonVaultLink.svelte.d.ts +4 -3
  11. package/dist/components/CheckboxInactiveOrdersVault.svelte +20 -0
  12. package/dist/components/CheckboxInactiveOrdersVault.svelte.d.ts +19 -0
  13. package/dist/components/CheckboxMyItemsOnly.svelte +3 -2
  14. package/dist/components/CheckboxMyItemsOnly.svelte.d.ts +2 -3
  15. package/dist/components/CheckboxZeroBalanceVault.svelte.d.ts +2 -2
  16. package/dist/components/CodeMirrorDotrain.svelte +4 -0
  17. package/dist/components/CodeMirrorDotrain.svelte.d.ts +1 -0
  18. package/dist/components/CodeMirrorRainlang.svelte +3 -12
  19. package/dist/components/CodeMirrorRainlang.svelte.d.ts +2 -2
  20. package/dist/components/EditableSpan.svelte +3 -14
  21. package/dist/components/EditableSpan.svelte.d.ts +0 -1
  22. package/dist/components/Hash.svelte +3 -3
  23. package/dist/components/License.svelte +5 -4
  24. package/dist/components/ListViewOrderbookFilters.svelte +45 -23
  25. package/dist/components/ListViewOrderbookFilters.svelte.d.ts +27 -22
  26. package/dist/components/LocalDbStatusBadge.svelte +27 -0
  27. package/dist/components/LocalDbStatusBadge.svelte.d.ts +19 -0
  28. package/dist/components/LocalDbStatusCard.svelte +40 -0
  29. package/dist/components/LocalDbStatusCard.svelte.d.ts +20 -0
  30. package/dist/components/LocalDbStatusModal.svelte +103 -0
  31. package/dist/components/LocalDbStatusModal.svelte.d.ts +21 -0
  32. package/dist/components/OrderOrVaultHash.svelte +12 -12
  33. package/dist/components/OrderOrVaultHash.svelte.d.ts +4 -4
  34. package/dist/components/PageHeader.svelte +1 -1
  35. package/dist/components/TanstackAppTable.svelte +179 -28
  36. package/dist/components/TanstackAppTable.svelte.d.ts +14 -8
  37. package/dist/components/ToastDetail.svelte +42 -0
  38. package/dist/components/ToastDetail.svelte.d.ts +20 -0
  39. package/dist/components/Tooltip.svelte +8 -0
  40. package/dist/components/Tooltip.svelte.d.ts +21 -0
  41. package/dist/components/VaultBalanceChangeTypeFilter.svelte +23 -0
  42. package/dist/components/VaultBalanceChangeTypeFilter.svelte.d.ts +19 -0
  43. package/dist/components/VaultCard.svelte +18 -0
  44. package/dist/components/VaultCard.svelte.d.ts +19 -0
  45. package/dist/components/charts/LightweightChart.svelte +1 -1
  46. package/dist/components/charts/LightweightChart.svelte.d.ts +5 -5
  47. package/dist/components/charts/OrderTradesChart.svelte +300 -28
  48. package/dist/components/charts/OrderTradesChart.svelte.d.ts +4 -4
  49. package/dist/components/charts/TanstackLightweightChartLine.svelte +5 -9
  50. package/dist/components/charts/VaultBalanceChart.svelte +8 -26
  51. package/dist/components/charts/VaultBalanceChart.svelte.d.ts +1 -7
  52. package/dist/components/charts/transformAndSortData.d.ts +24 -0
  53. package/dist/components/charts/transformAndSortData.js +111 -0
  54. package/dist/components/checkbox/CheckboxActiveOrders.svelte +11 -0
  55. package/dist/components/checkbox/CheckboxActiveOrders.svelte.d.ts +19 -0
  56. package/dist/components/deployment/ButtonSelectOption.svelte +2 -0
  57. package/dist/components/deployment/ButtonSelectOption.svelte.d.ts +1 -0
  58. package/dist/components/deployment/ComposedRainlangModal.svelte +2 -1
  59. package/dist/components/deployment/ComposedRainlangModal.svelte.d.ts +1 -4
  60. package/dist/components/deployment/DeploymentSectionHeader.svelte +7 -4
  61. package/dist/components/deployment/DeploymentSteps.svelte +209 -216
  62. package/dist/components/deployment/DeploymentSteps.svelte.d.ts +6 -12
  63. package/dist/components/deployment/DeploymentTile.svelte +2 -2
  64. package/dist/components/deployment/DeploymentTile.svelte.d.ts +1 -1
  65. package/dist/components/deployment/DeploymentsSection.svelte +15 -22
  66. package/dist/components/deployment/DeploymentsSection.svelte.d.ts +3 -2
  67. package/dist/components/deployment/DepositInput.svelte +8 -10
  68. package/dist/components/deployment/DepositInput.svelte.d.ts +1 -2
  69. package/dist/components/deployment/DisclaimerModal.svelte +6 -7
  70. package/dist/components/deployment/FieldDefinitionInput.svelte +7 -11
  71. package/dist/components/deployment/FieldDefinitionInput.svelte.d.ts +1 -2
  72. package/dist/components/deployment/InvalidOrdersSection.svelte +17 -0
  73. package/dist/components/deployment/InvalidOrdersSection.svelte.d.ts +19 -0
  74. package/dist/components/deployment/{StrategyPage.svelte → OrderPage.svelte} +15 -24
  75. package/dist/components/deployment/OrderPage.svelte.d.ts +21 -0
  76. package/dist/components/deployment/SelectToken.svelte +125 -48
  77. package/dist/components/deployment/SelectToken.svelte.d.ts +4 -3
  78. package/dist/components/deployment/TokenBalance.svelte +19 -0
  79. package/dist/components/deployment/TokenBalance.svelte.d.ts +19 -0
  80. package/dist/components/deployment/TokenIOInput.svelte +25 -15
  81. package/dist/components/deployment/TokenIOInput.svelte.d.ts +3 -3
  82. package/dist/components/deployment/TokenSelectionModal.svelte +148 -0
  83. package/dist/components/deployment/TokenSelectionModal.svelte.d.ts +20 -0
  84. package/dist/components/deployment/{ValidStrategiesSection.svelte → ValidOrdersSection.svelte} +7 -7
  85. package/dist/components/deployment/ValidOrdersSection.svelte.d.ts +19 -0
  86. package/dist/components/deployment/VaultIdInformation.svelte +17 -0
  87. package/dist/components/deployment/VaultIdInformation.svelte.d.ts +21 -0
  88. package/dist/components/detail/OrderDetail.svelte +184 -80
  89. package/dist/components/detail/OrderDetail.svelte.d.ts +21 -15
  90. package/dist/components/detail/TanstackOrderQuote.svelte +92 -46
  91. package/dist/components/detail/TanstackOrderQuote.svelte.d.ts +14 -16
  92. package/dist/components/detail/VaultDetail.svelte +78 -77
  93. package/dist/components/detail/VaultDetail.svelte.d.ts +12 -18
  94. package/dist/components/dropdown/DropdownActiveNetworks.svelte +44 -0
  95. package/dist/components/dropdown/DropdownActiveNetworks.svelte.d.ts +19 -0
  96. package/dist/components/dropdown/DropdownCheckbox.svelte +4 -4
  97. package/dist/components/dropdown/DropdownOrderListAccounts.svelte +5 -2
  98. package/dist/components/dropdown/DropdownOrderListAccounts.svelte.d.ts +2 -3
  99. package/dist/components/dropdown/DropdownOrderbooksFilter.svelte +172 -0
  100. package/dist/components/dropdown/DropdownOrderbooksFilter.svelte.d.ts +25 -0
  101. package/dist/components/dropdown/DropdownTokensFilter.svelte +152 -0
  102. package/dist/components/dropdown/DropdownTokensFilter.svelte.d.ts +28 -0
  103. package/dist/components/icon/Refresh.svelte +2 -1
  104. package/dist/components/icon/Refresh.svelte.d.ts +1 -0
  105. package/dist/components/input/InputOrderHash.svelte +1 -1
  106. package/dist/components/input/InputOrderHash.svelte.d.ts +3 -3
  107. package/dist/components/input/InputRegistryUrl.svelte +36 -14
  108. package/dist/components/input/InputToken.svelte +2 -2
  109. package/dist/components/input/InputTokenAmount.svelte +16 -21
  110. package/dist/components/input/InputTokenAmount.svelte.d.ts +3 -3
  111. package/dist/components/tables/OrderAPY.svelte +6 -33
  112. package/dist/components/tables/OrderAPY.svelte.d.ts +1 -4
  113. package/dist/components/tables/OrderTradesListTable.svelte +84 -81
  114. package/dist/components/tables/OrderTradesListTable.svelte.d.ts +4 -4
  115. package/dist/components/tables/OrderVaultsVolTable.svelte +17 -22
  116. package/dist/components/tables/OrderVaultsVolTable.svelte.d.ts +2 -2
  117. package/dist/components/tables/OrdersListTable.svelte +200 -108
  118. package/dist/components/tables/OrdersListTable.svelte.d.ts +17 -21
  119. package/dist/components/tables/VaultBalanceChangesTable.svelte +83 -43
  120. package/dist/components/tables/VaultBalanceChangesTable.svelte.d.ts +13 -11
  121. package/dist/components/tables/VaultsListTable.svelte +268 -145
  122. package/dist/components/tables/VaultsListTable.svelte.d.ts +24 -32
  123. package/dist/components/transactions/FixedBottomTransaction.svelte +63 -0
  124. package/dist/components/transactions/FixedBottomTransaction.svelte.d.ts +16 -0
  125. package/dist/components/transactions/TransactionDetail.svelte +31 -0
  126. package/dist/components/transactions/TransactionDetail.svelte.d.ts +20 -0
  127. package/dist/components/transactions/TransactionList.svelte +17 -0
  128. package/dist/components/transactions/TransactionList.svelte.d.ts +16 -0
  129. package/dist/components/transactions/getStatusEmoji.d.ts +2 -0
  130. package/dist/components/transactions/getStatusEmoji.js +20 -0
  131. package/dist/components/wallet/WalletConnect.svelte +5 -4
  132. package/dist/components/wallet/WalletConnect.svelte.d.ts +0 -1
  133. package/dist/consts.d.ts +1 -0
  134. package/dist/consts.js +1 -0
  135. package/dist/errors/DeploymentStepsError.d.ts +8 -2
  136. package/dist/errors/DeploymentStepsError.js +7 -1
  137. package/dist/hooks/useGui.d.ts +1 -1
  138. package/dist/hooks/useGui.js +1 -1
  139. package/dist/hooks/useLocalDb.d.ts +3 -0
  140. package/dist/hooks/useLocalDb.js +10 -0
  141. package/dist/hooks/useRaindexClient.d.ts +3 -0
  142. package/dist/hooks/useRaindexClient.js +11 -0
  143. package/dist/index.d.ts +42 -19
  144. package/dist/index.js +41 -16
  145. package/dist/models/Transaction.d.ts +75 -0
  146. package/dist/models/Transaction.js +100 -0
  147. package/dist/providers/GuiProvider.svelte +1 -1
  148. package/dist/providers/GuiProvider.svelte.d.ts +1 -1
  149. package/dist/providers/LocalDbProvider.svelte +8 -0
  150. package/dist/providers/LocalDbProvider.svelte.d.ts +21 -0
  151. package/dist/providers/RaindexClientProvider.svelte +8 -0
  152. package/dist/providers/RaindexClientProvider.svelte.d.ts +21 -0
  153. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte +8 -0
  154. package/dist/providers/dotrainRegistry/DotrainRegistryProvider.svelte.d.ts +24 -0
  155. package/dist/providers/dotrainRegistry/context.d.ts +9 -0
  156. package/dist/providers/dotrainRegistry/context.js +40 -0
  157. package/dist/providers/dotrainRegistry/useDotrainRegistry.d.ts +5 -0
  158. package/dist/providers/dotrainRegistry/useDotrainRegistry.js +35 -0
  159. package/dist/providers/registry/RegistryManager.d.ts +65 -0
  160. package/dist/providers/registry/RegistryManager.js +133 -0
  161. package/dist/providers/registry/RegistryProvider.svelte +6 -0
  162. package/dist/providers/registry/RegistryProvider.svelte.d.ts +21 -0
  163. package/dist/providers/registry/context.d.ts +10 -0
  164. package/dist/providers/registry/context.js +46 -0
  165. package/dist/providers/registry/useRegistry.d.ts +7 -0
  166. package/dist/providers/registry/useRegistry.js +29 -0
  167. package/dist/providers/toasts/ToastProvider.svelte +17 -0
  168. package/dist/providers/toasts/ToastProvider.svelte.d.ts +18 -0
  169. package/dist/providers/toasts/context.d.ts +14 -0
  170. package/dist/providers/toasts/context.js +22 -0
  171. package/dist/providers/toasts/useToasts.d.ts +16 -0
  172. package/dist/providers/toasts/useToasts.js +63 -0
  173. package/dist/providers/transactions/TransactionManager.d.ts +235 -0
  174. package/dist/providers/transactions/TransactionManager.js +509 -0
  175. package/dist/providers/transactions/TransactionProvider.svelte +11 -0
  176. package/dist/providers/transactions/TransactionProvider.svelte.d.ts +24 -0
  177. package/dist/providers/transactions/context.d.ts +19 -0
  178. package/dist/providers/transactions/context.js +28 -0
  179. package/dist/providers/transactions/useTransactions.d.ts +13 -0
  180. package/dist/providers/transactions/useTransactions.js +18 -0
  181. package/dist/providers/wallet/WalletProvider.svelte +7 -0
  182. package/dist/providers/wallet/WalletProvider.svelte.d.ts +21 -0
  183. package/dist/providers/wallet/context.d.ts +10 -0
  184. package/dist/providers/wallet/context.js +47 -0
  185. package/dist/providers/wallet/useAccount.d.ts +8 -0
  186. package/dist/providers/wallet/useAccount.js +148 -0
  187. package/dist/queries/keys.d.ts +1 -0
  188. package/dist/queries/keys.js +1 -0
  189. package/dist/queries/queryClient.d.ts +1 -1
  190. package/dist/queries/queryClient.js +11 -6
  191. package/dist/services/awaitTransactionIndexing.d.ts +107 -0
  192. package/dist/services/awaitTransactionIndexing.js +58 -0
  193. package/dist/services/getExplorerLink.d.ts +1 -1
  194. package/dist/services/getExplorerLink.js +2 -4
  195. package/dist/services/handleShareChoices.d.ts +2 -2
  196. package/dist/services/handleShareChoices.js +7 -2
  197. package/dist/services/historicalOrderCharts.d.ts +2 -2
  198. package/dist/services/historicalOrderCharts.js +267 -333
  199. package/dist/services/index.d.ts +2 -1
  200. package/dist/services/index.js +2 -1
  201. package/dist/services/loadRegistryUrl.d.ts +2 -0
  202. package/dist/services/loadRegistryUrl.js +22 -0
  203. package/dist/services/pairTradesChartData.d.ts +47 -0
  204. package/dist/services/pairTradesChartData.js +190 -0
  205. package/dist/services/registry.d.ts +5 -5
  206. package/dist/services/registry.js +8 -208
  207. package/dist/services/time.d.ts +12 -0
  208. package/dist/services/time.js +88 -6
  209. package/dist/storesGeneric/cachedWritableStore.d.ts +57 -0
  210. package/dist/storesGeneric/cachedWritableStore.js +93 -0
  211. package/dist/types/account.d.ts +3 -0
  212. package/dist/types/appStores.d.ts +9 -14
  213. package/dist/types/modal.d.ts +26 -14
  214. package/dist/types/{strategy.d.ts → order.d.ts} +3 -3
  215. package/dist/types/order.js +1 -0
  216. package/dist/types/toast.d.ts +11 -0
  217. package/dist/types/toast.js +1 -0
  218. package/dist/types/tokenBalance.d.ts +6 -0
  219. package/dist/types/tokenBalance.js +1 -0
  220. package/dist/types/transaction.d.ts +66 -21
  221. package/dist/types/transaction.js +31 -1
  222. package/dist/utils/configHelpers.d.ts +4 -0
  223. package/dist/utils/configHelpers.js +21 -0
  224. package/dist/utils/constructHashLink.d.ts +24 -0
  225. package/dist/utils/constructHashLink.js +115 -0
  226. package/dist/utils/getNetworkName.d.ts +1 -0
  227. package/dist/utils/getNetworkName.js +13 -0
  228. package/dist/utils/number.d.ts +0 -7
  229. package/dist/utils/number.js +0 -27
  230. package/dist/utils/tokens.d.ts +2 -0
  231. package/dist/utils/tokens.js +3 -0
  232. package/dist/utils/vaultBalanceChangeLabels.d.ts +4 -0
  233. package/dist/utils/vaultBalanceChangeLabels.js +18 -0
  234. package/package.json +39 -34
  235. package/dist/__fixtures__/orderDetail.d.ts +0 -99
  236. package/dist/__fixtures__/orderDetail.js +0 -204
  237. package/dist/__fixtures__/settings-12-11-24.json +0 -160
  238. package/dist/__mocks__/mockTransactionStore.d.ts +0 -22
  239. package/dist/__mocks__/mockTransactionStore.js +0 -56
  240. package/dist/__mocks__/settings.d.ts +0 -3
  241. package/dist/__mocks__/settings.js +0 -37
  242. package/dist/components/deployment/InvalidStrategiesSection.svelte +0 -19
  243. package/dist/components/deployment/InvalidStrategiesSection.svelte.d.ts +0 -19
  244. package/dist/components/deployment/StrategyPage.svelte.d.ts +0 -19
  245. package/dist/components/deployment/ValidStrategiesSection.svelte.d.ts +0 -19
  246. package/dist/components/deployment/getDeploymentTransactionArgs.d.ts +0 -17
  247. package/dist/components/deployment/getDeploymentTransactionArgs.js +0 -28
  248. package/dist/components/detail/DepositOrWithdrawButtons.svelte +0 -44
  249. package/dist/components/detail/DepositOrWithdrawButtons.svelte.d.ts +0 -26
  250. package/dist/components/dropdown/DropdownActiveSubgraphs.svelte +0 -38
  251. package/dist/components/dropdown/DropdownActiveSubgraphs.svelte.d.ts +0 -21
  252. package/dist/components/dropdown/DropdownOrderStatus.svelte +0 -31
  253. package/dist/components/dropdown/DropdownOrderStatus.svelte.d.ts +0 -19
  254. package/dist/stores/transactionStore.d.ts +0 -98
  255. package/dist/stores/transactionStore.js +0 -303
  256. package/dist/utils/time.d.ts +0 -12
  257. package/dist/utils/time.js +0 -27
  258. package/dist/utils/vault.d.ts +0 -2
  259. package/dist/utils/vault.js +0 -29
  260. /package/dist/types/{strategy.js → account.js} +0 -0
@@ -0,0 +1,31 @@
1
+ <script>import {} from "svelte/store";
2
+ import { getStatusEmoji } from "./getStatusEmoji";
3
+ export let state;
4
+ </script>
5
+
6
+ <div class="flex w-full flex-col gap-1 rounded-md bg-gray-300 p-2 dark:bg-gray-700">
7
+ <p class="break-words font-semibold">{$state.name}</p>
8
+ <div class="flex flex-col gap-1 text-sm">
9
+ <p class="break-words">{getStatusEmoji($state.status)} {$state.status}</p>
10
+ {#if $state.errorDetails}
11
+ <p class="break-words">{$state.errorDetails}</p>
12
+ {/if}
13
+ {#if $state.links.length > 0}
14
+ <div class="flex flex-col gap-1">
15
+ {#each $state.links as link}
16
+ <p class="break-words">
17
+ <a
18
+ href={link.link}
19
+ data-testid={`transaction-detail-link-${link.label}`}
20
+ target="_blank"
21
+ rel="noopener noreferrer"
22
+ class="text-blue-500 hover:underline"
23
+ >
24
+ {link.label}
25
+ </a>
26
+ </p>
27
+ {/each}
28
+ </div>
29
+ {/if}
30
+ </div>
31
+ </div>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { TransactionStoreState } from '../../models/Transaction';
3
+ import { type Readable } from 'svelte/store';
4
+ declare const __propDef: {
5
+ props: {
6
+ state: Readable<TransactionStoreState>;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ exports?: {} | undefined;
13
+ bindings?: string | undefined;
14
+ };
15
+ export type TransactionDetailProps = typeof __propDef.props;
16
+ export type TransactionDetailEvents = typeof __propDef.events;
17
+ export type TransactionDetailSlots = typeof __propDef.slots;
18
+ export default class TransactionDetail extends SvelteComponent<TransactionDetailProps, TransactionDetailEvents, TransactionDetailSlots> {
19
+ }
20
+ export {};
@@ -0,0 +1,17 @@
1
+ <script>import TransactionDetail from "./TransactionDetail.svelte";
2
+ import { useTransactions } from "../../providers/transactions/useTransactions";
3
+ const { transactions } = useTransactions();
4
+ </script>
5
+
6
+ {#if $transactions.length > 0}
7
+ <div class="h-full overflow-y-auto" data-testid="transaction-list">
8
+ <ul aria-label="Transaction list" class="flex w-full flex-col gap-4">
9
+ {#each $transactions.slice().reverse() as transaction}
10
+ {@const state = transaction.state}
11
+ <li>
12
+ <TransactionDetail {state} />
13
+ </li>
14
+ {/each}
15
+ </ul>
16
+ </div>
17
+ {/if}
@@ -0,0 +1,16 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ exports?: {} | undefined;
9
+ bindings?: string | undefined;
10
+ };
11
+ export type TransactionListProps = typeof __propDef.props;
12
+ export type TransactionListEvents = typeof __propDef.events;
13
+ export type TransactionListSlots = typeof __propDef.slots;
14
+ export default class TransactionList extends SvelteComponent<TransactionListProps, TransactionListEvents, TransactionListSlots> {
15
+ }
16
+ export {};
@@ -0,0 +1,2 @@
1
+ import { TransactionStatusMessage } from '../../types/transaction';
2
+ export declare function getStatusEmoji(status: TransactionStatusMessage): string;
@@ -0,0 +1,20 @@
1
+ import { TransactionStatusMessage } from '../../types/transaction';
2
+ import { match } from 'ts-pattern';
3
+ export function getStatusEmoji(status) {
4
+ return match(status)
5
+ .with(TransactionStatusMessage.PENDING_RECEIPT, () => '🔄')
6
+ .with(TransactionStatusMessage.PENDING_SUBGRAPH, () => '📊')
7
+ .with(TransactionStatusMessage.SUCCESS, () => '✅')
8
+ .with(TransactionStatusMessage.ERROR, () => '❌')
9
+ .otherwise(() => '❓');
10
+ }
11
+ if (import.meta.vitest) {
12
+ describe('getStatusEmoji', () => {
13
+ it('should return the correct emoji for each status', () => {
14
+ expect(getStatusEmoji(TransactionStatusMessage.PENDING_RECEIPT)).toBe('🔄');
15
+ expect(getStatusEmoji(TransactionStatusMessage.PENDING_SUBGRAPH)).toBe('📊');
16
+ expect(getStatusEmoji(TransactionStatusMessage.SUCCESS)).toBe('✅');
17
+ expect(getStatusEmoji(TransactionStatusMessage.ERROR)).toBe('❌');
18
+ });
19
+ });
20
+ }
@@ -2,10 +2,11 @@
2
2
  import { CheckCircleOutline } from "flowbite-svelte-icons";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  import truncateEthAddress from "truncate-eth-address";
5
+ import { useAccount } from "../../providers/wallet/useAccount";
5
6
  export let appKitModal;
6
7
  export let connected;
7
- export let signerAddress;
8
8
  export let classes = "";
9
+ const { account } = useAccount();
9
10
  function handleClick() {
10
11
  $appKitModal.open();
11
12
  }
@@ -18,11 +19,11 @@ function handleClick() {
18
19
  class={twMerge('flex border border-gray-700 px-2 md:px-4 dark:border-gray-200', classes)}
19
20
  color={$connected ? 'alternative' : 'primary'}
20
21
  >
21
- {#if $connected && $signerAddress}
22
+ {#if $connected && $account}
22
23
  <span class="flex flex-row items-center gap-2 text-sm"
23
- ><CheckCircleOutline color="green" size="sm" />{truncateEthAddress($signerAddress)}</span
24
+ ><CheckCircleOutline color="green" size="sm" />{truncateEthAddress($account)}</span
24
25
  >
25
26
  {:else}
26
- <span>Connect Wallet</span>
27
+ <span>Connect</span>
27
28
  {/if}
28
29
  </Button>
@@ -5,7 +5,6 @@ declare const __propDef: {
5
5
  props: {
6
6
  appKitModal: Writable<AppKit>;
7
7
  connected: Writable<boolean>;
8
- signerAddress: Writable<string | null>;
9
8
  classes?: string;
10
9
  };
11
10
  events: {
@@ -0,0 +1 @@
1
+ export declare const LICENSE_URL = "https://raw.githubusercontent.com/rainlanguage/decentralicense/refs/heads/master/README.md";
package/dist/consts.js ADDED
@@ -0,0 +1 @@
1
+ export const LICENSE_URL = 'https://raw.githubusercontent.com/rainlanguage/decentralicense/refs/heads/master/README.md';
@@ -1,7 +1,8 @@
1
1
  export declare enum DeploymentStepsErrorCode {
2
2
  NO_GUI_PROVIDER = "No GUI provider found.",
3
3
  NO_GUI = "Error loading GUI.",
4
- NO_STRATEGY = "No valid strategy exists at this URL",
4
+ NO_LOCAL_DB_PROVIDER = "No Local DB provider found.",
5
+ NO_STRATEGY = "No valid order exists at this URL",
5
6
  NO_SELECT_TOKENS = "Error loading tokens",
6
7
  NO_TOKEN_INFO = "Error loading token information",
7
8
  NO_FIELD_DEFINITIONS = "Error loading field definitions",
@@ -10,8 +11,13 @@ export declare enum DeploymentStepsErrorCode {
10
11
  NO_TOKEN_OUTPUTS = "Error loading token outputs",
11
12
  NO_GUI_DETAILS = "Error getting GUI details",
12
13
  NO_CHAIN = "Unsupported chain ID",
14
+ NO_NETWORK_KEY = "No network key found",
15
+ NO_AVAILABLE_TOKENS = "Error loading available tokens",
13
16
  SERIALIZE_ERROR = "Error serializing state",
14
- ADD_ORDER_FAILED = "Failed to add order"
17
+ ADD_ORDER_FAILED = "Failed to add order",
18
+ NO_WALLET = "No account address found",
19
+ NO_GUI_CONFIG = "Error getting GUI configuration",
20
+ NO_RAINDEX_CLIENT_PROVIDER = "No Raindex client provider found"
15
21
  }
16
22
  export declare class DeploymentStepsError extends Error {
17
23
  code: DeploymentStepsErrorCode;
@@ -3,7 +3,8 @@ export var DeploymentStepsErrorCode;
3
3
  (function (DeploymentStepsErrorCode) {
4
4
  DeploymentStepsErrorCode["NO_GUI_PROVIDER"] = "No GUI provider found.";
5
5
  DeploymentStepsErrorCode["NO_GUI"] = "Error loading GUI.";
6
- DeploymentStepsErrorCode["NO_STRATEGY"] = "No valid strategy exists at this URL";
6
+ DeploymentStepsErrorCode["NO_LOCAL_DB_PROVIDER"] = "No Local DB provider found.";
7
+ DeploymentStepsErrorCode["NO_STRATEGY"] = "No valid order exists at this URL";
7
8
  DeploymentStepsErrorCode["NO_SELECT_TOKENS"] = "Error loading tokens";
8
9
  DeploymentStepsErrorCode["NO_TOKEN_INFO"] = "Error loading token information";
9
10
  DeploymentStepsErrorCode["NO_FIELD_DEFINITIONS"] = "Error loading field definitions";
@@ -12,8 +13,13 @@ export var DeploymentStepsErrorCode;
12
13
  DeploymentStepsErrorCode["NO_TOKEN_OUTPUTS"] = "Error loading token outputs";
13
14
  DeploymentStepsErrorCode["NO_GUI_DETAILS"] = "Error getting GUI details";
14
15
  DeploymentStepsErrorCode["NO_CHAIN"] = "Unsupported chain ID";
16
+ DeploymentStepsErrorCode["NO_NETWORK_KEY"] = "No network key found";
17
+ DeploymentStepsErrorCode["NO_AVAILABLE_TOKENS"] = "Error loading available tokens";
15
18
  DeploymentStepsErrorCode["SERIALIZE_ERROR"] = "Error serializing state";
16
19
  DeploymentStepsErrorCode["ADD_ORDER_FAILED"] = "Failed to add order";
20
+ DeploymentStepsErrorCode["NO_WALLET"] = "No account address found";
21
+ DeploymentStepsErrorCode["NO_GUI_CONFIG"] = "Error getting GUI configuration";
22
+ DeploymentStepsErrorCode["NO_RAINDEX_CLIENT_PROVIDER"] = "No Raindex client provider found";
17
23
  })(DeploymentStepsErrorCode || (DeploymentStepsErrorCode = {}));
18
24
  export class DeploymentStepsError extends Error {
19
25
  code;
@@ -1,3 +1,3 @@
1
- import { DotrainOrderGui } from '@rainlanguage/orderbook/js_api';
1
+ import { DotrainOrderGui } from '@rainlanguage/orderbook';
2
2
  export declare const GUI_CONTEXT_KEY = "gui-context";
3
3
  export declare function useGui(): DotrainOrderGui;
@@ -1,5 +1,5 @@
1
1
  import { getContext } from 'svelte';
2
- import { DotrainOrderGui } from '@rainlanguage/orderbook/js_api';
2
+ import { DotrainOrderGui } from '@rainlanguage/orderbook';
3
3
  import { DeploymentStepsError, DeploymentStepsErrorCode } from '../errors/DeploymentStepsError';
4
4
  export const GUI_CONTEXT_KEY = 'gui-context';
5
5
  export function useGui() {
@@ -0,0 +1,3 @@
1
+ import type { SQLiteWasmDatabase } from '@rainlanguage/sqlite-web';
2
+ export declare const LOCAL_DB_CONTEXT_KEY = "local-db-context";
3
+ export declare function useLocalDb(): SQLiteWasmDatabase;
@@ -0,0 +1,10 @@
1
+ import { getContext } from 'svelte';
2
+ import { DeploymentStepsError, DeploymentStepsErrorCode } from '../errors/DeploymentStepsError';
3
+ export const LOCAL_DB_CONTEXT_KEY = 'local-db-context';
4
+ export function useLocalDb() {
5
+ const db = getContext(LOCAL_DB_CONTEXT_KEY);
6
+ if (!db) {
7
+ DeploymentStepsError.catch(null, DeploymentStepsErrorCode.NO_LOCAL_DB_PROVIDER);
8
+ }
9
+ return db;
10
+ }
@@ -0,0 +1,3 @@
1
+ import { RaindexClient } from '@rainlanguage/orderbook';
2
+ export declare const RAINDEX_CLIENT_CONTEXT_KEY = "raindex-client-context";
3
+ export declare function useRaindexClient(): RaindexClient;
@@ -0,0 +1,11 @@
1
+ import { getContext } from 'svelte';
2
+ import { RaindexClient } from '@rainlanguage/orderbook';
3
+ import { DeploymentStepsError, DeploymentStepsErrorCode } from '../errors/DeploymentStepsError';
4
+ export const RAINDEX_CLIENT_CONTEXT_KEY = 'raindex-client-context';
5
+ export function useRaindexClient() {
6
+ const raindexClient = getContext(RAINDEX_CLIENT_CONTEXT_KEY);
7
+ if (!raindexClient) {
8
+ DeploymentStepsError.catch(null, DeploymentStepsErrorCode.NO_RAINDEX_CLIENT_PROVIDER);
9
+ }
10
+ return raindexClient;
11
+ }
package/dist/index.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  export { default as CardProperty } from './components/CardProperty.svelte';
2
2
  export { default as Hash, HashType } from './components/Hash.svelte';
3
3
  export { default as TanstackAppTable } from './components/TanstackAppTable.svelte';
4
- export { default as DropdownActiveSubgraphs } from './components/dropdown/DropdownActiveSubgraphs.svelte';
5
4
  export { default as DropdownCheckbox } from './components/dropdown/DropdownCheckbox.svelte';
5
+ export { default as DropdownTokensFilter } from './components/dropdown/DropdownTokensFilter.svelte';
6
+ export { default as DropdownOrderbooksFilter } from './components/dropdown/DropdownOrderbooksFilter.svelte';
6
7
  export { default as DropdownOrderListAccounts } from './components/dropdown/DropdownOrderListAccounts.svelte';
7
8
  export { default as DropdownRadio } from './components/dropdown/DropdownRadio.svelte';
8
9
  export { default as Refresh } from './components/icon/Refresh.svelte';
9
- export { default as DropdownOrderStatus } from './components/dropdown/DropdownOrderStatus.svelte';
10
+ export { default as CheckboxActiveOrders } from './components/checkbox/CheckboxActiveOrders.svelte';
10
11
  export { default as InputOrderHash } from './components/input/InputOrderHash.svelte';
11
12
  export { default as CheckboxZeroBalanceVault } from './components/CheckboxZeroBalanceVault.svelte';
13
+ export { default as CheckboxInactiveOrdersVault } from './components/CheckboxInactiveOrdersVault.svelte';
12
14
  export { default as ListViewOrderbookFilters } from './components/ListViewOrderbookFilters.svelte';
13
15
  export { default as OrdersListTable } from './components/tables/OrdersListTable.svelte';
14
16
  export { default as VaultsListTable } from './components/tables/VaultsListTable.svelte';
@@ -49,6 +51,7 @@ export { default as DeploymentSteps } from './components/deployment/DeploymentSt
49
51
  export { default as TokenIOInput } from './components/deployment/TokenIOInput.svelte';
50
52
  export { default as SelectToken } from './components/deployment/SelectToken.svelte';
51
53
  export { default as VaultBalanceChangesTable } from './components/tables/VaultBalanceChangesTable.svelte';
54
+ export { default as VaultBalanceChangeTypeFilter } from './components/VaultBalanceChangeTypeFilter.svelte';
52
55
  export { default as VaultBalanceChart } from './components/charts/VaultBalanceChart.svelte';
53
56
  export { default as VaultDetail } from './components/detail/VaultDetail.svelte';
54
57
  export { default as InputToken } from './components/input/InputToken.svelte';
@@ -56,36 +59,56 @@ export { default as CodeMirrorDotrain } from './components/CodeMirrorDotrain.sve
56
59
  export { default as OrderOrVaultHash } from './components/OrderOrVaultHash.svelte';
57
60
  export { default as License } from './components/License.svelte';
58
61
  export { default as ButtonDarkMode } from './components/ButtonDarkMode.svelte';
59
- export { default as StrategyPage } from './components/deployment/StrategyPage.svelte';
62
+ export { default as OrderPage } from './components/deployment/OrderPage.svelte';
60
63
  export { default as InputHex } from './components/input/InputHex.svelte';
61
64
  export { default as InputTokenAmount } from './components/input/InputTokenAmount.svelte';
62
65
  export { default as WalletConnect } from './components/wallet/WalletConnect.svelte';
63
66
  export { default as DisclaimerModal } from './components/deployment/DisclaimerModal.svelte';
64
- export { default as InvalidStrategiesSection } from './components/deployment/InvalidStrategiesSection.svelte';
65
- export { default as ValidStrategiesSection } from './components/deployment/ValidStrategiesSection.svelte';
67
+ export { default as InvalidOrdersSection } from './components/deployment/InvalidOrdersSection.svelte';
68
+ export { default as ValidOrdersSection } from './components/deployment/ValidOrdersSection.svelte';
66
69
  export { default as InputRegistryUrl } from './components/input/InputRegistryUrl.svelte';
70
+ export { default as TransactionList } from './components/transactions/TransactionList.svelte';
71
+ export { default as FixedBottomTransaction } from './components/transactions/FixedBottomTransaction.svelte';
72
+ export { default as LocalDbStatusCard } from './components/LocalDbStatusCard.svelte';
73
+ export { default as LocalDbStatusBadge } from './components/LocalDbStatusBadge.svelte';
74
+ export { default as LocalDbStatusModal } from './components/LocalDbStatusModal.svelte';
67
75
  export type { AppStoresInterface } from './types/appStores.ts';
68
- export type { ConfigSource, OrderbookConfigSource, OrderbookCfgRef } from '@rainlanguage/orderbook/js_api';
69
- export { TransactionStatus, TransactionErrorMessage, type TransactionState, type ExtendedApprovalCalldata } from './stores/transactionStore';
70
- export type { DeploymentArgs, DepositOrWithdrawArgs, OrderRemoveArgs } from './types/transaction';
71
- export type { DepositOrWithdrawModalProps, OrderRemoveModalProps, QuoteDebugModalHandler, DebugTradeModalHandler, DeployModalProps, DisclaimerModalProps } from './types/modal';
72
- export type { ValidStrategyDetail, InvalidStrategyDetail } from './types/strategy';
76
+ export { TransactionStatusMessage, TransactionStoreErrorMessage, type TransactionArgs, type VaultActionArgs } from './types/transaction';
77
+ export type { VaultActionModalProps, QuoteDebugModalHandler, DebugTradeModalHandler, DisclaimerModalProps, TransactionConfirmationProps, HandleTransactionConfirmationModal } from './types/modal';
78
+ export type { ValidOrderDetail, InvalidOrderDetail } from './types/order.ts';
79
+ export type { ToastProps } from './types/toast';
80
+ export type { DotrainRegistryContext } from './providers/dotrainRegistry/context';
73
81
  export { createResolvableQuery, createResolvableInfiniteQuery } from './__mocks__/queries';
74
- export { formatTimestampSecondsAsLocal, timestampSecondsToUTCTimestamp, promiseTimeout } from './utils/time';
82
+ export { formatTimestampSecondsAsLocal, timestampSecondsToUTCTimestamp, promiseTimeout } from './services/time';
75
83
  export { bigintStringToHex, HEX_INPUT_REGEX } from './utils/hex';
76
- export { vaultBalanceDisplay } from './utils/vault';
77
- export { prepareHistoricalOrderChartData } from './services/historicalOrderCharts';
78
- export { bigintToFloat } from './utils/number';
79
84
  export { getExplorerLink } from './services/getExplorerLink';
85
+ export { invalidateTanstackQueries } from './queries/queryClient';
86
+ export { getToastsContext } from './providers/toasts/context';
87
+ export { getNetworkName } from './utils/getNetworkName';
80
88
  export { DEFAULT_PAGE_SIZE, DEFAULT_REFRESH_INTERVAL } from './queries/constants';
81
89
  export { QKEY_VAULTS, QKEY_VAULT, QKEY_VAULT_CHANGES, QKEY_ORDERS, QKEY_ORDER, QKEY_ORDER_TRADES_LIST, QKEY_ORDER_QUOTE, QKEY_VAULTS_VOL_LIST, QKEY_ORDER_APY } from './queries/keys';
82
90
  export { darkChartTheme, lightChartTheme } from './utils/lightweightChartsThemes';
83
91
  export { lightCodeMirrorTheme, darkCodeMirrorTheme } from './utils/codeMirrorThemes';
84
- export { mockConfigSource } from './__mocks__/settings';
85
- export { mockSettingsStore } from './__mocks__/settings';
86
- export { default as transactionStore } from './stores/transactionStore';
87
- export { mockTransactionStore } from './__mocks__/mockTransactionStore';
92
+ export { cachedWritableStore, cachedWritableIntOptional, cachedWritableStringOptional, cachedWritableString } from './storesGeneric/cachedWritableStore';
88
93
  export { default as logoLight } from './assets/logo-light.svg';
89
94
  export { default as logoDark } from './assets/logo-dark.svg';
90
- export { useGui } from './hooks/useGui';
91
95
  export { default as GuiProvider } from './providers/GuiProvider.svelte';
96
+ export { default as RaindexClientProvider } from './providers/RaindexClientProvider.svelte';
97
+ export { default as WalletProvider } from './providers/wallet/WalletProvider.svelte';
98
+ export { default as RegistryProvider } from './providers/registry/RegistryProvider.svelte';
99
+ export { default as ToastProvider } from './providers/toasts/ToastProvider.svelte';
100
+ export { default as TransactionProvider } from './providers/transactions/TransactionProvider.svelte';
101
+ export { default as LocalDbProvider } from './providers/LocalDbProvider.svelte';
102
+ export { default as DotrainRegistryProvider } from './providers/dotrainRegistry/DotrainRegistryProvider.svelte';
103
+ export { useGui } from './hooks/useGui';
104
+ export { useRaindexClient, RAINDEX_CLIENT_CONTEXT_KEY } from './hooks/useRaindexClient';
105
+ export { useLocalDb } from './hooks/useLocalDb';
106
+ export { useAccount } from './providers/wallet/useAccount';
107
+ export { useRegistry } from './providers/registry/useRegistry';
108
+ export { useToasts } from './providers/toasts/useToasts';
109
+ export { useTransactions } from './providers/transactions/useTransactions';
110
+ export { useDotrainRegistry } from './providers/dotrainRegistry/useDotrainRegistry';
111
+ export { RegistryManager } from './providers/registry/RegistryManager';
112
+ export { TransactionStore } from './models/Transaction';
113
+ export { TransactionManager } from './providers/transactions/TransactionManager';
114
+ export { mockPageStore } from './__mocks__/stores';
package/dist/index.js CHANGED
@@ -2,14 +2,16 @@
2
2
  export { default as CardProperty } from './components/CardProperty.svelte';
3
3
  export { default as Hash, HashType } from './components/Hash.svelte';
4
4
  export { default as TanstackAppTable } from './components/TanstackAppTable.svelte';
5
- export { default as DropdownActiveSubgraphs } from './components/dropdown/DropdownActiveSubgraphs.svelte';
6
5
  export { default as DropdownCheckbox } from './components/dropdown/DropdownCheckbox.svelte';
6
+ export { default as DropdownTokensFilter } from './components/dropdown/DropdownTokensFilter.svelte';
7
+ export { default as DropdownOrderbooksFilter } from './components/dropdown/DropdownOrderbooksFilter.svelte';
7
8
  export { default as DropdownOrderListAccounts } from './components/dropdown/DropdownOrderListAccounts.svelte';
8
9
  export { default as DropdownRadio } from './components/dropdown/DropdownRadio.svelte';
9
10
  export { default as Refresh } from './components/icon/Refresh.svelte';
10
- export { default as DropdownOrderStatus } from './components/dropdown/DropdownOrderStatus.svelte';
11
+ export { default as CheckboxActiveOrders } from './components/checkbox/CheckboxActiveOrders.svelte';
11
12
  export { default as InputOrderHash } from './components/input/InputOrderHash.svelte';
12
13
  export { default as CheckboxZeroBalanceVault } from './components/CheckboxZeroBalanceVault.svelte';
14
+ export { default as CheckboxInactiveOrdersVault } from './components/CheckboxInactiveOrdersVault.svelte';
13
15
  export { default as ListViewOrderbookFilters } from './components/ListViewOrderbookFilters.svelte';
14
16
  export { default as OrdersListTable } from './components/tables/OrdersListTable.svelte';
15
17
  export { default as VaultsListTable } from './components/tables/VaultsListTable.svelte';
@@ -50,6 +52,7 @@ export { default as DeploymentSteps } from './components/deployment/DeploymentSt
50
52
  export { default as TokenIOInput } from './components/deployment/TokenIOInput.svelte';
51
53
  export { default as SelectToken } from './components/deployment/SelectToken.svelte';
52
54
  export { default as VaultBalanceChangesTable } from './components/tables/VaultBalanceChangesTable.svelte';
55
+ export { default as VaultBalanceChangeTypeFilter } from './components/VaultBalanceChangeTypeFilter.svelte';
53
56
  export { default as VaultBalanceChart } from './components/charts/VaultBalanceChart.svelte';
54
57
  export { default as VaultDetail } from './components/detail/VaultDetail.svelte';
55
58
  export { default as InputToken } from './components/input/InputToken.svelte';
@@ -57,37 +60,59 @@ export { default as CodeMirrorDotrain } from './components/CodeMirrorDotrain.sve
57
60
  export { default as OrderOrVaultHash } from './components/OrderOrVaultHash.svelte';
58
61
  export { default as License } from './components/License.svelte';
59
62
  export { default as ButtonDarkMode } from './components/ButtonDarkMode.svelte';
60
- export { default as StrategyPage } from './components/deployment/StrategyPage.svelte';
63
+ export { default as OrderPage } from './components/deployment/OrderPage.svelte';
61
64
  export { default as InputHex } from './components/input/InputHex.svelte';
62
65
  export { default as InputTokenAmount } from './components/input/InputTokenAmount.svelte';
63
66
  export { default as WalletConnect } from './components/wallet/WalletConnect.svelte';
64
67
  export { default as DisclaimerModal } from './components/deployment/DisclaimerModal.svelte';
65
- export { default as InvalidStrategiesSection } from './components/deployment/InvalidStrategiesSection.svelte';
66
- export { default as ValidStrategiesSection } from './components/deployment/ValidStrategiesSection.svelte';
68
+ export { default as InvalidOrdersSection } from './components/deployment/InvalidOrdersSection.svelte';
69
+ export { default as ValidOrdersSection } from './components/deployment/ValidOrdersSection.svelte';
67
70
  export { default as InputRegistryUrl } from './components/input/InputRegistryUrl.svelte';
68
- export { TransactionStatus, TransactionErrorMessage } from './stores/transactionStore';
71
+ export { default as TransactionList } from './components/transactions/TransactionList.svelte';
72
+ export { default as FixedBottomTransaction } from './components/transactions/FixedBottomTransaction.svelte';
73
+ export { default as LocalDbStatusCard } from './components/LocalDbStatusCard.svelte';
74
+ export { default as LocalDbStatusBadge } from './components/LocalDbStatusBadge.svelte';
75
+ export { default as LocalDbStatusModal } from './components/LocalDbStatusModal.svelte';
76
+ export { TransactionStatusMessage, TransactionStoreErrorMessage } from './types/transaction';
69
77
  // Functions
70
78
  export { createResolvableQuery, createResolvableInfiniteQuery } from './__mocks__/queries';
71
- export { formatTimestampSecondsAsLocal, timestampSecondsToUTCTimestamp, promiseTimeout } from './utils/time';
79
+ export { formatTimestampSecondsAsLocal, timestampSecondsToUTCTimestamp, promiseTimeout } from './services/time';
72
80
  export { bigintStringToHex, HEX_INPUT_REGEX } from './utils/hex';
73
- export { vaultBalanceDisplay } from './utils/vault';
74
- export { prepareHistoricalOrderChartData } from './services/historicalOrderCharts';
75
- export { bigintToFloat } from './utils/number';
76
81
  export { getExplorerLink } from './services/getExplorerLink';
82
+ export { invalidateTanstackQueries } from './queries/queryClient';
83
+ export { getToastsContext } from './providers/toasts/context';
84
+ export { getNetworkName } from './utils/getNetworkName';
77
85
  // Constants
78
86
  export { DEFAULT_PAGE_SIZE, DEFAULT_REFRESH_INTERVAL } from './queries/constants';
79
87
  export { QKEY_VAULTS, QKEY_VAULT, QKEY_VAULT_CHANGES, QKEY_ORDERS, QKEY_ORDER, QKEY_ORDER_TRADES_LIST, QKEY_ORDER_QUOTE, QKEY_VAULTS_VOL_LIST, QKEY_ORDER_APY } from './queries/keys';
80
88
  export { darkChartTheme, lightChartTheme } from './utils/lightweightChartsThemes';
81
89
  export { lightCodeMirrorTheme, darkCodeMirrorTheme } from './utils/codeMirrorThemes';
82
90
  // Stores
83
- export { mockConfigSource } from './__mocks__/settings';
84
- export { mockSettingsStore } from './__mocks__/settings';
85
- export { default as transactionStore } from './stores/transactionStore';
86
- export { mockTransactionStore } from './__mocks__/mockTransactionStore';
91
+ export { cachedWritableStore, cachedWritableIntOptional, cachedWritableStringOptional, cachedWritableString } from './storesGeneric/cachedWritableStore';
87
92
  // Assets
88
93
  export { default as logoLight } from './assets/logo-light.svg';
89
94
  export { default as logoDark } from './assets/logo-dark.svg';
90
- // Hooks
91
- export { useGui } from './hooks/useGui';
92
95
  // Providers
93
96
  export { default as GuiProvider } from './providers/GuiProvider.svelte';
97
+ export { default as RaindexClientProvider } from './providers/RaindexClientProvider.svelte';
98
+ export { default as WalletProvider } from './providers/wallet/WalletProvider.svelte';
99
+ export { default as RegistryProvider } from './providers/registry/RegistryProvider.svelte';
100
+ export { default as ToastProvider } from './providers/toasts/ToastProvider.svelte';
101
+ export { default as TransactionProvider } from './providers/transactions/TransactionProvider.svelte';
102
+ export { default as LocalDbProvider } from './providers/LocalDbProvider.svelte';
103
+ export { default as DotrainRegistryProvider } from './providers/dotrainRegistry/DotrainRegistryProvider.svelte';
104
+ // Hooks
105
+ export { useGui } from './hooks/useGui';
106
+ export { useRaindexClient, RAINDEX_CLIENT_CONTEXT_KEY } from './hooks/useRaindexClient';
107
+ export { useLocalDb } from './hooks/useLocalDb';
108
+ export { useAccount } from './providers/wallet/useAccount';
109
+ export { useRegistry } from './providers/registry/useRegistry';
110
+ export { useToasts } from './providers/toasts/useToasts';
111
+ export { useTransactions } from './providers/transactions/useTransactions';
112
+ export { useDotrainRegistry } from './providers/dotrainRegistry/useDotrainRegistry';
113
+ // Classes
114
+ export { RegistryManager } from './providers/registry/RegistryManager';
115
+ export { TransactionStore } from './models/Transaction';
116
+ export { TransactionManager } from './providers/transactions/TransactionManager';
117
+ // Mocks
118
+ export { mockPageStore } from './__mocks__/stores';
@@ -0,0 +1,75 @@
1
+ import { TransactionStatusMessage, TransactionStoreErrorMessage } from '../types/transaction';
2
+ import type { TransactionArgs } from '../types/transaction';
3
+ import type { Config } from '@wagmi/core';
4
+ import { type Writable } from 'svelte/store';
5
+ /**
6
+ * Represents the state of a transaction.
7
+ * @typedef {Object} TransactionStoreState
8
+ * @property {TransactionName} name - The user-friendly name of the transaction (e.g., "Order Removal").
9
+ * @property {TransactionStatusMessage} status - The current status of the transaction (e.g., PENDING_RECEIPT, SUCCESS, ERROR).
10
+ * @property {TransactionStoreErrorMessage} [errorDetails] - Optional error message if the transaction failed.
11
+ * @property {Array<{link: string, label: string}>} links - An array of relevant links for the transaction (e.g., explorer link, link to the affected entity).
12
+ */
13
+ export type TransactionStoreState = {
14
+ name: string;
15
+ status: TransactionStatusMessage;
16
+ errorDetails?: TransactionStoreErrorMessage;
17
+ links: {
18
+ link: string;
19
+ label: string;
20
+ }[];
21
+ };
22
+ /**
23
+ * Interface defining the structure of a transaction object.
24
+ * @interface Transaction
25
+ * @property {Writable<TransactionStoreState>} state - A writable store holding the current state of the transaction.
26
+ */
27
+ export type Transaction = {
28
+ readonly state: Writable<TransactionStoreState>;
29
+ };
30
+ /**
31
+ * Manages the lifecycle of an individual transaction, including waiting for
32
+ * blockchain confirmation (receipt) and subgraph indexing.
33
+ * It exposes its state as a Svelte writable store.
34
+ * @class TransactionStore
35
+ * @implements {Transaction}
36
+ */
37
+ export declare class TransactionStore implements Transaction {
38
+ private name;
39
+ private config;
40
+ private txHash;
41
+ private links;
42
+ private onSuccess;
43
+ private onError;
44
+ private awaitIndexingFn?;
45
+ readonly state: Writable<TransactionStoreState>;
46
+ /**
47
+ * Creates a new TransactionStore instance.
48
+ * @param {TransactionArgs & { config: Config }} args - Configuration arguments for the transaction, including the wagmi `Config`.
49
+ * @param {() => void} onSuccess - Callback invoked when the transaction successfully completes (including indexing).
50
+ * @param {() => void} onError - Callback invoked if the transaction fails at any stage.
51
+ */
52
+ constructor(args: TransactionArgs & {
53
+ config: Config;
54
+ }, onSuccess: () => void, onError: () => void);
55
+ /**
56
+ * Updates the internal Svelte store with new state values.
57
+ * @param {Partial<TransactionStoreState>} partialState - An object containing the state properties to update.
58
+ * @private
59
+ */
60
+ private updateState;
61
+ /**
62
+ * Executes the transaction and begins monitoring its status
63
+ * @returns {Promise<void>}
64
+ */
65
+ execute(): Promise<void>;
66
+ /**
67
+ * Waits for the transaction receipt to be confirmed on the blockchain.
68
+ * If an indexing function is provided, it will be called after receipt confirmation.
69
+ * TransactionStore doesn't know what the indexing function does - it just calls it.
70
+ * @param {Hex} hash - The transaction hash to monitor
71
+ * @returns {Promise<void>}
72
+ * @private
73
+ */
74
+ private waitForTxReceipt;
75
+ }