@spicenet-io/spiceflow-ui 1.8.5 → 1.8.6

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.
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { IntentStatus } from "../../types/status";
3
+ import { Theme } from "../../types/theme";
4
+ interface DepositStatusPanelProps {
5
+ intentStatus: IntentStatus;
6
+ onClose: () => void;
7
+ onRetry?: () => void;
8
+ onNewDeposit?: () => void;
9
+ theme?: Theme;
10
+ }
11
+ export declare const DepositStatusPanel: React.FC<DepositStatusPanelProps>;
12
+ export {};
package/dist/index.cjs.js CHANGED
@@ -4083,6 +4083,211 @@ const useSpiceAssets = ({
4083
4083
  };
4084
4084
  };
4085
4085
 
4086
+ const DepositStatusPanel = ({
4087
+ intentStatus,
4088
+ onClose,
4089
+ onRetry,
4090
+ onNewDeposit,
4091
+ theme: providedTheme
4092
+ }) => {
4093
+ const theme = providedTheme || Button.createTheme("dark");
4094
+ const containerStyles = {
4095
+ width: "100%",
4096
+ maxWidth: "28rem",
4097
+ margin: "0 auto",
4098
+ backgroundColor: theme.colors.background,
4099
+ border: `1px solid ${theme.colors.border}`,
4100
+ borderRadius: theme.borderRadius.lg,
4101
+ padding: theme.spacing.lg,
4102
+ color: theme.colors.text
4103
+ };
4104
+ const headerStyles = {
4105
+ textAlign: "center",
4106
+ marginBottom: theme.spacing.lg
4107
+ };
4108
+ const iconContainerStyles = {
4109
+ width: "5rem",
4110
+ height: "5rem",
4111
+ margin: "0 auto",
4112
+ backgroundColor: theme.colors.surface,
4113
+ borderRadius: "50%",
4114
+ display: "flex",
4115
+ alignItems: "center",
4116
+ justifyContent: "center",
4117
+ border: `2px solid ${theme.colors.border}`,
4118
+ marginBottom: theme.spacing.md
4119
+ };
4120
+ const titleStyles = {
4121
+ fontSize: theme.typography.fontSize.lg,
4122
+ fontWeight: theme.typography.fontWeight.semibold,
4123
+ color: theme.colors.text,
4124
+ marginBottom: theme.spacing.sm
4125
+ };
4126
+ const descriptionStyles = {
4127
+ fontSize: theme.typography.fontSize.sm,
4128
+ color: theme.colors.textMuted
4129
+ };
4130
+ const buttonContainerStyles = {
4131
+ display: "flex",
4132
+ flexDirection: "column",
4133
+ gap: theme.spacing.sm,
4134
+ marginTop: theme.spacing.lg
4135
+ };
4136
+ const getStatusContent = () => {
4137
+ switch (intentStatus.overallStatus) {
4138
+ case "success":
4139
+ return {
4140
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4141
+ "svg",
4142
+ {
4143
+ width: "32",
4144
+ height: "32",
4145
+ fill: "none",
4146
+ stroke: theme.colors.success,
4147
+ viewBox: "0 0 24 24",
4148
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4149
+ "path",
4150
+ {
4151
+ strokeLinecap: "round",
4152
+ strokeLinejoin: "round",
4153
+ strokeWidth: 2,
4154
+ d: "M5 13l4 4L19 7"
4155
+ }
4156
+ )
4157
+ }
4158
+ ),
4159
+ title: "Deposit Completed!",
4160
+ description: "Your tokens have been successfully deposited.",
4161
+ borderColor: theme.colors.success
4162
+ };
4163
+ case "failed":
4164
+ return {
4165
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4166
+ "svg",
4167
+ {
4168
+ width: "32",
4169
+ height: "32",
4170
+ fill: "none",
4171
+ stroke: theme.colors.error,
4172
+ viewBox: "0 0 24 24",
4173
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4174
+ "path",
4175
+ {
4176
+ strokeLinecap: "round",
4177
+ strokeLinejoin: "round",
4178
+ strokeWidth: 2,
4179
+ d: "M6 18L18 6M6 6l12 12"
4180
+ }
4181
+ )
4182
+ }
4183
+ ),
4184
+ title: "Deposit Failed",
4185
+ description: "Something went wrong. Please try again.",
4186
+ borderColor: theme.colors.error
4187
+ };
4188
+ default:
4189
+ return {
4190
+ icon: /* @__PURE__ */ jsxRuntime.jsx(
4191
+ "div",
4192
+ {
4193
+ style: {
4194
+ width: "2rem",
4195
+ height: "2rem",
4196
+ border: `3px solid ${theme.colors.primary}`,
4197
+ borderTop: "3px solid transparent",
4198
+ borderRadius: "50%",
4199
+ animation: "spin 1s linear infinite"
4200
+ }
4201
+ }
4202
+ ),
4203
+ title: "Processing Deposit",
4204
+ description: "Please wait while your deposit is being processed...",
4205
+ borderColor: theme.colors.primary
4206
+ };
4207
+ }
4208
+ };
4209
+ const statusContent = getStatusContent();
4210
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: containerStyles, children: [
4211
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
4212
+ @keyframes spin {
4213
+ 0% { transform: rotate(0deg); }
4214
+ 100% { transform: rotate(360deg); }
4215
+ }
4216
+ ` }),
4217
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: headerStyles, children: [
4218
+ /* @__PURE__ */ jsxRuntime.jsx(
4219
+ "div",
4220
+ {
4221
+ style: {
4222
+ ...iconContainerStyles,
4223
+ borderColor: statusContent.borderColor
4224
+ },
4225
+ children: statusContent.icon
4226
+ }
4227
+ ),
4228
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { style: titleStyles, children: statusContent.title }),
4229
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: descriptionStyles, children: statusContent.description })
4230
+ ] }),
4231
+ intentStatus.overallStatus === "processing" && /* @__PURE__ */ jsxRuntime.jsxs(
4232
+ "div",
4233
+ {
4234
+ style: {
4235
+ backgroundColor: theme.colors.surface,
4236
+ borderRadius: theme.borderRadius.md,
4237
+ padding: theme.spacing.md,
4238
+ marginBottom: theme.spacing.md
4239
+ },
4240
+ children: [
4241
+ /* @__PURE__ */ jsxRuntime.jsx(
4242
+ "div",
4243
+ {
4244
+ style: {
4245
+ height: "4px",
4246
+ backgroundColor: `${theme.colors.primary}30`,
4247
+ borderRadius: "2px",
4248
+ overflow: "hidden"
4249
+ },
4250
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4251
+ "div",
4252
+ {
4253
+ style: {
4254
+ width: "30%",
4255
+ height: "100%",
4256
+ backgroundColor: theme.colors.primary,
4257
+ borderRadius: "2px",
4258
+ animation: "progress 1.5s ease-in-out infinite"
4259
+ }
4260
+ }
4261
+ )
4262
+ }
4263
+ ),
4264
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
4265
+ @keyframes progress {
4266
+ 0% { transform: translateX(-100%); width: 30%; }
4267
+ 50% { width: 60%; }
4268
+ 100% { transform: translateX(400%); width: 30%; }
4269
+ }
4270
+ ` })
4271
+ ]
4272
+ }
4273
+ ),
4274
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: buttonContainerStyles, children: [
4275
+ intentStatus.overallStatus === "success" && onNewDeposit && /* @__PURE__ */ jsxRuntime.jsx(
4276
+ Button.Button,
4277
+ {
4278
+ variant: "success",
4279
+ fullWidth: true,
4280
+ onClick: onNewDeposit,
4281
+ theme,
4282
+ children: "New Deposit"
4283
+ }
4284
+ ),
4285
+ intentStatus.overallStatus === "failed" && onRetry && /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "error", fullWidth: true, onClick: onRetry, theme, children: "Try Again" }),
4286
+ intentStatus.overallStatus === "processing" && /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "ghost", fullWidth: true, onClick: onClose, theme, children: "Cancel" })
4287
+ ] })
4288
+ ] });
4289
+ };
4290
+
4086
4291
  const DepositWidget = ({
4087
4292
  depositBatches,
4088
4293
  tokenAddress,
@@ -4186,62 +4391,7 @@ const DepositWidget = ({
4186
4391
  setIsExecuting(true);
4187
4392
  setError(null);
4188
4393
  try {
4189
- const depositClient = getClientForChain(
4190
- selectedDepositAsset.asset.chainId
4191
- );
4192
- const depositRecentBlock = await depositClient.getBlockNumber();
4193
- let depositAssetBatch;
4194
- if (selectedDepositAsset.asset.isNative) {
4195
- depositAssetBatch = {
4196
- chainId: selectedDepositAsset.asset.chainId,
4197
- recentBlock: depositRecentBlock,
4198
- calls: [
4199
- {
4200
- to: "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4201
- value: viem.parseEther(selectedDepositAsset.amount),
4202
- data: "0x"
4203
- }
4204
- ]
4205
- };
4206
- } else {
4207
- depositAssetBatch = {
4208
- chainId: selectedDepositAsset.asset.chainId,
4209
- recentBlock: depositRecentBlock,
4210
- calls: [
4211
- {
4212
- to: selectedDepositAsset.asset.address,
4213
- value: BigInt(0),
4214
- data: viem.encodeFunctionData({
4215
- abi: viem.erc20Abi,
4216
- functionName: "approve",
4217
- args: [
4218
- "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4219
- viem.parseUnits(
4220
- selectedDepositAsset.amount,
4221
- selectedDepositAsset.asset.decimals
4222
- )
4223
- ]
4224
- })
4225
- },
4226
- {
4227
- to: selectedDepositAsset.asset.address,
4228
- value: BigInt(0),
4229
- data: viem.encodeFunctionData({
4230
- abi: viem.erc20Abi,
4231
- functionName: "transfer",
4232
- args: [
4233
- "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4234
- viem.parseUnits(
4235
- selectedDepositAsset.amount,
4236
- selectedDepositAsset.asset.decimals
4237
- )
4238
- ]
4239
- })
4240
- }
4241
- ]
4242
- };
4243
- }
4244
- const allChainBatches = [depositAssetBatch, ...depositBatches];
4394
+ const allChainBatches = [...depositBatches];
4245
4395
  const uniqueChainIds = [
4246
4396
  ...new Set(allChainBatches.map((batch) => batch.chainId))
4247
4397
  ];
@@ -4288,6 +4438,19 @@ const DepositWidget = ({
4288
4438
  };
4289
4439
  const result = await relayerService.submitTransaction(submitRequest);
4290
4440
  if (result) {
4441
+ const withdrawalAmount = viem.parseUnits(
4442
+ selectedDepositAsset.amount,
4443
+ selectedDepositAsset.asset.decimals
4444
+ );
4445
+ await relayerService.submitSpiceDeposit({
4446
+ user: address,
4447
+ txHash: result.hash,
4448
+ sender: address,
4449
+ tokenAddress: selectedDepositAsset.asset.address,
4450
+ chainId: selectedDepositAsset.asset.chainId,
4451
+ amount: withdrawalAmount.toString(),
4452
+ isDeposit: false
4453
+ });
4291
4454
  const getChainName = (chainId) => {
4292
4455
  return `Chain ${chainId}`;
4293
4456
  };
@@ -4330,7 +4493,7 @@ const DepositWidget = ({
4330
4493
  };
4331
4494
  if (intentStatus) {
4332
4495
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsx(
4333
- StatusDisplay,
4496
+ DepositStatusPanel,
4334
4497
  {
4335
4498
  intentStatus,
4336
4499
  onClose: clearStatus,
@@ -4338,13 +4501,11 @@ const DepositWidget = ({
4338
4501
  clearStatus();
4339
4502
  handleDeposit();
4340
4503
  },
4341
- txType: "deposit",
4342
- onNewTx: () => {
4504
+ onNewDeposit: () => {
4343
4505
  clearStatus();
4344
4506
  setSelectedDepositAsset(null);
4345
4507
  refreshSpiceAssets();
4346
4508
  },
4347
- explorerUrlBuilder: (chainId, txHash) => getExplorerUrl(chainId, txHash),
4348
4509
  theme
4349
4510
  }
4350
4511
  ) });
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { defineChain, createPublicClient, http, isAddress, getAddress, parseEther, encodeFunctionData, parseUnits, erc20Abi } from 'viem';
2
+ import { defineChain, createPublicClient, http, isAddress, getAddress, parseEther, parseUnits, encodeFunctionData } from 'viem';
3
3
  import { basecampTestnet, citreaTestnet, baseSepolia, arbitrumSepolia, sepolia } from 'viem/chains';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import React, { useState, useRef, useEffect, useCallback, createContext, useContext, useTransition, useMemo, forwardRef, createElement } from 'react';
@@ -4081,6 +4081,211 @@ const useSpiceAssets = ({
4081
4081
  };
4082
4082
  };
4083
4083
 
4084
+ const DepositStatusPanel = ({
4085
+ intentStatus,
4086
+ onClose,
4087
+ onRetry,
4088
+ onNewDeposit,
4089
+ theme: providedTheme
4090
+ }) => {
4091
+ const theme = providedTheme || createTheme("dark");
4092
+ const containerStyles = {
4093
+ width: "100%",
4094
+ maxWidth: "28rem",
4095
+ margin: "0 auto",
4096
+ backgroundColor: theme.colors.background,
4097
+ border: `1px solid ${theme.colors.border}`,
4098
+ borderRadius: theme.borderRadius.lg,
4099
+ padding: theme.spacing.lg,
4100
+ color: theme.colors.text
4101
+ };
4102
+ const headerStyles = {
4103
+ textAlign: "center",
4104
+ marginBottom: theme.spacing.lg
4105
+ };
4106
+ const iconContainerStyles = {
4107
+ width: "5rem",
4108
+ height: "5rem",
4109
+ margin: "0 auto",
4110
+ backgroundColor: theme.colors.surface,
4111
+ borderRadius: "50%",
4112
+ display: "flex",
4113
+ alignItems: "center",
4114
+ justifyContent: "center",
4115
+ border: `2px solid ${theme.colors.border}`,
4116
+ marginBottom: theme.spacing.md
4117
+ };
4118
+ const titleStyles = {
4119
+ fontSize: theme.typography.fontSize.lg,
4120
+ fontWeight: theme.typography.fontWeight.semibold,
4121
+ color: theme.colors.text,
4122
+ marginBottom: theme.spacing.sm
4123
+ };
4124
+ const descriptionStyles = {
4125
+ fontSize: theme.typography.fontSize.sm,
4126
+ color: theme.colors.textMuted
4127
+ };
4128
+ const buttonContainerStyles = {
4129
+ display: "flex",
4130
+ flexDirection: "column",
4131
+ gap: theme.spacing.sm,
4132
+ marginTop: theme.spacing.lg
4133
+ };
4134
+ const getStatusContent = () => {
4135
+ switch (intentStatus.overallStatus) {
4136
+ case "success":
4137
+ return {
4138
+ icon: /* @__PURE__ */ jsx(
4139
+ "svg",
4140
+ {
4141
+ width: "32",
4142
+ height: "32",
4143
+ fill: "none",
4144
+ stroke: theme.colors.success,
4145
+ viewBox: "0 0 24 24",
4146
+ children: /* @__PURE__ */ jsx(
4147
+ "path",
4148
+ {
4149
+ strokeLinecap: "round",
4150
+ strokeLinejoin: "round",
4151
+ strokeWidth: 2,
4152
+ d: "M5 13l4 4L19 7"
4153
+ }
4154
+ )
4155
+ }
4156
+ ),
4157
+ title: "Deposit Completed!",
4158
+ description: "Your tokens have been successfully deposited.",
4159
+ borderColor: theme.colors.success
4160
+ };
4161
+ case "failed":
4162
+ return {
4163
+ icon: /* @__PURE__ */ jsx(
4164
+ "svg",
4165
+ {
4166
+ width: "32",
4167
+ height: "32",
4168
+ fill: "none",
4169
+ stroke: theme.colors.error,
4170
+ viewBox: "0 0 24 24",
4171
+ children: /* @__PURE__ */ jsx(
4172
+ "path",
4173
+ {
4174
+ strokeLinecap: "round",
4175
+ strokeLinejoin: "round",
4176
+ strokeWidth: 2,
4177
+ d: "M6 18L18 6M6 6l12 12"
4178
+ }
4179
+ )
4180
+ }
4181
+ ),
4182
+ title: "Deposit Failed",
4183
+ description: "Something went wrong. Please try again.",
4184
+ borderColor: theme.colors.error
4185
+ };
4186
+ default:
4187
+ return {
4188
+ icon: /* @__PURE__ */ jsx(
4189
+ "div",
4190
+ {
4191
+ style: {
4192
+ width: "2rem",
4193
+ height: "2rem",
4194
+ border: `3px solid ${theme.colors.primary}`,
4195
+ borderTop: "3px solid transparent",
4196
+ borderRadius: "50%",
4197
+ animation: "spin 1s linear infinite"
4198
+ }
4199
+ }
4200
+ ),
4201
+ title: "Processing Deposit",
4202
+ description: "Please wait while your deposit is being processed...",
4203
+ borderColor: theme.colors.primary
4204
+ };
4205
+ }
4206
+ };
4207
+ const statusContent = getStatusContent();
4208
+ return /* @__PURE__ */ jsxs("div", { style: containerStyles, children: [
4209
+ /* @__PURE__ */ jsx("style", { children: `
4210
+ @keyframes spin {
4211
+ 0% { transform: rotate(0deg); }
4212
+ 100% { transform: rotate(360deg); }
4213
+ }
4214
+ ` }),
4215
+ /* @__PURE__ */ jsxs("div", { style: headerStyles, children: [
4216
+ /* @__PURE__ */ jsx(
4217
+ "div",
4218
+ {
4219
+ style: {
4220
+ ...iconContainerStyles,
4221
+ borderColor: statusContent.borderColor
4222
+ },
4223
+ children: statusContent.icon
4224
+ }
4225
+ ),
4226
+ /* @__PURE__ */ jsx("h3", { style: titleStyles, children: statusContent.title }),
4227
+ /* @__PURE__ */ jsx("p", { style: descriptionStyles, children: statusContent.description })
4228
+ ] }),
4229
+ intentStatus.overallStatus === "processing" && /* @__PURE__ */ jsxs(
4230
+ "div",
4231
+ {
4232
+ style: {
4233
+ backgroundColor: theme.colors.surface,
4234
+ borderRadius: theme.borderRadius.md,
4235
+ padding: theme.spacing.md,
4236
+ marginBottom: theme.spacing.md
4237
+ },
4238
+ children: [
4239
+ /* @__PURE__ */ jsx(
4240
+ "div",
4241
+ {
4242
+ style: {
4243
+ height: "4px",
4244
+ backgroundColor: `${theme.colors.primary}30`,
4245
+ borderRadius: "2px",
4246
+ overflow: "hidden"
4247
+ },
4248
+ children: /* @__PURE__ */ jsx(
4249
+ "div",
4250
+ {
4251
+ style: {
4252
+ width: "30%",
4253
+ height: "100%",
4254
+ backgroundColor: theme.colors.primary,
4255
+ borderRadius: "2px",
4256
+ animation: "progress 1.5s ease-in-out infinite"
4257
+ }
4258
+ }
4259
+ )
4260
+ }
4261
+ ),
4262
+ /* @__PURE__ */ jsx("style", { children: `
4263
+ @keyframes progress {
4264
+ 0% { transform: translateX(-100%); width: 30%; }
4265
+ 50% { width: 60%; }
4266
+ 100% { transform: translateX(400%); width: 30%; }
4267
+ }
4268
+ ` })
4269
+ ]
4270
+ }
4271
+ ),
4272
+ /* @__PURE__ */ jsxs("div", { style: buttonContainerStyles, children: [
4273
+ intentStatus.overallStatus === "success" && onNewDeposit && /* @__PURE__ */ jsx(
4274
+ Button,
4275
+ {
4276
+ variant: "success",
4277
+ fullWidth: true,
4278
+ onClick: onNewDeposit,
4279
+ theme,
4280
+ children: "New Deposit"
4281
+ }
4282
+ ),
4283
+ intentStatus.overallStatus === "failed" && onRetry && /* @__PURE__ */ jsx(Button, { variant: "error", fullWidth: true, onClick: onRetry, theme, children: "Try Again" }),
4284
+ intentStatus.overallStatus === "processing" && /* @__PURE__ */ jsx(Button, { variant: "ghost", fullWidth: true, onClick: onClose, theme, children: "Cancel" })
4285
+ ] })
4286
+ ] });
4287
+ };
4288
+
4084
4289
  const DepositWidget = ({
4085
4290
  depositBatches,
4086
4291
  tokenAddress,
@@ -4184,62 +4389,7 @@ const DepositWidget = ({
4184
4389
  setIsExecuting(true);
4185
4390
  setError(null);
4186
4391
  try {
4187
- const depositClient = getClientForChain(
4188
- selectedDepositAsset.asset.chainId
4189
- );
4190
- const depositRecentBlock = await depositClient.getBlockNumber();
4191
- let depositAssetBatch;
4192
- if (selectedDepositAsset.asset.isNative) {
4193
- depositAssetBatch = {
4194
- chainId: selectedDepositAsset.asset.chainId,
4195
- recentBlock: depositRecentBlock,
4196
- calls: [
4197
- {
4198
- to: "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4199
- value: parseEther(selectedDepositAsset.amount),
4200
- data: "0x"
4201
- }
4202
- ]
4203
- };
4204
- } else {
4205
- depositAssetBatch = {
4206
- chainId: selectedDepositAsset.asset.chainId,
4207
- recentBlock: depositRecentBlock,
4208
- calls: [
4209
- {
4210
- to: selectedDepositAsset.asset.address,
4211
- value: BigInt(0),
4212
- data: encodeFunctionData({
4213
- abi: erc20Abi,
4214
- functionName: "approve",
4215
- args: [
4216
- "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4217
- parseUnits(
4218
- selectedDepositAsset.amount,
4219
- selectedDepositAsset.asset.decimals
4220
- )
4221
- ]
4222
- })
4223
- },
4224
- {
4225
- to: selectedDepositAsset.asset.address,
4226
- value: BigInt(0),
4227
- data: encodeFunctionData({
4228
- abi: erc20Abi,
4229
- functionName: "transfer",
4230
- args: [
4231
- "0xeee2b52e7CFe6e2168341a34cEB783b68FEdf1A2",
4232
- parseUnits(
4233
- selectedDepositAsset.amount,
4234
- selectedDepositAsset.asset.decimals
4235
- )
4236
- ]
4237
- })
4238
- }
4239
- ]
4240
- };
4241
- }
4242
- const allChainBatches = [depositAssetBatch, ...depositBatches];
4392
+ const allChainBatches = [...depositBatches];
4243
4393
  const uniqueChainIds = [
4244
4394
  ...new Set(allChainBatches.map((batch) => batch.chainId))
4245
4395
  ];
@@ -4286,6 +4436,19 @@ const DepositWidget = ({
4286
4436
  };
4287
4437
  const result = await relayerService.submitTransaction(submitRequest);
4288
4438
  if (result) {
4439
+ const withdrawalAmount = parseUnits(
4440
+ selectedDepositAsset.amount,
4441
+ selectedDepositAsset.asset.decimals
4442
+ );
4443
+ await relayerService.submitSpiceDeposit({
4444
+ user: address,
4445
+ txHash: result.hash,
4446
+ sender: address,
4447
+ tokenAddress: selectedDepositAsset.asset.address,
4448
+ chainId: selectedDepositAsset.asset.chainId,
4449
+ amount: withdrawalAmount.toString(),
4450
+ isDeposit: false
4451
+ });
4289
4452
  const getChainName = (chainId) => {
4290
4453
  return `Chain ${chainId}`;
4291
4454
  };
@@ -4328,7 +4491,7 @@ const DepositWidget = ({
4328
4491
  };
4329
4492
  if (intentStatus) {
4330
4493
  return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(
4331
- StatusDisplay,
4494
+ DepositStatusPanel,
4332
4495
  {
4333
4496
  intentStatus,
4334
4497
  onClose: clearStatus,
@@ -4336,13 +4499,11 @@ const DepositWidget = ({
4336
4499
  clearStatus();
4337
4500
  handleDeposit();
4338
4501
  },
4339
- txType: "deposit",
4340
- onNewTx: () => {
4502
+ onNewDeposit: () => {
4341
4503
  clearStatus();
4342
4504
  setSelectedDepositAsset(null);
4343
4505
  refreshSpiceAssets();
4344
4506
  },
4345
- explorerUrlBuilder: (chainId, txHash) => getExplorerUrl(chainId, txHash),
4346
4507
  theme
4347
4508
  }
4348
4509
  ) });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spicenet-io/spiceflow-ui",
3
- "version": "1.8.5",
3
+ "version": "1.8.6",
4
4
  "description": "Spiceflow UI SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",