@velora-dex/widget 0.3.7-dev.1 → 0.3.7-dev.2

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 (119) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +33 -43
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +1 -4
  5. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectWallets/walletIcons.js +7 -18
  7. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  8. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  9. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +5 -11
  10. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  11. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  12. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  13. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +23 -22
  14. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  15. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  16. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  17. package/dist/core/index.d.ts +1 -1
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +179 -129
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/state/apiConfigAtom.d.ts +14 -0
  22. package/dist/core/state/apiConfigAtom.d.ts.map +1 -0
  23. package/dist/core/state/apiConfigAtom.js +20 -0
  24. package/dist/core/state/apiConfigAtom.js.map +1 -0
  25. package/dist/core/state/configAtom.d.ts.map +1 -1
  26. package/dist/core/state/configAtom.js +4 -6
  27. package/dist/core/state/configAtom.js.map +1 -1
  28. package/dist/core/state/externalProviderAtom.d.ts +0 -9
  29. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  30. package/dist/core/state/externalProviderAtom.js +1 -28
  31. package/dist/core/state/externalProviderAtom.js.map +1 -1
  32. package/dist/core/types.d.ts +2 -0
  33. package/dist/core/types.d.ts.map +1 -1
  34. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  35. package/dist/events/hooks/useOnWalletConnect.js +1 -3
  36. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  37. package/dist/events/types/connectWallet.d.ts +3 -3
  38. package/dist/events/types/connectWallet.d.ts.map +1 -1
  39. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  40. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  41. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  42. package/dist/hooks/connectors/useIsConnectedSafe.js +1 -3
  43. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  44. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +1 -4
  45. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  46. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +4 -3
  47. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  48. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  49. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  50. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -16
  51. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  52. package/dist/hooks/otc/mutations/useFillOrder.js +4 -15
  53. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  54. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -13
  55. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  56. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  57. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +4 -7
  58. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  59. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  60. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -7
  61. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  62. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  63. package/dist/hooks/txs/queries/useAwaitTx.js +19 -71
  64. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  65. package/dist/hooks/useSDK.d.ts.map +1 -1
  66. package/dist/hooks/useSDK.js +32 -19
  67. package/dist/hooks/useSDK.js.map +1 -1
  68. package/dist/lib/utils/index.d.ts +1 -0
  69. package/dist/lib/utils/index.d.ts.map +1 -1
  70. package/dist/lib/utils/index.js +17 -5
  71. package/dist/lib/utils/index.js.map +1 -1
  72. package/dist/lib/utils/toasts.d.ts +1 -1
  73. package/dist/lib/utils/toasts.d.ts.map +1 -1
  74. package/dist/lib/utils/toasts.js +1 -5
  75. package/dist/lib/utils/toasts.js.map +1 -1
  76. package/dist/lib/web3/wagmi/external.d.ts +3 -10
  77. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  78. package/dist/lib/web3/wagmi/external.js +2 -17
  79. package/dist/lib/web3/wagmi/external.js.map +1 -1
  80. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  81. package/dist/lib/web3/wagmi/switchChain.js +1 -5
  82. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  83. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  84. package/dist/transactions/queries/ensureCallsStatus.js +3 -11
  85. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  86. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  87. package/dist/transactions/queries/ensureTxReceipt.js +4 -7
  88. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  89. package/dist/transactions/state/effects/finalize.d.ts +1 -7
  90. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  91. package/dist/transactions/state/effects/finalize.js +7 -41
  92. package/dist/transactions/state/effects/finalize.js.map +1 -1
  93. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  94. package/dist/transactions/state/hooks/useActivateEffects.js +2 -4
  95. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  96. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  97. package/dist/transactions/state/transactionsActionAtom.js +15 -55
  98. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  99. package/dist/transactions/state/transactionsAtom.js +2 -2
  100. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  101. package/dist/transactions/types.d.ts +1 -11
  102. package/dist/transactions/types.d.ts.map +1 -1
  103. package/dist/transactions/utils.d.ts +1 -2
  104. package/dist/transactions/utils.d.ts.map +1 -1
  105. package/dist/transactions/utils.js +1 -6
  106. package/dist/transactions/utils.js.map +1 -1
  107. package/package.json +2 -2
  108. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +0 -2
  109. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +0 -1
  110. package/dist/components/web3/ConnectExternalProvider/constants.js +0 -4
  111. package/dist/components/web3/ConnectExternalProvider/constants.js.map +0 -1
  112. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +0 -8
  113. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +0 -1
  114. package/dist/components/web3/ConnectExternalProvider/utils.js +0 -9
  115. package/dist/components/web3/ConnectExternalProvider/utils.js.map +0 -1
  116. package/dist/transactions/hash.d.ts +0 -7
  117. package/dist/transactions/hash.d.ts.map +0 -1
  118. package/dist/transactions/hash.js +0 -35
  119. package/dist/transactions/hash.js.map +0 -1
@@ -3,17 +3,13 @@ import { CustomToast } from '../../components/widget/Toasts/CustomToast.js';
3
3
  import { toast } from 'sonner';
4
4
  import 'viem';
5
5
  import { constructTxLinkForChain, constructExplorerOrderDetailsLink } from './explorer.js';
6
- import { getStandaloneTxHash } from '../../transactions/hash.js';
7
6
 
8
7
  function addTxToast({
9
- transactionHash: _transactionHash,
8
+ transactionHash,
10
9
  receiptPromise,
11
10
  chainId
12
11
  }) {
13
12
  const toastId = crypto.randomUUID();
14
- const transactionHash = getStandaloneTxHash({
15
- transactionHash: _transactionHash
16
- });
17
13
  const _detailsLink = transactionHash ? constructTxLinkForChain({
18
14
  chainId,
19
15
  txHash: transactionHash
@@ -1 +1 @@
1
- {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import type { SubmittedDeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\n\nimport { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport { toast } from \"sonner\";\nimport { type Hash, type TransactionReceipt } from \"viem\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\nimport type { CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\n\ntype ToastPromiseData<T> = NonNullable<Parameters<typeof toast.promise<T>>[1]>;\n\nexport type OrderSentObject = {\n order: SubmittedDeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function addTxToast({\n transactionHash: _transactionHash,\n receiptPromise,\n chainId,\n}: {\n chainId: SupportedChainId;\n receiptPromise: Promise<TransactionReceipt | CallsReceipt | undefined>;\n transactionHash?: Hash;\n}) {\n const toastId = crypto.randomUUID();\n\n const transactionHash = getStandaloneTxHash({\n transactionHash: _transactionHash,\n });\n const _detailsLink = transactionHash\n ? constructTxLinkForChain({ chainId, txHash: transactionHash })\n : undefined;\n\n const toastOptions: ToastPromiseData<\n TransactionReceipt | CallsReceipt | undefined\n > = {\n id: toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n success: (receipt) => {\n let detailsLink = _detailsLink;\n if (!detailsLink && receipt) {\n detailsLink = constructTxLinkForChain({\n chainId,\n txHash: receipt.transactionHash,\n });\n }\n\n return (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n toastId={toastId}\n detailsLink={detailsLink}\n />\n );\n },\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n };\n\n toast.promise(receiptPromise, toastOptions);\n}\n\nexport function addDeltaOrderToast(orderSent: OrderSentObject) {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["addTxToast","transactionHash","_transactionHash","receiptPromise","chainId","toastId","crypto","randomUUID","getStandaloneTxHash","_detailsLink","constructTxLinkForChain","txHash","undefined","toastOptions","id","loading","success","receipt","detailsLink","error","toast","promise","addDeltaOrderToast","orderSent","customToastProps","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;;;AAqBO,SAASA,UAAAA,CAAW;AAAA,EACzBC,eAAAA,EAAiBC,gBAAAA;AAAAA,EACjBC,cAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AACD,EAAA,MAAMC,OAAAA,GAAUC,OAAOC,UAAAA,EAAW;AAElC,EAAA,MAAMN,kBAAkBO,mBAAAA,CAAoB;AAAA,IAC1CP,eAAAA,EAAiBC;AAAAA,GAClB,CAAA;AACD,EAAA,MAAMO,YAAAA,GAAeR,kBACjBS,uBAAAA,CAAwB;AAAA,IAAEN,OAAAA;AAAAA,IAASO,MAAAA,EAAQV;AAAAA,GAAiB,CAAA,GAC5DW,MAAAA;AAEJ,EAAA,MAAMC,YAAAA,GAEF;AAAA,IACFC,EAAAA,EAAIT,OAAAA;AAAAA,IACJU,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,OAAA,EACA,WAAA,EAAaN,YAAAA,EAAa,CAAA;AAAA,IAG9BO,SAAUC,CAAAA,OAAAA,KAAY;AACpB,MAAA,IAAIC,WAAAA,GAAcT,YAAAA;AAClB,MAAA,IAAI,CAACS,eAAeD,OAAAA,EAAS;AAC3BC,QAAAA,WAAAA,GAAcR,uBAAAA,CAAwB;AAAA,UACpCN,OAAAA;AAAAA,UACAO,QAAQM,OAAAA,CAAQhB;AAAAA,SACjB,CAAA;AAAA,MACH;AAEA,MAAA,2BACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,SACA,WAAA,EAAyB,CAAA;AAAA,IAG/B,CAAA;AAAA,IACAkB,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,OAAA,EACA,WAAA,EAAaV,YAAAA,EAAa;AAAA,GAGhC;AAEAW,EAAAA,KAAAA,CAAMC,OAAAA,CAAQlB,gBAAgBU,YAAY,CAAA;AAC5C;AAEO,SAASS,mBAAmBC,SAAAA,EAA4B;AAC7D,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBnB,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BW,WAAAA,EAAaO,iCAAAA,CAAkCF,SAAAA,CAAUG,KAAAA,CAAMZ,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIU,gBAAAA,CAAiBnB,OAAAA;AAAAA,IACrBU,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIS,gBAAAA,EAAiB,CAAA;AAAA,IAGzBR,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIQ,gBAAAA,EAAiB,CAAA;AAAA,IAGzBL,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIK,gBAAAA,EAAiB;AAAA,GAE3E;AAEAJ,EAAAA,KAAAA,CAAMC,OAAAA,CAAQE,SAAAA,CAAUI,cAAAA,EAAgBd,YAAY,CAAA;AACtD;;;;"}
1
+ {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import type { SubmittedDeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\n\nimport { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport { toast } from \"sonner\";\nimport { type Hash, type TransactionReceipt } from \"viem\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\nimport type { CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\ntype ToastPromiseData<T> = NonNullable<Parameters<typeof toast.promise<T>>[1]>;\n\nexport type OrderSentObject = {\n order: SubmittedDeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function addTxToast({\n transactionHash,\n receiptPromise,\n chainId,\n}: {\n chainId: SupportedChainId;\n receiptPromise: Promise<TransactionReceipt | CallsReceipt | undefined>;\n transactionHash?: Hash;\n}) {\n const toastId = crypto.randomUUID();\n\n const _detailsLink = transactionHash\n ? constructTxLinkForChain({ chainId, txHash: transactionHash })\n : undefined;\n\n const toastOptions: ToastPromiseData<\n TransactionReceipt | CallsReceipt | undefined\n > = {\n id: toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n success: (receipt) => {\n let detailsLink = _detailsLink;\n if (!detailsLink && receipt) {\n detailsLink = constructTxLinkForChain({\n chainId,\n txHash: receipt.transactionHash,\n });\n }\n\n return (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n toastId={toastId}\n detailsLink={detailsLink}\n />\n );\n },\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n toastId={toastId}\n detailsLink={_detailsLink}\n />\n ),\n };\n\n toast.promise(receiptPromise, toastOptions);\n}\n\nexport function addDeltaOrderToast(orderSent: OrderSentObject) {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["addTxToast","transactionHash","receiptPromise","chainId","toastId","crypto","randomUUID","_detailsLink","constructTxLinkForChain","txHash","undefined","toastOptions","id","loading","success","receipt","detailsLink","error","toast","promise","addDeltaOrderToast","orderSent","customToastProps","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;;AAoBO,SAASA,UAAAA,CAAW;AAAA,EACzBC,eAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AACD,EAAA,MAAMC,OAAAA,GAAUC,OAAOC,UAAAA,EAAW;AAElC,EAAA,MAAMC,YAAAA,GAAeN,kBACjBO,uBAAAA,CAAwB;AAAA,IAAEL,OAAAA;AAAAA,IAASM,MAAAA,EAAQR;AAAAA,GAAiB,CAAA,GAC5DS,MAAAA;AAEJ,EAAA,MAAMC,YAAAA,GAEF;AAAA,IACFC,EAAAA,EAAIR,OAAAA;AAAAA,IACJS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,OAAA,EACA,WAAA,EAAaN,YAAAA,EAAa,CAAA;AAAA,IAG9BO,SAAUC,CAAAA,OAAAA,KAAY;AACpB,MAAA,IAAIC,WAAAA,GAAcT,YAAAA;AAClB,MAAA,IAAI,CAACS,eAAeD,OAAAA,EAAS;AAC3BC,QAAAA,WAAAA,GAAcR,uBAAAA,CAAwB;AAAA,UACpCL,OAAAA;AAAAA,UACAM,QAAQM,OAAAA,CAAQd;AAAAA,SACjB,CAAA;AAAA,MACH;AAEA,MAAA,2BACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,SACA,WAAA,EAAyB,CAAA;AAAA,IAG/B,CAAA;AAAA,IACAgB,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,OAAA,EACA,WAAA,EAAaV,YAAAA,EAAa;AAAA,GAGhC;AAEAW,EAAAA,KAAAA,CAAMC,OAAAA,CAAQjB,gBAAgBS,YAAY,CAAA;AAC5C;AAEO,SAASS,mBAAmBC,SAAAA,EAA4B;AAC7D,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBlB,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BU,WAAAA,EAAaO,iCAAAA,CAAkCF,SAAAA,CAAUG,KAAAA,CAAMZ,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIU,gBAAAA,CAAiBlB,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIS,gBAAAA,EAAiB,CAAA;AAAA,IAGzBR,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIQ,gBAAAA,EAAiB,CAAA;AAAA,IAGzBL,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIK,gBAAAA,EAAiB;AAAA,GAE3E;AAEAJ,EAAAA,KAAAA,CAAMC,OAAAA,CAAQE,SAAAA,CAAUI,cAAAA,EAAgBd,YAAY,CAAA;AACtD;;;;"}
@@ -1,11 +1,4 @@
1
- export declare const accountAtom: import('jotai').WritableAtom<{
2
- address: `0x${string}` | undefined;
3
- chainId: number | undefined;
4
- connector: import('wagmi').Connector | undefined;
5
- }, [{
6
- address: `0x${string}` | undefined;
7
- chainId: number | undefined;
8
- connector: import('wagmi').Connector | undefined;
9
- }], void>;
10
- export declare const addressAtom: import('jotai').Atom<`0x${string}` | undefined>;
1
+ export declare const accountAtom: import('jotai').PrimitiveAtom<`0x${string}` | undefined> & {
2
+ init: `0x${string}` | undefined;
3
+ };
11
4
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/external.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW;;;;;;;;SAGvB,CAAC;AAEF,eAAO,MAAM,WAAW,iDAA0C,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/external.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;CAAwC,CAAC"}
@@ -1,23 +1,8 @@
1
1
  import { getAccount } from '@wagmi/core';
2
2
  import { wagmiConfig } from './config.js';
3
3
  import { atom } from 'jotai';
4
- import { atomWithCompare } from '../../utils/atomWithCompare.js';
5
- import { constructPropertiesEqual } from '../../utils/index.js';
6
4
 
7
- function getMinAccount() {
8
- const {
9
- address,
10
- chainId,
11
- connector
12
- } = getAccount(wagmiConfig);
13
- return {
14
- address,
15
- chainId,
16
- connector
17
- };
18
- }
19
- const accountAtom = atomWithCompare(getMinAccount(), constructPropertiesEqual(["address", "chainId", "connector"]));
20
- const addressAtom = atom((get) => get(accountAtom).address);
5
+ const accountAtom = atom(getAccount(wagmiConfig).address);
21
6
 
22
- export { accountAtom, addressAtom };
7
+ export { accountAtom };
23
8
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sources":["../../../../src/lib/web3/wagmi/external.ts"],"sourcesContent":["import { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport { atom } from \"jotai\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual } from \"@/lib/utils\";\n\nfunction getMinAccount() {\n const { address, chainId, connector } = getAccount(wagmiConfig);\n return { address, chainId, connector };\n}\n\nexport const accountAtom = atomWithCompare(\n getMinAccount(),\n constructPropertiesEqual([\"address\", \"chainId\", \"connector\"])\n);\n\nexport const addressAtom = atom((get) => get(accountAtom).address);\n"],"names":["getMinAccount","address","chainId","connector","getAccount","wagmiConfig","accountAtom","atomWithCompare","constructPropertiesEqual","addressAtom","atom","get"],"mappings":";;;;;;AAMA,SAASA,aAAAA,GAAgB;AACvB,EAAA,MAAM;AAAA,IAAEC,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC;AAAAA,GAAU,GAAIC,WAAWC,WAAW,CAAA;AAC9D,EAAA,OAAO;AAAA,IAAEJ,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC;AAAAA,GAAU;AACvC;AAEO,MAAMG,WAAAA,GAAcC,eAAAA,CACzBP,aAAAA,EAAc,EACdQ,wBAAAA,CAAyB,CAAC,SAAA,EAAW,SAAA,EAAW,WAAW,CAAC,CAC9D;AAEO,MAAMC,cAAcC,IAAAA,CAAMC,CAAAA,GAAAA,KAAQA,GAAAA,CAAIL,WAAW,EAAEL,OAAO;;;;"}
1
+ {"version":3,"file":"external.js","sources":["../../../../src/lib/web3/wagmi/external.ts"],"sourcesContent":["import { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport { atom } from \"jotai\";\n\nexport const accountAtom = atom(getAccount(wagmiConfig).address);\n"],"names":["accountAtom","atom","getAccount","wagmiConfig","address"],"mappings":";;;;AAIO,MAAMA,WAAAA,GAAcC,IAAAA,CAAKC,UAAAA,CAAWC,WAAW,EAAEC,OAAO;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/switchChain.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,wBAAsB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAmB+nE,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAApjS,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA52S,CAAC;;;;;;;;;;;;2BAAgrB,CAAC;+BAAgG,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw5B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA8xB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAmyB,CAAC;;;;wBAAiM,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAA03B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAsR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAAsgB,CAAC;;;;;;;;;;;;;;;;;eADrmW"}
1
+ {"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/switchChain.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import * as wagmi from '@wagmi/core';
2
2
  import { wagmiConfig } from './config.js';
3
3
  import { isSafeConnector } from '../../../hooks/connectors/useIsGnosisSafeConnector.js';
4
- import { isExternalConnectorWithSafeIframe } from '../../../core/state/externalProviderAtom.js';
5
4
 
6
5
  async function switchChain({
7
6
  chainId
@@ -10,10 +9,7 @@ async function switchChain({
10
9
  connector,
11
10
  isConnected
12
11
  } = wagmi.getAccount(wagmiConfig);
13
- let isSafe = connector && isSafeConnector(connector);
14
- if (!isSafe && connector && await isExternalConnectorWithSafeIframe(connector)) {
15
- isSafe = true;
16
- }
12
+ const isSafe = connector && isSafeConnector(connector);
17
13
  if (isConnected) wagmiConfig.setState((prev) => ({
18
14
  ...prev,
19
15
  chainId
@@ -1 +1 @@
1
- {"version":3,"file":"switchChain.js","sources":["../../../../src/lib/web3/wagmi/switchChain.ts"],"sourcesContent":["import * as wagmi from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport type { SupportedChainId } from \"./types\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { isExternalConnectorWithSafeIframe } from \"@/core/state/externalProviderAtom\";\n\nexport async function switchChain({ chainId }: { chainId: SupportedChainId }) {\n const { connector, isConnected } = wagmi.getAccount(wagmiConfig);\n let isSafe = connector && isSafeConnector(connector);\n\n // check if external provider is supplied and it's a Safe iframe provider\n if (\n !isSafe &&\n connector &&\n (await isExternalConnectorWithSafeIframe(connector))\n ) {\n isSafe = true;\n }\n\n // wagmi doesn't autoswitch state chainId with syncConnectedChain=false if connected\n if (isConnected) wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n // safe doesn't support programmatic chain switching\n if (!isSafe) return wagmi.switchChain(wagmiConfig, { chainId });\n}\n"],"names":["switchChain","chainId","connector","isConnected","wagmi","getAccount","wagmiConfig","isSafe","isSafeConnector","isExternalConnectorWithSafeIframe","setState","prev"],"mappings":";;;;;AAMA,eAAsBA,WAAAA,CAAY;AAAA,EAAEC;AAAuC,CAAA,EAAG;AAC5E,EAAA,MAAM;AAAA,IAAEC,SAAAA;AAAAA,IAAWC;AAAAA,GAAY,GAAIC,KAAAA,CAAMC,UAAAA,CAAWC,WAAW,CAAA;AAC/D,EAAA,IAAIC,MAAAA,GAASL,SAAAA,IAAaM,eAAAA,CAAgBN,SAAS,CAAA;AAGnD,EAAA,IACE,CAACK,MAAAA,IACDL,SAAAA,IACC,MAAMO,iCAAAA,CAAkCP,SAAS,CAAA,EAClD;AACAK,IAAAA,MAAAA,GAAS,IAAA;AAAA,EACX;AAGA,EAAA,IAAIJ,WAAAA,EAAaG,WAAAA,CAAYI,QAAAA,CAAUC,CAAAA,IAAAA,MAAU;AAAA,IAAE,GAAGA,IAAAA;AAAAA,IAAMV;AAAAA,GAAQ,CAAE,CAAA;AAGtE,EAAA,IAAI,CAACM,MAAAA,EAAQ,OAAOH,KAAAA,CAAMJ,YAAYM,WAAAA,EAAa;AAAA,IAAEL;AAAAA,GAAS,CAAA;AAChE;;;;"}
1
+ {"version":3,"file":"switchChain.js","sources":["../../../../src/lib/web3/wagmi/switchChain.ts"],"sourcesContent":["import * as wagmi from \"@wagmi/core\";\nimport { wagmiConfig } from \"./config\";\nimport type { SupportedChainId } from \"./types\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\nexport async function switchChain({ chainId }: { chainId: SupportedChainId }) {\n const { connector, isConnected } = wagmi.getAccount(wagmiConfig);\n const isSafe = connector && isSafeConnector(connector);\n\n // wagmi doesn't autoswitch state chainId with syncConnectedChain=false if connected\n if (isConnected) wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n // safe doesn't support programmatic chain switching\n if (!isSafe) return wagmi.switchChain(wagmiConfig, { chainId });\n}\n"],"names":["switchChain","chainId","connector","isConnected","wagmi","getAccount","wagmiConfig","isSafe","isSafeConnector","setState","prev"],"mappings":";;;;AAKA,eAAsBA,WAAAA,CAAY;AAAA,EAAEC;AAAuC,CAAA,EAAG;AAC5E,EAAA,MAAM;AAAA,IAAEC,SAAAA;AAAAA,IAAWC;AAAAA,GAAY,GAAIC,KAAAA,CAAMC,UAAAA,CAAWC,WAAW,CAAA;AAC/D,EAAA,MAAMC,MAAAA,GAASL,SAAAA,IAAaM,eAAAA,CAAgBN,SAAS,CAAA;AAGrD,EAAA,IAAIC,WAAAA,EAAaG,WAAAA,CAAYG,QAAAA,CAAUC,CAAAA,IAAAA,MAAU;AAAA,IAAE,GAAGA,IAAAA;AAAAA,IAAMT;AAAAA,GAAQ,CAAE,CAAA;AAGtE,EAAA,IAAI,CAACM,MAAAA,EAAQ,OAAOH,KAAAA,CAAMJ,YAAYM,WAAAA,EAAa;AAAA,IAAEL;AAAAA,GAAS,CAAA;AAChE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCallsStatus.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,EAAE,EAAE,MAAM,CAAC;CACZ,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEtC,KAAK,wBAAwB,GAAG,CAAC,MAAM,CAAC,EAAE;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,mBAAmB,CAAC;AAE1B,eAAO,MAAM,wBAAwB,EAAE,wBAkCpC,CAAC"}
1
+ {"version":3,"file":"ensureCallsStatus.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,EAAE,EAAE,MAAM,CAAC;CACZ,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEtC,KAAK,wBAAwB,GAAG,CAAC,MAAM,CAAC,EAAE;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,mBAAmB,CAAC;AAE1B,eAAO,MAAM,wBAAwB,EAAE,wBAwBpC,CAAC"}
@@ -1,29 +1,21 @@
1
- import { isExternalConnectorWithSafeIframe } from '../../core/state/externalProviderAtom.js';
2
- import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
3
1
  import { SAFE_CALLS_WAIT_TIMEOUT } from '../../lib/constants/index.js';
4
2
  import { queryClient } from '../../lib/queryClient.js';
5
3
  import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
6
- import { getAccount, waitForCallsStatus } from '@wagmi/core';
4
+ import { waitForCallsStatus } from '@wagmi/core';
7
5
  import { waitForCallsStatusQueryKey } from 'wagmi/query';
8
6
 
9
7
  const ensureCallsStatusFactory = ({
10
8
  queryClient: queryClient$1 = queryClient,
11
9
  wagmiConfig: wagmiConfig$1 = wagmiConfig,
12
- isSafe: _isSafe
10
+ isSafe = false
13
11
  } = {}) => async ({
14
12
  id
15
13
  }) => {
16
- const {
17
- connector
18
- } = getAccount(wagmiConfig$1);
19
- const isConnectorSafe = !!connector && isSafeConnector(connector);
20
- const isSafe = _isSafe || isConnectorSafe || !!connector && await isExternalConnectorWithSafeIframe(connector);
21
14
  const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
22
15
  const queryKey = waitForCallsStatusQueryKey({
23
16
  id,
24
- timeout,
17
+ timeout
25
18
  // important to include timeout into queryKey to match useAwaitCalls queryKey
26
- throwOnFailure: true
27
19
  });
28
20
  const status = await queryClient$1.ensureQueryData({
29
21
  queryKey,
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCallsStatus.js","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"sourcesContent":["import { isExternalConnectorWithSafeIframe } from \"@/core/state/externalProviderAtom\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { getAccount, waitForCallsStatus, type Config } from \"@wagmi/core\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"wagmi/query\";\n\nexport type EnsureCallsStatusFn = (options: {\n id: string;\n}) => Promise<WaitForCallsStatusData>;\n\ntype EnsureCallsStatusFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: Config;\n isSafe?: boolean;\n}) => EnsureCallsStatusFn;\n\nexport const ensureCallsStatusFactory: EnsureCallsStatusFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe: _isSafe,\n } = {}) =>\n async ({ id }) => {\n const { connector } = getAccount(wagmiConfig);\n const isConnectorSafe = !!connector && isSafeConnector(connector);\n\n const isSafe =\n _isSafe ||\n isConnectorSafe ||\n (!!connector && (await isExternalConnectorWithSafeIframe(connector)));\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryKey = waitForCallsStatusQueryKey({\n id,\n timeout, // important to include timeout into queryKey to match useAwaitCalls queryKey\n throwOnFailure: true,\n });\n const status = await queryClient.ensureQueryData({\n queryKey,\n queryFn: async () => {\n return waitForCallsStatus(wagmiConfig, {\n id,\n throwOnFailure: true,\n timeout,\n });\n },\n });\n\n return status;\n };\n"],"names":["ensureCallsStatusFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","_isSafe","id","connector","getAccount","isConnectorSafe","isSafeConnector","isExternalConnectorWithSafeIframe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","queryKey","waitForCallsStatusQueryKey","throwOnFailure","status","ensureQueryData","queryFn","waitForCallsStatus"],"mappings":";;;;;;;;AAuBO,MAAMA,2BACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,EAAQC;AACV,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC;AAAG,CAAA,KAAM;AAChB,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIC,WAAWN,aAAW,CAAA;AAC5C,EAAA,MAAMO,eAAAA,GAAkB,CAAC,CAACF,SAAAA,IAAaG,gBAAgBH,SAAS,CAAA;AAEhE,EAAA,MAAMH,MAAAA,GACJC,WACAI,eAAAA,IACC,CAAC,CAACF,SAAAA,IAAc,MAAMI,kCAAkCJ,SAAS,CAAA;AAEpE,EAAA,MAAMK,OAAAA,GAAUR,SAASS,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,MAAMC,WAAWC,0BAAAA,CAA2B;AAAA,IAC1CV,EAAAA;AAAAA,IACAM,OAAAA;AAAAA;AAAAA,IACAK,cAAAA,EAAgB;AAAA,GACjB,CAAA;AACD,EAAA,MAAMC,MAAAA,GAAS,MAAMlB,aAAAA,CAAYmB,eAAAA,CAAgB;AAAA,IAC/CJ,QAAAA;AAAAA,IACAK,SAAS,YAAY;AACnB,MAAA,OAAOC,mBAAmBnB,aAAAA,EAAa;AAAA,QACrCI,EAAAA;AAAAA,QACAW,cAAAA,EAAgB,IAAA;AAAA,QAChBL;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,OAAOM,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"ensureCallsStatus.js","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"sourcesContent":["import { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { waitForCallsStatus, type Config } from \"@wagmi/core\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"wagmi/query\";\n\nexport type EnsureCallsStatusFn = (options: {\n id: string;\n}) => Promise<WaitForCallsStatusData>;\n\ntype EnsureCallsStatusFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: Config;\n isSafe?: boolean;\n}) => EnsureCallsStatusFn;\n\nexport const ensureCallsStatusFactory: EnsureCallsStatusFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe = false,\n } = {}) =>\n async ({ id }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n const queryKey = waitForCallsStatusQueryKey({\n id,\n timeout, // important to include timeout into queryKey to match useAwaitCalls queryKey\n });\n const status = await queryClient.ensureQueryData({\n queryKey,\n queryFn: async () => {\n return waitForCallsStatus(wagmiConfig, {\n id,\n throwOnFailure: true,\n timeout,\n });\n },\n });\n\n return status;\n };\n"],"names":["ensureCallsStatusFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","id","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","queryKey","waitForCallsStatusQueryKey","status","ensureQueryData","queryFn","waitForCallsStatus","throwOnFailure"],"mappings":";;;;;;AAqBO,MAAMA,2BACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,GAAS;AACX,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC;AAAG,CAAA,KAAM;AAChB,EAAA,MAAMC,OAAAA,GAAUF,SAASG,uBAAAA,GAA0BC,MAAAA;AACnD,EAAA,MAAMC,WAAWC,0BAAAA,CAA2B;AAAA,IAC1CL,EAAAA;AAAAA,IACAC;AAAAA;AAAAA,GACD,CAAA;AACD,EAAA,MAAMK,MAAAA,GAAS,MAAMX,aAAAA,CAAYY,eAAAA,CAAgB;AAAA,IAC/CH,QAAAA;AAAAA,IACAI,SAAS,YAAY;AACnB,MAAA,OAAOC,mBAAmBZ,aAAAA,EAAa;AAAA,QACrCG,EAAAA;AAAAA,QACAU,cAAAA,EAAgB,IAAA;AAAA,QAChBT;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,OAAOK,MAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAK1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAgDlC,CAAC"}
1
+ {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAsClC,CAAC"}
@@ -7,26 +7,23 @@ import { SAFE_CALLS_WAIT_TIMEOUT } from '../../lib/constants/index.js';
7
7
  import 'wagmi/chains';
8
8
  import { getAccount, getConnectorClient } from '@wagmi/core';
9
9
  import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
10
- import { isExternalConnectorWithSafeIframe } from '../../core/state/externalProviderAtom.js';
11
10
 
12
11
  const ensureTxReceiptFactory = ({
13
12
  queryClient: queryClient$1 = queryClient,
14
13
  wagmiConfig: wagmiConfig$1 = wagmiConfig,
15
- isSafe: _isSafe
14
+ isSafe
16
15
  } = {}) => async ({
17
16
  hash,
18
17
  chainId,
19
18
  confirmations,
20
19
  onReplaced
21
20
  }) => {
21
+ const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
22
+ let config = wagmiConfig$1;
22
23
  const {
23
24
  connector
24
25
  } = getAccount(wagmiConfig$1);
25
- const isConnectorSafe = !!connector && isSafeConnector(connector);
26
- const isSafe = _isSafe || isConnectorSafe || !!connector && await isExternalConnectorWithSafeIframe(connector);
27
- const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
28
- let config = wagmiConfig$1;
29
- if (isConnectorSafe) {
26
+ if (connector && isSafeConnector(connector)) {
30
27
  const safeClient = await getConnectorClient(wagmiConfig$1, {
31
28
  chainId,
32
29
  connector
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { type ReplacementReturnType, type TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryOptions } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { type Chain } from \"wagmi/chains\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { isExternalConnectorWithSafeIframe } from \"@/core/state/externalProviderAtom\";\n\ntype OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe: _isSafe,\n } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const { connector } = getAccount(wagmiConfig);\n const isConnectorSafe = !!connector && isSafeConnector(connector);\n const isSafe =\n _isSafe ||\n isConnectorSafe ||\n (!!connector && (await isExternalConnectorWithSafeIframe(connector)));\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n let config = wagmiConfig;\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (isConnectorSafe) {\n const safeClient = await getConnectorClient(wagmiConfig, {\n chainId,\n connector,\n });\n // force waitForTransactionReceiptQueryOptions to use SafeClient internally\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return safeClient;\n },\n } as typeof wagmiConfig;\n }\n\n // wagmi/core waitForTransactionReceipt throws on receipt.status==\"reverted\",\n // unlike viem waitForTransactionReceipt which returns the receipt as is\n const queryOptions = waitForTransactionReceiptQueryOptions(config, {\n hash,\n chainId,\n confirmations,\n timeout,\n onReplaced,\n });\n\n const receipt = await queryClient.ensureQueryData(queryOptions);\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","_isSafe","hash","chainId","confirmations","onReplaced","connector","getAccount","isConnectorSafe","isSafeConnector","isExternalConnectorWithSafeIframe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","config","safeClient","getConnectorClient","getClient","options","assert","queryOptions","waitForTransactionReceiptQueryOptions","receipt","ensureQueryData"],"mappings":";;;;;;;;;;;AAgCO,MAAMA,yBACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,EAAQC;AACV,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIC,WAAWT,aAAW,CAAA;AAC5C,EAAA,MAAMU,eAAAA,GAAkB,CAAC,CAACF,SAAAA,IAAaG,gBAAgBH,SAAS,CAAA;AAChE,EAAA,MAAMN,MAAAA,GACJC,WACAO,eAAAA,IACC,CAAC,CAACF,SAAAA,IAAc,MAAMI,kCAAkCJ,SAAS,CAAA;AAEpE,EAAA,MAAMK,OAAAA,GAAUX,SAASY,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,IAAIC,MAAAA,GAAShB,aAAAA;AAIb,EAAA,IAAIU,eAAAA,EAAiB;AACnB,IAAA,MAAMO,UAAAA,GAAa,MAAMC,kBAAAA,CAAmBlB,aAAAA,EAAa;AAAA,MACvDK,OAAAA;AAAAA,MACAG;AAAAA,KACD,CAAA;AAEDQ,IAAAA,MAAAA,GAAS;AAAA,MACP,GAAGhB,aAAAA;AAAAA,MACHmB,WAAYC,CAAAA,OAAAA,KAAY;AACtBC,QAAAA,MAAAA,CAAO,CAACD,OAAAA,IAAWA,OAAAA,CAAQf,OAAAA,KAAYA,SAAS,kBAAkB,CAAA;AAClE,QAAA,OAAOY,UAAAA;AAAAA,MACT;AAAA,KACF;AAAA,EACF;AAIA,EAAA,MAAMK,YAAAA,GAAeC,sCAAsCP,MAAAA,EAAQ;AAAA,IACjEZ,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAO,OAAAA;AAAAA,IACAN;AAAAA,GACD,CAAA;AAED,EAAA,MAAMiB,OAAAA,GAAU,MAAM1B,aAAAA,CAAY2B,eAAAA,CAAgBH,YAAY,CAAA;AAE9D,EAAA,OAAOE,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { type ReplacementReturnType, type TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryOptions } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { type Chain } from \"wagmi/chains\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\ntype OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({ queryClient = _queryClient, wagmiConfig = _wagmiConfig, isSafe } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n let config = wagmiConfig;\n const { connector } = getAccount(wagmiConfig);\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (connector && isSafeConnector(connector)) {\n const safeClient = await getConnectorClient(wagmiConfig, {\n chainId,\n connector,\n });\n // force waitForTransactionReceiptQueryOptions to use SafeClient internally\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return safeClient;\n },\n } as typeof wagmiConfig;\n }\n\n // wagmi/core waitForTransactionReceipt throws on receipt.status==\"reverted\",\n // unlike viem waitForTransactionReceipt which returns the receipt as is\n const queryOptions = waitForTransactionReceiptQueryOptions(config, {\n hash,\n chainId,\n confirmations,\n timeout,\n onReplaced,\n });\n\n const receipt = await queryClient.ensureQueryData(queryOptions);\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","hash","chainId","confirmations","onReplaced","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","config","connector","getAccount","isSafeConnector","safeClient","getConnectorClient","getClient","options","assert","queryOptions","waitForTransactionReceiptQueryOptions","receipt","ensureQueryData"],"mappings":";;;;;;;;;;AA+BO,MAAMA,yBACXA,CAAC;AAAA,eAAEC,aAAAA,GAAcC,WAAAA;AAAAA,eAAcC,aAAAA,GAAcC,WAAAA;AAAAA,EAAcC;AAAO,CAAA,GAAI,OACtE,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAMC,OAAAA,GAAUL,SAASM,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,IAAIC,MAAAA,GAASV,aAAAA;AACb,EAAA,MAAM;AAAA,IAAEW;AAAAA,GAAU,GAAIC,WAAWZ,aAAW,CAAA;AAI5C,EAAA,IAAIW,SAAAA,IAAaE,eAAAA,CAAgBF,SAAS,CAAA,EAAG;AAC3C,IAAA,MAAMG,UAAAA,GAAa,MAAMC,kBAAAA,CAAmBf,aAAAA,EAAa;AAAA,MACvDI,OAAAA;AAAAA,MACAO;AAAAA,KACD,CAAA;AAEDD,IAAAA,MAAAA,GAAS;AAAA,MACP,GAAGV,aAAAA;AAAAA,MACHgB,WAAYC,CAAAA,OAAAA,KAAY;AACtBC,QAAAA,MAAAA,CAAO,CAACD,OAAAA,IAAWA,OAAAA,CAAQb,OAAAA,KAAYA,SAAS,kBAAkB,CAAA;AAClE,QAAA,OAAOU,UAAAA;AAAAA,MACT;AAAA,KACF;AAAA,EACF;AAIA,EAAA,MAAMK,YAAAA,GAAeC,sCAAsCV,MAAAA,EAAQ;AAAA,IACjEP,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAE,OAAAA;AAAAA,IACAD;AAAAA,GACD,CAAA;AAED,EAAA,MAAMe,OAAAA,GAAU,MAAMvB,aAAAA,CAAYwB,eAAAA,CAAgBH,YAAY,CAAA;AAE9D,EAAA,OAAOE,OAAAA;AACT;;;;"}
@@ -1,13 +1,7 @@
1
- export declare const finalizeStandaloneTxsEffect: import('jotai').Atom<void> & {
2
- effect: import('jotai-effect').Effect;
3
- };
4
- export declare const finalizeStandaloneSafeTxsEffect: import('jotai').Atom<void> & {
1
+ export declare const finalizeStandoloneTxsEffect: import('jotai').Atom<void> & {
5
2
  effect: import('jotai-effect').Effect;
6
3
  };
7
4
  export declare const finalizeBatchTxsEffect: import('jotai').Atom<void> & {
8
5
  effect: import('jotai-effect').Effect;
9
6
  };
10
- export declare const finalizeBatchSafeTxsEffect: import('jotai').Atom<void> & {
11
- effect: import('jotai-effect').Effect;
12
- };
13
7
  //# sourceMappingURL=finalize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/effects/finalize.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,2BAA2B;;CAStC,CAAC;AAIH,eAAO,MAAM,+BAA+B;;CA0B1C,CAAC;AAKH,eAAO,MAAM,sBAAsB;;CAajC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;CA0BrC,CAAC"}
1
+ {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/effects/finalize.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,2BAA2B;;CAOtC,CAAC;AAKH,eAAO,MAAM,sBAAsB;;CAWjC,CAAC"}
@@ -2,61 +2,27 @@ import { atomEffect } from 'jotai-effect';
2
2
  import { allPendingStandaloneTransactionItemsAtom, allPendingBatchTransactionItemsAtom } from '../transactionsAtom.js';
3
3
  import { finalizeStandaloneTxAtom, finalizeBatchTxAtom } from '../transactionsActionAtom.js';
4
4
  import { transactionLogger } from '../../logger.js';
5
- import { accountAtom, addressAtom } from '../../../lib/web3/wagmi/external.js';
6
- import { isSafeConnector } from '../../../hooks/connectors/useIsGnosisSafeConnector.js';
7
- import { isGnosisSafeTx } from '../../utils.js';
5
+ import { accountAtom } from '../../../lib/web3/wagmi/external.js';
8
6
 
9
7
  let hasRunStandaloneEffect = false;
10
- const finalizeStandaloneTxsEffect = atomEffect((get, set) => {
8
+ const finalizeStandoloneTxsEffect = atomEffect((get, set) => {
11
9
  if (hasRunStandaloneEffect) return;
12
10
  hasRunStandaloneEffect = true;
13
- const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom).filter((tx) => !isGnosisSafeTx(tx));
11
+ const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);
14
12
  transactionLogger.log("Effect::pendingStandaloneTxs", pendingStandaloneTxs);
15
13
  pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));
16
14
  });
17
- let hasRunStandaloneSafeEffect = false;
18
- const finalizeStandaloneSafeTxsEffect = atomEffect((get, set) => {
19
- if (hasRunStandaloneSafeEffect) return;
20
- const {
21
- connector,
22
- address
23
- } = get(accountAtom);
24
- const connectedSafe = connector && isSafeConnector(connector);
25
- if (connectedSafe && !!connector.getAccounts && !!connector.getChainId && address) {
26
- hasRunStandaloneSafeEffect = true;
27
- const addressLower = address.toLowerCase();
28
- const pendingSafeTxs = get(allPendingStandaloneTransactionItemsAtom).filter(isGnosisSafeTx).filter((tx) => tx.account.toLowerCase() === addressLower);
29
- transactionLogger.log("Effect::pendingSafeTxs", pendingSafeTxs);
30
- pendingSafeTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));
31
- }
32
- });
33
15
  let hasRunBatchEffect = false;
34
16
  const finalizeBatchTxsEffect = atomEffect((get, set) => {
35
17
  if (hasRunBatchEffect) return;
36
- const address = get(addressAtom);
37
- if (address) {
18
+ const account = get(accountAtom);
19
+ if (account) {
38
20
  hasRunBatchEffect = true;
39
- const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom).filter((tx) => !isGnosisSafeTx(tx));
21
+ const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);
40
22
  transactionLogger.log("Effect::pendingBatchTxs", pendingBatchTxs);
41
23
  pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));
42
24
  }
43
25
  });
44
- let hasRunBatchSafeEffect = false;
45
- const finalizeBatchSafeTxsEffect = atomEffect((get, set) => {
46
- if (hasRunBatchSafeEffect) return;
47
- const {
48
- connector,
49
- address
50
- } = get(accountAtom);
51
- const connectedSafe = connector && isSafeConnector(connector);
52
- if (connectedSafe && !!connector.getAccounts && !!connector.getChainId && address) {
53
- hasRunBatchSafeEffect = true;
54
- const addressLower = address.toLowerCase();
55
- const pendingSafeBatchTxs = get(allPendingBatchTransactionItemsAtom).filter(isGnosisSafeTx).filter((tx) => tx.account.toLowerCase() === addressLower);
56
- transactionLogger.log("Effect::pendingSafeBatchTxs", pendingSafeBatchTxs);
57
- pendingSafeBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));
58
- }
59
- });
60
26
 
61
- export { finalizeBatchSafeTxsEffect, finalizeBatchTxsEffect, finalizeStandaloneSafeTxsEffect, finalizeStandaloneTxsEffect };
27
+ export { finalizeBatchTxsEffect, finalizeStandoloneTxsEffect };
62
28
  //# sourceMappingURL=finalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom, addressAtom } from \"@/lib/web3/wagmi/external\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { isGnosisSafeTx } from \"@/transactions/utils\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandaloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom)\n // txs through safe are handled in another effect\n .filter((tx) => !isGnosisSafeTx(tx));\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// waitForTransactionReceipt(connectorClient,{safeTxHash}) requires wallet to be connected through safe connector\nlet hasRunStandaloneSafeEffect = false;\nexport const finalizeStandaloneSafeTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneSafeEffect) return;\n const { connector, address } = get(accountAtom);\n const connectedSafe = connector && isSafeConnector(connector);\n\n // try finalize when:\n // - connected through safe connector\n // - all required methods are available for ensureTxReceipt(){getConnectorClient()}\n // otherwise it will throw ConnectorUnavailableReconnectingError\n if (\n connectedSafe &&\n !!connector.getAccounts &&\n !!connector.getChainId &&\n address\n ) {\n hasRunStandaloneSafeEffect = true;\n\n const addressLower = address.toLowerCase();\n\n const pendingSafeTxs = get(allPendingStandaloneTransactionItemsAtom)\n .filter(isGnosisSafeTx)\n // only trigger Safe tx finalization if the same Safe that made the tx is connected\n .filter((tx) => tx.account.toLowerCase() === addressLower);\n transactionLogger.log(\"Effect::pendingSafeTxs\", pendingSafeTxs);\n pendingSafeTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n }\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const address = get(addressAtom);\n if (address) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom)\n // batch txs through safe are handled in another effect\n .filter((tx) => !isGnosisSafeTx(tx));\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n\nlet hasRunBatchSafeEffect = false;\nexport const finalizeBatchSafeTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchSafeEffect) return;\n const { connector, address } = get(accountAtom);\n const connectedSafe = connector && isSafeConnector(connector);\n\n // try finalize when:\n // - connected through safe connector\n // - all required methods are available for ensureCallsStatus(){getConnectorClient()}\n // otherwise it will throw ConnectorUnavailableReconnectingError\n if (\n connectedSafe &&\n !!connector.getAccounts &&\n !!connector.getChainId &&\n address\n ) {\n hasRunBatchSafeEffect = true;\n\n const addressLower = address.toLowerCase();\n\n const pendingSafeBatchTxs = get(allPendingBatchTransactionItemsAtom)\n .filter(isGnosisSafeTx)\n // only trigger Safe tx finalization if the same Safe that made the tx is connected\n .filter((tx) => tx.account.toLowerCase() === addressLower);\n transactionLogger.log(\"Effect::pendingSafeBatchTxs\", pendingSafeBatchTxs);\n pendingSafeBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandaloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","filter","tx","isGnosisSafeTx","transactionLogger","log","forEach","finalizeStandaloneTxAtom","hasRunStandaloneSafeEffect","finalizeStandaloneSafeTxsEffect","connector","address","accountAtom","connectedSafe","isSafeConnector","getAccounts","getChainId","addressLower","toLowerCase","pendingSafeTxs","account","hasRunBatchEffect","finalizeBatchTxsEffect","addressAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom","hasRunBatchSafeEffect","finalizeBatchSafeTxsEffect","pendingSafeBatchTxs"],"mappings":"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"}
1
+ {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandoloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const account = get(accountAtom);\n if (account) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandoloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","transactionLogger","log","forEach","tx","finalizeStandaloneTxAtom","hasRunBatchEffect","finalizeBatchTxsEffect","account","accountAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom"],"mappings":";;;;;;AAcA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA;AACzEC,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCH,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBI,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIO,wBAAAA,EAA0BD,EAAE,CAAC,CAAA;AACxE,CAAC;AAID,IAAIE,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyBX,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIQ,iBAAAA,EAAmB;AAEvB,EAAA,MAAME,OAAAA,GAAUX,IAAIY,WAAW,CAAA;AAC/B,EAAA,IAAID,OAAAA,EAAS;AACXF,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMI,eAAAA,GAAkBb,IAAIc,mCAAmC,CAAA;AAC/DV,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BQ,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBP,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIc,mBAAAA,EAAqBR,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"names":[],"mappings":"AAQA,wBAAgB,kBAAkB,SAMjC"}
1
+ {"version":3,"file":"useActivateEffects.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,SAIjC"}
@@ -1,11 +1,9 @@
1
1
  import { useAtom } from '../../../core/store.js';
2
- import { finalizeStandaloneTxsEffect, finalizeStandaloneSafeTxsEffect, finalizeBatchTxsEffect, finalizeBatchSafeTxsEffect } from '../effects/finalize.js';
2
+ import { finalizeStandoloneTxsEffect, finalizeBatchTxsEffect } from '../effects/finalize.js';
3
3
 
4
4
  function useActivateEffects() {
5
- useAtom(finalizeStandaloneTxsEffect);
6
- useAtom(finalizeStandaloneSafeTxsEffect);
5
+ useAtom(finalizeStandoloneTxsEffect);
7
6
  useAtom(finalizeBatchTxsEffect);
8
- useAtom(finalizeBatchSafeTxsEffect);
9
7
  }
10
8
 
11
9
  export { useActivateEffects };
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandaloneTxsEffect,\n finalizeStandaloneSafeTxsEffect,\n finalizeBatchSafeTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandaloneTxsEffect);\n useAtom(finalizeStandaloneSafeTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n useAtom(finalizeBatchSafeTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandaloneTxsEffect","finalizeStandaloneSafeTxsEffect","finalizeBatchTxsEffect","finalizeBatchSafeTxsEffect"],"mappings":";;;AAQO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,+BAA+B,CAAA;AACvCF,EAAAA,OAAAA,CAAQG,sBAAsB,CAAA;AAC9BH,EAAAA,OAAAA,CAAQI,0BAA0B,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandoloneTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandoloneTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandoloneTxsEffect","finalizeBatchTxsEffect"],"mappings":";;;AAMO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,sBAAsB,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AA0BlB,eAAO,MAAM,SAAS;;CAuBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAkCnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
1
+ {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,SAAS;;CAoBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CA0BnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
@@ -5,24 +5,18 @@ import { ensureTxReceiptFactory } from '../queries/ensureTxReceipt.js';
5
5
  import { WaitForTransactionReceiptTimeoutError, TransactionReceiptNotFoundError, WaitForCallsStatusTimeoutError, MethodNotSupportedRpcError } from 'viem';
6
6
  import { transactionLogger } from '../logger.js';
7
7
  import { transactionsAtom } from './transactionsAtom.js';
8
- import { isGnosisSafeTx, isStandaloneTransactionItem, isBatchTransactionItem } from '../utils.js';
9
- import { assert } from 'ts-essentials';
8
+ import { isStandaloneTransactionItem, isBatchTransactionItem } from '../utils.js';
10
9
  import { accountAtom } from '../../lib/web3/wagmi/external.js';
10
+ import { assert } from 'ts-essentials';
11
11
 
12
12
  const addTxAtom = atom(null, async (get, set, transaction) => {
13
- const {
14
- connector,
15
- address
16
- } = get(accountAtom);
17
- assert(connector && address, "connector and address are required");
13
+ const account = get(accountAtom);
14
+ assert(account, "addTxAtom: account is required");
18
15
  const txWithMeta = {
19
16
  ...transaction,
20
- account: address,
17
+ account,
21
18
  timestamp: Date.now(),
22
- dropped: false,
23
- connectorData: {
24
- type: connector.type
25
- }
19
+ dropped: false
26
20
  };
27
21
  set(transactionsAtom, (current) => assignTx(current, txWithMeta));
28
22
  if (isStandaloneTransactionItem(txWithMeta)) {
@@ -36,30 +30,18 @@ const finalizeStandaloneTxAtom = atom(null, async (_, set, transaction) => {
36
30
  ...transaction
37
31
  };
38
32
  const ensureTxReceipt = ensureTxReceiptFactory();
39
- const isTxThroughSafe = isGnosisSafeTx(finalizedTx);
40
33
  try {
41
- const txReceipt = await ensureTxReceipt({
42
- hash: finalizedTx.transactionHash,
43
- chainId: finalizedTx.chainId
34
+ finalizedTx.receipt = await ensureTxReceipt({
35
+ hash: transaction.transactionHash,
36
+ chainId: transaction.chainId
44
37
  });
45
- finalizedTx.receipt = txReceipt;
46
38
  } catch (error) {
47
39
  if (error instanceof WaitForTransactionReceiptTimeoutError || error instanceof TransactionReceiptNotFoundError) {
48
40
  finalizedTx.dropped = true;
49
- transactionLogger.error("tx dropped", {
50
- error,
51
- finalizedTx,
52
- isTxThroughSafe
53
- });
41
+ transactionLogger.error(`finalizeStandaloneTxAtom::Transaction ${transaction.transactionHash} dropped with error: ${error.message}`);
54
42
  } else throw error;
55
43
  } finally {
56
- if (finalizedTx.receipt || finalizedTx.dropped) {
57
- set(transactionsAtom, (current) => assignTx(current, finalizedTx));
58
- transactionLogger.log("tx finalized", {
59
- finalizedTx,
60
- isTxThroughSafe
61
- });
62
- }
44
+ set(transactionsAtom, (current) => assignTx(current, finalizedTx));
63
45
  }
64
46
  });
65
47
  const finalizeBatchTxAtom = atom(null, async (_, set, transaction) => {
@@ -72,30 +54,20 @@ const finalizeBatchTxAtom = atom(null, async (_, set, transaction) => {
72
54
  receipts,
73
55
  status
74
56
  } = await ensureCallsStatus({
75
- id: finalizedTx.callsId
57
+ id: transaction.callsId
76
58
  });
77
59
  finalizedTx.callsStatus = status;
78
60
  finalizedTx.receipt = receipts?.[receipts.length - 1];
79
61
  } catch (error) {
80
62
  if (error instanceof WaitForCallsStatusTimeoutError || error instanceof MethodNotSupportedRpcError) {
81
63
  finalizedTx.dropped = true;
82
- transactionLogger.error("batch tx dropped", {
83
- error,
84
- finalizedTx
85
- });
64
+ transactionLogger.error(`finalizeBatchTxAtom::Batch transaction ${transaction.callsId} dropped with error: ${error.message}`);
86
65
  } else {
87
66
  finalizedTx.callsStatus = "failure";
88
- transactionLogger.error("batch tx failed", {
89
- error,
90
- finalizedTx
91
- });
92
67
  throw error;
93
68
  }
94
69
  } finally {
95
70
  set(transactionsAtom, (current) => assignTx(current, finalizedTx));
96
- transactionLogger.log("batch tx finalized", {
97
- finalizedTx
98
- });
99
71
  }
100
72
  });
101
73
  const addTx = async (transaction) => {
@@ -103,7 +75,7 @@ const addTx = async (transaction) => {
103
75
  };
104
76
  function sanitizeTx(tx) {
105
77
  if (isBatchTransactionItem(tx)) {
106
- const txItem2 = {
78
+ return {
107
79
  action: tx.action,
108
80
  account: tx.account,
109
81
  chainId: tx.chainId,
@@ -114,14 +86,8 @@ function sanitizeTx(tx) {
114
86
  receipt: tx.receipt,
115
87
  transactionSpecificData: tx.transactionSpecificData
116
88
  };
117
- if (tx.connectorData) {
118
- txItem2.connectorData = {
119
- type: tx.connectorData.type
120
- };
121
- }
122
- return txItem2;
123
89
  }
124
- const txItem = {
90
+ return {
125
91
  action: tx.action,
126
92
  chainId: tx.chainId,
127
93
  account: tx.account,
@@ -131,12 +97,6 @@ function sanitizeTx(tx) {
131
97
  receipt: tx.receipt,
132
98
  transactionSpecificData: tx.transactionSpecificData
133
99
  };
134
- if (tx.connectorData) {
135
- txItem.connectorData = {
136
- type: tx.connectorData.type
137
- };
138
- }
139
- return txItem;
140
100
  }
141
101
  function assignTx(currentTransactions, transaction) {
142
102
  transactionLogger.log("assignTx", {