@ixo/editor 6.32.1 → 6.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. package/dist/BidConfig-YLGSEIOS.js +154 -0
  2. package/dist/BidConfig-YLGSEIOS.js.map +1 -0
  3. package/dist/BidFlowDetail-TJCJBJZZ.js +365 -0
  4. package/dist/BidFlowDetail-TJCJBJZZ.js.map +1 -0
  5. package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
  6. package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
  7. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
  8. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
  9. package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
  10. package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
  11. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
  12. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
  13. package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
  14. package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
  15. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
  16. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
  17. package/dist/ClaimConfig-3HKPGK55.js +200 -0
  18. package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
  19. package/dist/ClaimFlowDetail-UVEQMEI5.js +641 -0
  20. package/dist/ClaimFlowDetail-UVEQMEI5.js.map +1 -0
  21. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
  22. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
  23. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js +647 -0
  24. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js.map +1 -0
  25. package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
  26. package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
  27. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js +1276 -0
  28. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js.map +1 -0
  29. package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
  30. package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
  31. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
  32. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
  33. package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
  34. package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
  35. package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
  36. package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
  37. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
  38. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
  39. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
  40. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
  41. package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
  42. package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
  43. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
  44. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
  45. package/dist/DomainSignConfig-XFIXROVK.js +47 -0
  46. package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
  47. package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
  48. package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
  49. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
  50. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
  51. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
  52. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
  53. package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
  54. package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
  55. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
  56. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
  57. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
  58. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
  59. package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
  60. package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
  61. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
  62. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
  63. package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
  64. package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
  65. package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
  66. package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
  67. package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
  68. package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
  69. package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
  70. package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
  71. package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
  72. package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
  73. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js +564 -0
  74. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js.map +1 -0
  75. package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
  76. package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
  77. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js +2237 -0
  78. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js.map +1 -0
  79. package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
  80. package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
  81. package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
  82. package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
  83. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
  84. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
  85. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
  86. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
  87. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
  88. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
  89. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
  90. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
  91. package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
  92. package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
  93. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
  94. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
  95. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
  96. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
  97. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
  98. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
  99. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
  100. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
  101. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
  102. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
  103. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
  104. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
  105. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
  106. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
  107. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
  108. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
  109. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
  110. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
  111. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
  112. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
  113. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
  114. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
  115. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
  116. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
  117. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
  118. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
  119. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
  120. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
  121. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
  122. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
  123. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
  124. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
  125. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
  126. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
  127. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
  128. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
  129. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
  130. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
  131. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
  132. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
  133. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
  134. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
  135. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
  136. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
  137. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
  138. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
  139. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
  140. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
  141. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
  142. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
  143. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
  144. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
  145. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
  146. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
  147. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
  148. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
  149. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
  150. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
  151. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
  152. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
  153. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
  154. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
  155. package/dist/HarvestConfig-AIGOGBFR.js +56 -0
  156. package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
  157. package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
  158. package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
  159. package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
  160. package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
  161. package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
  162. package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
  163. package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
  164. package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
  165. package/dist/IdentityCreateFlowDetail-WGKO43IH.js +83 -0
  166. package/dist/IdentityCreateFlowDetail-WGKO43IH.js.map +1 -0
  167. package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
  168. package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
  169. package/dist/IidCreateFlowDetail-6M32S6XS.js +57 -0
  170. package/dist/IidCreateFlowDetail-6M32S6XS.js.map +1 -0
  171. package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
  172. package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
  173. package/dist/KycVerifyFlowDetail-EWOMXSD3.js +421 -0
  174. package/dist/KycVerifyFlowDetail-EWOMXSD3.js.map +1 -0
  175. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
  176. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
  177. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
  178. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
  179. package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
  180. package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
  181. package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
  182. package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
  183. package/dist/MatrixDmConfig-NBII27CS.js +120 -0
  184. package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
  185. package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
  186. package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
  187. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
  188. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
  189. package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
  190. package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
  191. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
  192. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
  193. package/dist/OracleConfig-R7TDTTKN.js +56 -0
  194. package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
  195. package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
  196. package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
  197. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js +255 -0
  198. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js.map +1 -0
  199. package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
  200. package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
  201. package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
  202. package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
  203. package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
  204. package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
  205. package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
  206. package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
  207. package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
  208. package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
  209. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
  210. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
  211. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
  212. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
  213. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
  214. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
  215. package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
  216. package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
  217. package/dist/OraclePromptConfig-YBRESISH.js +39 -0
  218. package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
  219. package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
  220. package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
  221. package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
  222. package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
  223. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
  224. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
  225. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
  226. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
  227. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js +220 -0
  228. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js.map +1 -0
  229. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
  230. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
  231. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js +197 -0
  232. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js.map +1 -0
  233. package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
  234. package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
  235. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js +235 -0
  236. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js.map +1 -0
  237. package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
  238. package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
  239. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
  240. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
  241. package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
  242. package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
  243. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
  244. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
  245. package/dist/RetireConfig-MV37WWZ6.js +59 -0
  246. package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
  247. package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
  248. package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
  249. package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
  250. package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
  251. package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
  252. package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
  253. package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
  254. package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
  255. package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
  256. package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
  257. package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
  258. package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
  259. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
  260. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
  261. package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
  262. package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
  263. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
  264. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
  265. package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
  266. package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
  267. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
  268. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
  269. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
  270. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
  271. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
  272. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
  273. package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
  274. package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
  275. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
  276. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
  277. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
  278. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
  279. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
  280. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
  281. package/dist/action-manifest.json +2091 -393
  282. package/dist/chunk-2GAYKKTL.js +9 -0
  283. package/dist/chunk-2GAYKKTL.js.map +1 -0
  284. package/dist/chunk-2WPEATI7.js +315 -0
  285. package/dist/chunk-2WPEATI7.js.map +1 -0
  286. package/dist/chunk-3O42FYT3.js +3333 -0
  287. package/dist/chunk-3O42FYT3.js.map +1 -0
  288. package/dist/chunk-3TUYY4HK.js +20 -0
  289. package/dist/chunk-3TUYY4HK.js.map +1 -0
  290. package/dist/chunk-3XSLBJYI.js +554 -0
  291. package/dist/chunk-3XSLBJYI.js.map +1 -0
  292. package/dist/chunk-4DGCCXD6.js +710 -0
  293. package/dist/chunk-4DGCCXD6.js.map +1 -0
  294. package/dist/chunk-4NAFQF6V.js +11 -0
  295. package/dist/chunk-4NAFQF6V.js.map +1 -0
  296. package/dist/chunk-4PONO4US.js +799 -0
  297. package/dist/chunk-4PONO4US.js.map +1 -0
  298. package/dist/chunk-4TMOIK5M.js +21 -0
  299. package/dist/chunk-4TMOIK5M.js.map +1 -0
  300. package/dist/chunk-5IH3VC5I.js +102 -0
  301. package/dist/chunk-5IH3VC5I.js.map +1 -0
  302. package/dist/chunk-5NTKDOP6.js +89 -0
  303. package/dist/chunk-5NTKDOP6.js.map +1 -0
  304. package/dist/chunk-5O2SFRGU.js +18 -0
  305. package/dist/chunk-5O2SFRGU.js.map +1 -0
  306. package/dist/chunk-632JLECF.js +55 -0
  307. package/dist/chunk-632JLECF.js.map +1 -0
  308. package/dist/chunk-676HDB7K.js +95 -0
  309. package/dist/chunk-676HDB7K.js.map +1 -0
  310. package/dist/chunk-6ESTNTSH.js +223 -0
  311. package/dist/chunk-6ESTNTSH.js.map +1 -0
  312. package/dist/chunk-6GKJR52N.js +15 -0
  313. package/dist/chunk-6GKJR52N.js.map +1 -0
  314. package/dist/chunk-6L4ZIKYU.js +23 -0
  315. package/dist/chunk-6L4ZIKYU.js.map +1 -0
  316. package/dist/chunk-76YX5R4L.js +11 -0
  317. package/dist/chunk-76YX5R4L.js.map +1 -0
  318. package/dist/chunk-7J3GFMN3.js +32 -0
  319. package/dist/chunk-7J3GFMN3.js.map +1 -0
  320. package/dist/chunk-7LSARC2G.js +102 -0
  321. package/dist/chunk-7LSARC2G.js.map +1 -0
  322. package/dist/chunk-7W7UUUIE.js +609 -0
  323. package/dist/chunk-7W7UUUIE.js.map +1 -0
  324. package/dist/chunk-7ZLW7H37.js +21 -0
  325. package/dist/chunk-7ZLW7H37.js.map +1 -0
  326. package/dist/chunk-AAZHI22G.js +18 -0
  327. package/dist/chunk-AAZHI22G.js.map +1 -0
  328. package/dist/chunk-ACNE455I.js +76 -0
  329. package/dist/chunk-ACNE455I.js.map +1 -0
  330. package/dist/chunk-BKLSSLPZ.js +27 -0
  331. package/dist/chunk-BKLSSLPZ.js.map +1 -0
  332. package/dist/chunk-BZ7UPUTY.js +417 -0
  333. package/dist/chunk-BZ7UPUTY.js.map +1 -0
  334. package/dist/chunk-CGFAICUE.js +28 -0
  335. package/dist/chunk-CGFAICUE.js.map +1 -0
  336. package/dist/chunk-CMCEWQ3C.js +19 -0
  337. package/dist/chunk-CMCEWQ3C.js.map +1 -0
  338. package/dist/chunk-CP4UV436.js +41 -0
  339. package/dist/chunk-CP4UV436.js.map +1 -0
  340. package/dist/chunk-D2CQPNQG.js +27508 -0
  341. package/dist/chunk-D2CQPNQG.js.map +1 -0
  342. package/dist/chunk-DIQRZP7Z.js +51 -0
  343. package/dist/chunk-DIQRZP7Z.js.map +1 -0
  344. package/dist/chunk-EBFFDDAS.js +13 -0
  345. package/dist/chunk-EBFFDDAS.js.map +1 -0
  346. package/dist/chunk-EGVS23DR.js +85 -0
  347. package/dist/chunk-EGVS23DR.js.map +1 -0
  348. package/dist/chunk-EKBQ7K4N.js +15 -0
  349. package/dist/chunk-EKBQ7K4N.js.map +1 -0
  350. package/dist/chunk-EKQCZRAN.js +24 -0
  351. package/dist/chunk-EKQCZRAN.js.map +1 -0
  352. package/dist/chunk-EYKZIZ5J.js +48 -0
  353. package/dist/chunk-EYKZIZ5J.js.map +1 -0
  354. package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
  355. package/dist/chunk-F4PTFXZH.js.map +1 -0
  356. package/dist/chunk-FFYZXA75.js +58 -0
  357. package/dist/chunk-FFYZXA75.js.map +1 -0
  358. package/dist/chunk-GFGDHPZ2.js +22 -0
  359. package/dist/chunk-GFGDHPZ2.js.map +1 -0
  360. package/dist/chunk-GR3CDFID.js +18 -0
  361. package/dist/chunk-GR3CDFID.js.map +1 -0
  362. package/dist/chunk-GR4SIU32.js +104 -0
  363. package/dist/chunk-GR4SIU32.js.map +1 -0
  364. package/dist/chunk-H5E46IIS.js +18 -0
  365. package/dist/chunk-H5E46IIS.js.map +1 -0
  366. package/dist/chunk-HFHVAMZL.js +22 -0
  367. package/dist/chunk-HFHVAMZL.js.map +1 -0
  368. package/dist/chunk-HRRI4BLF.js +4456 -0
  369. package/dist/chunk-HRRI4BLF.js.map +1 -0
  370. package/dist/chunk-HT6L7A5M.js +12 -0
  371. package/dist/chunk-HT6L7A5M.js.map +1 -0
  372. package/dist/chunk-I2FPFISM.js +301 -0
  373. package/dist/chunk-I2FPFISM.js.map +1 -0
  374. package/dist/chunk-IADAQJDH.js +28 -0
  375. package/dist/chunk-IADAQJDH.js.map +1 -0
  376. package/dist/chunk-IBOBCMQQ.js +99 -0
  377. package/dist/chunk-IBOBCMQQ.js.map +1 -0
  378. package/dist/chunk-IFWKRCFF.js +56 -0
  379. package/dist/chunk-IFWKRCFF.js.map +1 -0
  380. package/dist/chunk-IH4T7V4C.js +40 -0
  381. package/dist/chunk-IH4T7V4C.js.map +1 -0
  382. package/dist/chunk-IIIZZ4E4.js +1679 -0
  383. package/dist/chunk-IIIZZ4E4.js.map +1 -0
  384. package/dist/chunk-ILSFU3WD.js +83 -0
  385. package/dist/chunk-ILSFU3WD.js.map +1 -0
  386. package/dist/chunk-IX3VBV3L.js +43 -0
  387. package/dist/chunk-IX3VBV3L.js.map +1 -0
  388. package/dist/chunk-JBBFSORW.js +846 -0
  389. package/dist/chunk-JBBFSORW.js.map +1 -0
  390. package/dist/chunk-JIDTNKKL.js +1183 -0
  391. package/dist/chunk-JIDTNKKL.js.map +1 -0
  392. package/dist/chunk-JSPE6NGZ.js +22 -0
  393. package/dist/chunk-JSPE6NGZ.js.map +1 -0
  394. package/dist/chunk-JVROGQ7Q.js +150 -0
  395. package/dist/chunk-JVROGQ7Q.js.map +1 -0
  396. package/dist/chunk-K4WUMWNJ.js +32 -0
  397. package/dist/chunk-K4WUMWNJ.js.map +1 -0
  398. package/dist/chunk-K74XQ4Q5.js +11 -0
  399. package/dist/chunk-K74XQ4Q5.js.map +1 -0
  400. package/dist/chunk-KLLMJ4U3.js +22 -0
  401. package/dist/chunk-KLLMJ4U3.js.map +1 -0
  402. package/dist/chunk-LTKVCJ2E.js +27 -0
  403. package/dist/chunk-LTKVCJ2E.js.map +1 -0
  404. package/dist/chunk-M36DJTFZ.js +34 -0
  405. package/dist/chunk-M36DJTFZ.js.map +1 -0
  406. package/dist/chunk-MHM52LCJ.js +154 -0
  407. package/dist/chunk-MHM52LCJ.js.map +1 -0
  408. package/dist/chunk-MQCDMHRZ.js +59 -0
  409. package/dist/chunk-MQCDMHRZ.js.map +1 -0
  410. package/dist/chunk-N3ORMGAI.js +348 -0
  411. package/dist/chunk-N3ORMGAI.js.map +1 -0
  412. package/dist/chunk-NCSGIRRQ.js +28 -0
  413. package/dist/chunk-NCSGIRRQ.js.map +1 -0
  414. package/dist/chunk-NIXT2SBH.js +1423 -0
  415. package/dist/chunk-NIXT2SBH.js.map +1 -0
  416. package/dist/chunk-NJAII6CO.js +148 -0
  417. package/dist/chunk-NJAII6CO.js.map +1 -0
  418. package/dist/chunk-NKE4TL43.js +92 -0
  419. package/dist/chunk-NKE4TL43.js.map +1 -0
  420. package/dist/chunk-NZ7AXA7B.js +1 -0
  421. package/dist/chunk-NZ7AXA7B.js.map +1 -0
  422. package/dist/chunk-OCAYEGI2.js +26 -0
  423. package/dist/chunk-OCAYEGI2.js.map +1 -0
  424. package/dist/chunk-OMLI45ER.js +90 -0
  425. package/dist/chunk-OMLI45ER.js.map +1 -0
  426. package/dist/chunk-P7OBLJAG.js +88 -0
  427. package/dist/chunk-P7OBLJAG.js.map +1 -0
  428. package/dist/chunk-PAY3CBWL.js +2321 -0
  429. package/dist/chunk-PAY3CBWL.js.map +1 -0
  430. package/dist/chunk-PFF6VY35.js +257 -0
  431. package/dist/chunk-PFF6VY35.js.map +1 -0
  432. package/dist/chunk-PYNDJDWZ.js +1758 -0
  433. package/dist/chunk-PYNDJDWZ.js.map +1 -0
  434. package/dist/chunk-QDQ6UMMN.js +53 -0
  435. package/dist/chunk-QDQ6UMMN.js.map +1 -0
  436. package/dist/chunk-QGT3G2XG.js +24 -0
  437. package/dist/chunk-QGT3G2XG.js.map +1 -0
  438. package/dist/chunk-QZYCJ2GZ.js +55 -0
  439. package/dist/chunk-QZYCJ2GZ.js.map +1 -0
  440. package/dist/chunk-REZ7RFSA.js +124 -0
  441. package/dist/chunk-REZ7RFSA.js.map +1 -0
  442. package/dist/chunk-RRYBAE6E.js +2449 -0
  443. package/dist/chunk-RRYBAE6E.js.map +1 -0
  444. package/dist/chunk-RWUZOB62.js +34 -0
  445. package/dist/chunk-RWUZOB62.js.map +1 -0
  446. package/dist/chunk-SB5UCPZH.js +116 -0
  447. package/dist/chunk-SB5UCPZH.js.map +1 -0
  448. package/dist/chunk-SEJJ7CRI.js +99 -0
  449. package/dist/chunk-SEJJ7CRI.js.map +1 -0
  450. package/dist/chunk-SHBFGRPV.js +45 -0
  451. package/dist/chunk-SHBFGRPV.js.map +1 -0
  452. package/dist/chunk-SOFJ4GC5.js +45 -0
  453. package/dist/chunk-SOFJ4GC5.js.map +1 -0
  454. package/dist/chunk-STH2HPZK.js +44 -0
  455. package/dist/chunk-STH2HPZK.js.map +1 -0
  456. package/dist/chunk-TK3JNKME.js +28 -0
  457. package/dist/chunk-TK3JNKME.js.map +1 -0
  458. package/dist/chunk-TMONHFE3.js +46 -0
  459. package/dist/chunk-TMONHFE3.js.map +1 -0
  460. package/dist/chunk-TR4KO3AG.js +44 -0
  461. package/dist/chunk-TR4KO3AG.js.map +1 -0
  462. package/dist/chunk-TS2LNBF2.js +68 -0
  463. package/dist/chunk-TS2LNBF2.js.map +1 -0
  464. package/dist/chunk-UZUMBFPP.js +26 -0
  465. package/dist/chunk-UZUMBFPP.js.map +1 -0
  466. package/dist/chunk-VRZ5LMOW.js +176 -0
  467. package/dist/chunk-VRZ5LMOW.js.map +1 -0
  468. package/dist/chunk-WLGGY6Z6.js +75 -0
  469. package/dist/chunk-WLGGY6Z6.js.map +1 -0
  470. package/dist/chunk-WO7V6ZNC.js +11 -0
  471. package/dist/chunk-WO7V6ZNC.js.map +1 -0
  472. package/dist/chunk-WXSENSRP.js +64 -0
  473. package/dist/chunk-WXSENSRP.js.map +1 -0
  474. package/dist/chunk-XEKBZ2SA.js +19 -0
  475. package/dist/chunk-XEKBZ2SA.js.map +1 -0
  476. package/dist/chunk-XPBKU3JX.js +61 -0
  477. package/dist/chunk-XPBKU3JX.js.map +1 -0
  478. package/dist/chunk-XRYXBXWH.js +24 -0
  479. package/dist/chunk-XRYXBXWH.js.map +1 -0
  480. package/dist/chunk-XVA7QRVH.js +22 -0
  481. package/dist/chunk-XVA7QRVH.js.map +1 -0
  482. package/dist/chunk-YCTHHBSS.js +37 -0
  483. package/dist/chunk-YCTHHBSS.js.map +1 -0
  484. package/dist/chunk-YHPWD5NE.js +70 -0
  485. package/dist/chunk-YHPWD5NE.js.map +1 -0
  486. package/dist/chunk-YLNEKJQ5.js +126 -0
  487. package/dist/chunk-YLNEKJQ5.js.map +1 -0
  488. package/dist/chunk-YN4CEKCF.js +73 -0
  489. package/dist/chunk-YN4CEKCF.js.map +1 -0
  490. package/dist/chunk-YYNMESIF.js +17 -0
  491. package/dist/chunk-YYNMESIF.js.map +1 -0
  492. package/dist/chunk-Z6PRMCV6.js +1 -0
  493. package/dist/chunk-Z6PRMCV6.js.map +1 -0
  494. package/dist/chunk-ZDNW6VQG.js +11 -0
  495. package/dist/chunk-ZDNW6VQG.js.map +1 -0
  496. package/dist/chunk-ZP4D73DO.js +36 -0
  497. package/dist/chunk-ZP4D73DO.js.map +1 -0
  498. package/dist/chunk-ZUATADUV.js +26 -0
  499. package/dist/chunk-ZUATADUV.js.map +1 -0
  500. package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
  501. package/dist/core/index.cjs +14041 -6973
  502. package/dist/core/index.cjs.map +1 -1
  503. package/dist/core/index.d.ts +422 -138
  504. package/dist/core/index.js +425 -183
  505. package/dist/core/index.js.map +1 -1
  506. package/dist/flow-vnext/index.cjs +2842 -0
  507. package/dist/flow-vnext/index.cjs.map +1 -0
  508. package/dist/flow-vnext/index.d.ts +3 -0
  509. package/dist/flow-vnext/index.js +119 -0
  510. package/dist/flow-vnext/index.js.map +1 -0
  511. package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
  512. package/dist/index-b9xxXGFs.d.ts +1230 -0
  513. package/dist/index.d.ts +5 -3
  514. package/dist/index.js +202 -37
  515. package/dist/index.js.map +1 -1
  516. package/dist/legacy-BpgIqaQ5.d.ts +14 -0
  517. package/dist/mantine/index.d.ts +7 -4
  518. package/dist/mantine/index.js +84 -30
  519. package/dist/mantine/index.js.map +1 -1
  520. package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
  521. package/package.json +12 -2
  522. package/dist/chunk-5JF23UP3.js +0 -59687
  523. package/dist/chunk-5JF23UP3.js.map +0 -1
  524. package/dist/chunk-A4CWC4AG.js +0 -374
  525. package/dist/chunk-A4CWC4AG.js.map +0 -1
  526. package/dist/chunk-NEOPTPDF.js.map +0 -1
@@ -0,0 +1,279 @@
1
+ import {
2
+ granterLabel,
3
+ parseWalletFundInputs,
4
+ shortenAddress,
5
+ useSpendGranters,
6
+ useWalletBalances
7
+ } from "./chunk-SB5UCPZH.js";
8
+ import {
9
+ isValidBech32Address
10
+ } from "./chunk-7LSARC2G.js";
11
+ import {
12
+ BaseSelect
13
+ } from "./chunk-4NAFQF6V.js";
14
+ import {
15
+ useRunRuntimeReader
16
+ } from "./chunk-FFYZXA75.js";
17
+ import "./chunk-NZ7AXA7B.js";
18
+ import {
19
+ formatTokenAmount,
20
+ toBaseUnits
21
+ } from "./chunk-IH4T7V4C.js";
22
+ import {
23
+ resolveReferences
24
+ } from "./chunk-JVROGQ7Q.js";
25
+ import "./chunk-IIIZZ4E4.js";
26
+ import "./chunk-HT6L7A5M.js";
27
+ import "./chunk-NCSGIRRQ.js";
28
+ import {
29
+ DismissibleAlert
30
+ } from "./chunk-IFWKRCFF.js";
31
+ import {
32
+ actionAlertStyles
33
+ } from "./chunk-6GKJR52N.js";
34
+ import {
35
+ BaseTextInput
36
+ } from "./chunk-WO7V6ZNC.js";
37
+ import {
38
+ useBlocknoteHandlers
39
+ } from "./chunk-4DGCCXD6.js";
40
+ import "./chunk-7W7UUUIE.js";
41
+ import "./chunk-TS2LNBF2.js";
42
+
43
+ // src/mantine/blocks/action/actionTypes/walletFund/WalletFundFlowDetail.tsx
44
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
45
+ import { Button, Group, Loader, NumberInput, Stack, Text } from "@mantine/core";
46
+ import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
47
+ var FALLBACK_DENOM = "uixo";
48
+ var CUSTOM_SOURCE = "__custom__";
49
+ var WalletFundFlowDetail = ({
50
+ inputs,
51
+ editor,
52
+ block,
53
+ runtime,
54
+ updateRuntime,
55
+ isDisabled,
56
+ provideSigningHandler,
57
+ unlockSigning,
58
+ registerRuntimeInputs,
59
+ executeAction
60
+ }) => {
61
+ const parsed = useMemo(() => parseWalletFundInputs(inputs), [inputs]);
62
+ const editorDocument = editor?.document || [];
63
+ const runtimeReader = useRunRuntimeReader(editor);
64
+ const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
65
+ const resolvedInputs = useMemo(() => {
66
+ const r = (val) => resolveReferences(String(val ?? ""), editorDocument, resolveOpts).trim();
67
+ return {
68
+ address: r(parsed.address),
69
+ amount: r(parsed.amount),
70
+ denom: r(parsed.denom),
71
+ fromAddress: r(parsed.fromAddress)
72
+ };
73
+ }, [parsed, editorDocument, resolveOpts]);
74
+ const resolvedAddress = resolvedInputs.address;
75
+ const handlers = useBlocknoteHandlers();
76
+ const signedInAddress = useMemo(() => {
77
+ try {
78
+ return handlers?.getCurrentUser?.()?.address || "";
79
+ } catch {
80
+ return "";
81
+ }
82
+ }, [handlers]);
83
+ const { granters } = useSpendGranters();
84
+ const txHash = runtime.output?.transactionHash || "";
85
+ const hasProof = !!txHash;
86
+ const isRunning = runtime.state === "running";
87
+ const isCompleted = runtime.state === "completed" && hasProof;
88
+ const isStale = runtime.state === "completed" && !hasProof;
89
+ const isFailed = runtime.state === "failed";
90
+ const errorMessage = runtime.error?.message || null;
91
+ const sourcePinned = !!resolvedInputs.fromAddress;
92
+ const denomPinned = !!resolvedInputs.denom;
93
+ const pinnedAmount = Number(resolvedInputs.amount) || 0;
94
+ const amountPinned = pinnedAmount > 0;
95
+ const [sourceOverride, setSourceOverride] = useState(null);
96
+ const [customMode, setCustomMode] = useState(false);
97
+ const [customSource, setCustomSource] = useState("");
98
+ const [denomOverride, setDenomOverride] = useState(null);
99
+ const [amountInput, setAmountInput] = useState("");
100
+ const sourceAddress = sourcePinned ? resolvedInputs.fromAddress : customMode ? customSource.trim() : sourceOverride ?? signedInAddress;
101
+ const { balances, loading: loadingBalances, error: balancesError } = useWalletBalances(sourceAddress);
102
+ const spendable = useMemo(() => balances.filter((b) => b.isCoin && b.amount > 0), [balances]);
103
+ const autoDenom = useMemo(() => {
104
+ if (spendable.some((b) => b.denom === FALLBACK_DENOM)) return FALLBACK_DENOM;
105
+ return spendable[0]?.denom || "";
106
+ }, [spendable]);
107
+ const denom = denomPinned ? resolvedInputs.denom : denomOverride ?? autoDenom;
108
+ const token = useMemo(() => balances.find((b) => b.denom === denom), [balances, denom]);
109
+ const exponent = token?.exponent;
110
+ const conversion = useMemo(() => {
111
+ if (amountPinned) return { ok: true, value: String(pinnedAmount) };
112
+ const raw = amountInput.trim();
113
+ if (exponent === void 0) {
114
+ if (!raw) return { ok: false, error: "Enter an amount" };
115
+ if (!/^\d+$/.test(raw)) return { ok: false, error: "Enter a whole number of base units" };
116
+ if (Number(raw) <= 0) return { ok: false, error: "Amount must be greater than 0" };
117
+ return { ok: true, value: String(BigInt(raw)) };
118
+ }
119
+ return toBaseUnits(raw, exponent);
120
+ }, [amountPinned, pinnedAmount, exponent, amountInput]);
121
+ const baseAmount = conversion.ok ? conversion.value : "";
122
+ const amountNumber = baseAmount ? Number(baseAmount) : 0;
123
+ const amountTooLarge = !!baseAmount && !Number.isSafeInteger(amountNumber);
124
+ const availableBase = useMemo(() => {
125
+ if (!token) return void 0;
126
+ if (token.baseAmount) return token.baseAmount;
127
+ if (exponent === void 0) return void 0;
128
+ const converted = toBaseUnits(String(token.amount), exponent);
129
+ return converted.ok ? converted.value : void 0;
130
+ }, [token, exponent]);
131
+ const overdraft = !!availableBase && !!baseAmount && BigInt(baseAmount) > BigInt(availableBase);
132
+ const usingOwnWallet = !sourcePinned && !!signedInAddress && sourceAddress === signedInAddress;
133
+ const knownGranter = granters.some((g) => g.address === sourceAddress);
134
+ const sourceValid = !!sourceAddress && isValidBech32Address(sourceAddress);
135
+ const unverifiedSource = sourceValid && !usingOwnWallet && !sourcePinned && !knownGranter;
136
+ const readyToSign = !!resolvedAddress && !!denom && conversion.ok && !overdraft && !amountTooLarge && sourceValid;
137
+ const sourceOptions = useMemo(
138
+ () => [
139
+ { value: signedInAddress, label: `My wallet \xB7 ${shortenAddress(signedInAddress)}` },
140
+ ...granters.filter((g) => g.address !== signedInAddress).map((g) => ({ value: g.address, label: granterLabel(g) })),
141
+ { value: CUSTOM_SOURCE, label: "Another wallet I can act on\u2026" }
142
+ ],
143
+ [granters, signedInAddress]
144
+ );
145
+ const tokenOptions = useMemo(
146
+ () => spendable.map((b) => ({
147
+ value: b.denom,
148
+ label: `${b.tokenName || b.denom} \xB7 ${b.amount.toLocaleString()} available`
149
+ })),
150
+ [spendable]
151
+ );
152
+ const handleExecute = useCallback(async () => {
153
+ console.log("[wallet.fund] handleExecute", { "runtime.state": runtime.state, hasProof, address: resolvedAddress, denom, from: sourceAddress });
154
+ if (isDisabled || isRunning || isCompleted) return;
155
+ if (!executeAction) {
156
+ updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
157
+ return;
158
+ }
159
+ if (!resolvedAddress) {
160
+ console.warn("[wallet.fund] address not resolved, refusing to execute");
161
+ return;
162
+ }
163
+ if (!readyToSign) {
164
+ console.warn("[wallet.fund] inputs incomplete, refusing to execute", { denom, baseAmount, sourceAddress });
165
+ return;
166
+ }
167
+ try {
168
+ const outcome = await executeAction({
169
+ runtimeInputs: {
170
+ address: resolvedAddress,
171
+ amount: amountNumber,
172
+ denom,
173
+ // The user's own wallet stays blank so the host takes its default
174
+ // path — a plain MsgSend rather than an authz exec against itself.
175
+ fromAddress: usingOwnWallet ? "" : sourceAddress
176
+ }
177
+ });
178
+ console.log("[wallet.fund] outcome", outcome);
179
+ if (!outcome.success) throw new Error(outcome.error || "Wallet funding failed");
180
+ const payload = outcome.output;
181
+ if (!payload?.transactionHash) {
182
+ throw new Error("Action returned success without a transaction hash. Check the [oracle:fundWallet] handler logs.");
183
+ }
184
+ } catch (err) {
185
+ const message = err instanceof Error ? err.message : "Failed to fund wallet";
186
+ console.error("[wallet.fund] failed", { message, err });
187
+ updateRuntime({ state: "failed", error: { message, at: Date.now() } });
188
+ }
189
+ }, [
190
+ executeAction,
191
+ isCompleted,
192
+ isDisabled,
193
+ isRunning,
194
+ hasProof,
195
+ resolvedAddress,
196
+ readyToSign,
197
+ amountNumber,
198
+ baseAmount,
199
+ denom,
200
+ sourceAddress,
201
+ usingOwnWallet,
202
+ runtime.state,
203
+ updateRuntime
204
+ ]);
205
+ useEffect(() => {
206
+ provideSigningHandler?.(handleExecute);
207
+ }, [provideSigningHandler, handleExecute]);
208
+ useEffect(() => {
209
+ unlockSigning?.(readyToSign && !isCompleted && !isRunning);
210
+ }, [unlockSigning, readyToSign, isCompleted, isRunning]);
211
+ useEffect(() => {
212
+ registerRuntimeInputs?.({
213
+ address: resolvedAddress,
214
+ amount: amountNumber,
215
+ denom,
216
+ fromAddress: usingOwnWallet ? "" : sourceAddress
217
+ });
218
+ }, [registerRuntimeInputs, resolvedAddress, amountNumber, denom, sourceAddress, usingOwnWallet]);
219
+ const handleRetry = useCallback(() => {
220
+ updateRuntime({ state: "idle", error: void 0, output: {} });
221
+ }, [updateRuntime]);
222
+ const sentDenom = runtime.output?.denom || denom || FALLBACK_DENOM;
223
+ const sentAmount = runtime.output?.amount || baseAmount;
224
+ const sentFrom = runtime.output?.fromAddress || "";
225
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Fund Wallet"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Send tokens to the target wallet address.")), !isCompleted && /* @__PURE__ */ React.createElement(Stack, { gap: "sm" }, sourcePinned ? /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { width: 80 } }, "From:"), /* @__PURE__ */ React.createElement(Text, { size: "xs", style: { wordBreak: "break-all" } }, resolvedInputs.fromAddress)) : /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(
226
+ BaseSelect,
227
+ {
228
+ label: "Send from",
229
+ data: sourceOptions,
230
+ value: customMode ? CUSTOM_SOURCE : sourceAddress || null,
231
+ onChange: (value) => {
232
+ if (value === CUSTOM_SOURCE) {
233
+ setCustomMode(true);
234
+ return;
235
+ }
236
+ setCustomMode(false);
237
+ setSourceOverride(value || signedInAddress);
238
+ },
239
+ disabled: isRunning
240
+ }
241
+ ), customMode && /* @__PURE__ */ React.createElement(
242
+ BaseTextInput,
243
+ {
244
+ placeholder: "ixo1\u2026",
245
+ value: customSource,
246
+ onChange: (event) => setCustomSource(event.currentTarget.value),
247
+ error: customSource.trim() && !isValidBech32Address(customSource.trim()) ? "Not a valid ixo address" : void 0
248
+ }
249
+ )), denomPinned ? /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { width: 80 } }, "Token:"), /* @__PURE__ */ React.createElement(Text, { size: "xs" }, token?.tokenName || resolvedInputs.denom)) : /* @__PURE__ */ React.createElement(
250
+ BaseSelect,
251
+ {
252
+ label: "Token",
253
+ data: tokenOptions,
254
+ value: denom || null,
255
+ onChange: (value) => setDenomOverride(value || ""),
256
+ disabled: isRunning || loadingBalances || tokenOptions.length === 0,
257
+ placeholder: loadingBalances ? "Loading balances\u2026" : tokenOptions.length ? "Select a token" : "This wallet holds no spendable tokens",
258
+ searchable: true,
259
+ nothingFoundMessage: "No tokens in this wallet"
260
+ }
261
+ ), amountPinned ? /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { width: 80 } }, "Amount:"), /* @__PURE__ */ React.createElement(Text, { size: "xs" }, formatTokenAmount(pinnedAmount, denom || FALLBACK_DENOM, exponent, token?.tokenName))) : /* @__PURE__ */ React.createElement(
262
+ NumberInput,
263
+ {
264
+ label: exponent === void 0 && denom ? `Amount (in ${denom})` : "Amount",
265
+ value: amountInput,
266
+ onChange: (value) => setAmountInput(String(value ?? "")),
267
+ min: 0,
268
+ decimalScale: exponent ?? 0,
269
+ placeholder: token ? `Up to ${token.amount.toLocaleString()}` : "0",
270
+ error: overdraft ? "Exceeds the balance in this wallet" : amountTooLarge ? "Amount is too large to send from this block" : void 0,
271
+ description: exponent === void 0 && denom ? "This host did not report the token\u2019s decimals, so enter the on-chain base amount." : baseAmount ? `= ${baseAmount} ${denom}` : void 0,
272
+ disabled: isRunning || !denom
273
+ }
274
+ ), unverifiedSource && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", styles: actionAlertStyles }, "No send authorization from ", shortenAddress(sourceAddress), " was found for your wallet. Signing will fail unless that wallet has granted you one."), balancesError && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", styles: actionAlertStyles }, balancesError)), /* @__PURE__ */ React.createElement(Stack, { gap: "xs", p: "md", style: { backgroundColor: "var(--mantine-color-dark-6)", borderRadius: 8 } }, /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { width: 80 } }, "To:"), /* @__PURE__ */ React.createElement(Text, { size: "xs", style: { wordBreak: "break-all" } }, resolvedAddress || "Waiting for address...")), /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { width: 80 } }, "Sending:"), /* @__PURE__ */ React.createElement(Text, { size: "xs" }, sentAmount ? formatTokenAmount(sentAmount, sentDenom, exponent, token?.tokenName) : "\u2014"))), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Funding wallet...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Wallet Funded", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Sent ", formatTokenAmount(sentAmount || "0", sentDenom, exponent, token?.tokenName), sentFrom ? ` from ${shortenAddress(sentFrom)}` : "", "."), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Tx Hash: ", txHash))), isStale && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Marked completed but no transaction hash recorded. Click Reset to clear and re-run via the slider."), /* @__PURE__ */ React.createElement(Group, { mt: "xs" }, /* @__PURE__ */ React.createElement(Button, { size: "xs", variant: "default", onClick: handleRetry }, "Reset"))), isFailed && errorMessage && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage));
275
+ };
276
+ export {
277
+ WalletFundFlowDetail
278
+ };
279
+ //# sourceMappingURL=WalletFundFlowDetail-TXWCZA4K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletFund/WalletFundFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Button, Group, Loader, NumberInput, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport { formatTokenAmount, toBaseUnits } from '@/core/utils/tokenAmount';\nimport { isValidBech32Address } from '@/core/utils/accountList';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { actionAlertStyles } from '../../alertStyles';\nimport { parseWalletFundInputs, type WalletFundRuntimeInputs } from './types';\nimport { granterLabel, shortenAddress, useSpendGranters, useWalletBalances } from './useWalletTokens';\n\n/** What a flow saved before multi-token support sent, and still sends. */\nconst FALLBACK_DENOM = 'uixo';\n/** Sentinel for \"a wallet the picker doesn't list\" — never sent to the host. */\nconst CUSTOM_SOURCE = '__custom__';\n\nexport const WalletFundFlowDetail: React.FC<ActionTypeFlowProps<WalletFundRuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n updateRuntime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const parsed = useMemo(() => parseWalletFundInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolvedInputs = useMemo(() => {\n const r = (val: string | number) => resolveReferences(String(val ?? ''), editorDocument, resolveOpts).trim();\n return {\n address: r(parsed.address),\n amount: r(parsed.amount),\n denom: r(parsed.denom),\n fromAddress: r(parsed.fromAddress),\n };\n }, [parsed, editorDocument, resolveOpts]);\n const resolvedAddress = resolvedInputs.address;\n\n const handlers = useBlocknoteHandlers();\n const signedInAddress = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.()?.address || '';\n } catch {\n return '';\n }\n }, [handlers]);\n const { granters } = useSpendGranters();\n\n // Derived from runtime — single source of truth.\n const txHash: string = runtime.output?.transactionHash || '';\n const hasProof = !!txHash;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const errorMessage = runtime.error?.message || null;\n\n // What the template fixed, and therefore what this screen must not let the\n // runner change. Whatever the template left blank is the runner's call.\n const sourcePinned = !!resolvedInputs.fromAddress;\n const denomPinned = !!resolvedInputs.denom;\n const pinnedAmount = Number(resolvedInputs.amount) || 0;\n const amountPinned = pinnedAmount > 0;\n\n // Runner choices. `null` means \"not chosen yet — follow the default\", so a\n // signed-in address arriving late is picked up rather than shadowed by a\n // stale initial value.\n const [sourceOverride, setSourceOverride] = useState<string | null>(null);\n const [customMode, setCustomMode] = useState(false);\n const [customSource, setCustomSource] = useState('');\n const [denomOverride, setDenomOverride] = useState<string | null>(null);\n const [amountInput, setAmountInput] = useState<string>('');\n\n const sourceAddress = sourcePinned ? resolvedInputs.fromAddress : customMode ? customSource.trim() : sourceOverride ?? signedInAddress;\n const { balances, loading: loadingBalances, error: balancesError } = useWalletBalances(sourceAddress);\n\n const spendable = useMemo(() => balances.filter((b) => b.isCoin && b.amount > 0), [balances]);\n const autoDenom = useMemo(() => {\n if (spendable.some((b) => b.denom === FALLBACK_DENOM)) return FALLBACK_DENOM;\n return spendable[0]?.denom || '';\n }, [spendable]);\n const denom = denomPinned ? resolvedInputs.denom : denomOverride ?? autoDenom;\n const token = useMemo(() => balances.find((b) => b.denom === denom), [balances, denom]);\n const exponent = token?.exponent;\n\n // Base units are what the chain moves and what the action contract takes. A\n // pinned template amount is already in base units; a runner-entered one is in\n // display units and is only convertible when the host reported the token's\n // decimals — no exponent means the field collects base units rather than\n // assuming 6 and sending a million times too much.\n const conversion = useMemo(() => {\n if (amountPinned) return { ok: true as const, value: String(pinnedAmount) };\n const raw = amountInput.trim();\n if (exponent === undefined) {\n if (!raw) return { ok: false as const, error: 'Enter an amount' };\n if (!/^\\d+$/.test(raw)) return { ok: false as const, error: 'Enter a whole number of base units' };\n if (Number(raw) <= 0) return { ok: false as const, error: 'Amount must be greater than 0' };\n return { ok: true as const, value: String(BigInt(raw)) };\n }\n return toBaseUnits(raw, exponent);\n }, [amountPinned, pinnedAmount, exponent, amountInput]);\n\n const baseAmount = conversion.ok ? conversion.value : '';\n const amountNumber = baseAmount ? Number(baseAmount) : 0;\n const amountTooLarge = !!baseAmount && !Number.isSafeInteger(amountNumber);\n\n const availableBase = useMemo(() => {\n if (!token) return undefined;\n if (token.baseAmount) return token.baseAmount;\n if (exponent === undefined) return undefined;\n const converted = toBaseUnits(String(token.amount), exponent);\n return converted.ok ? converted.value : undefined;\n }, [token, exponent]);\n const overdraft = !!availableBase && !!baseAmount && BigInt(baseAmount) > BigInt(availableBase);\n\n const usingOwnWallet = !sourcePinned && !!signedInAddress && sourceAddress === signedInAddress;\n const knownGranter = granters.some((g) => g.address === sourceAddress);\n const sourceValid = !!sourceAddress && isValidBech32Address(sourceAddress);\n // A wallet that is neither the user's own nor a listed granter may still work\n // (grants this host cannot enumerate), so this warns rather than blocks — the\n // chain is the authority on whether the exec is allowed.\n const unverifiedSource = sourceValid && !usingOwnWallet && !sourcePinned && !knownGranter;\n\n const readyToSign = !!resolvedAddress && !!denom && conversion.ok && !overdraft && !amountTooLarge && sourceValid;\n\n const sourceOptions = useMemo(\n () => [\n { value: signedInAddress, label: `My wallet · ${shortenAddress(signedInAddress)}` },\n ...granters.filter((g) => g.address !== signedInAddress).map((g) => ({ value: g.address, label: granterLabel(g) })),\n { value: CUSTOM_SOURCE, label: 'Another wallet I can act on…' },\n ],\n [granters, signedInAddress]\n );\n\n const tokenOptions = useMemo(\n () =>\n spendable.map((b) => ({\n value: b.denom,\n label: `${b.tokenName || b.denom} · ${b.amount.toLocaleString()} available`,\n })),\n [spendable]\n );\n\n const handleExecute = useCallback(async () => {\n console.log('[wallet.fund] handleExecute', { 'runtime.state': runtime.state, hasProof, address: resolvedAddress, denom, from: sourceAddress });\n if (isDisabled || isRunning || isCompleted) return;\n\n if (!executeAction) {\n updateRuntime({ state: 'failed', error: { message: 'Shared action executor is unavailable', at: Date.now() } });\n return;\n }\n\n if (!resolvedAddress) {\n console.warn('[wallet.fund] address not resolved, refusing to execute');\n return;\n }\n if (!readyToSign) {\n console.warn('[wallet.fund] inputs incomplete, refusing to execute', { denom, baseAmount, sourceAddress });\n return;\n }\n\n try {\n const outcome = await executeAction({\n runtimeInputs: {\n address: resolvedAddress,\n amount: amountNumber,\n denom,\n // The user's own wallet stays blank so the host takes its default\n // path — a plain MsgSend rather than an authz exec against itself.\n fromAddress: usingOwnWallet ? '' : sourceAddress,\n },\n });\n\n console.log('[wallet.fund] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Wallet funding failed');\n\n const payload = outcome.output as { transactionHash?: string } | undefined;\n if (!payload?.transactionHash) {\n throw new Error('Action returned success without a transaction hash. Check the [oracle:fundWallet] handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to fund wallet';\n console.error('[wallet.fund] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [\n executeAction,\n isCompleted,\n isDisabled,\n isRunning,\n hasProof,\n resolvedAddress,\n readyToSign,\n amountNumber,\n baseAmount,\n denom,\n sourceAddress,\n usingOwnWallet,\n runtime.state,\n updateRuntime,\n ]);\n\n // Slide-to-sign wiring\n useEffect(() => {\n provideSigningHandler?.(handleExecute);\n }, [provideSigningHandler, handleExecute]);\n\n useEffect(() => {\n unlockSigning?.(readyToSign && !isCompleted && !isRunning);\n }, [unlockSigning, readyToSign, isCompleted, isRunning]);\n\n // Keep the diff preview showing what will actually be signed.\n useEffect(() => {\n registerRuntimeInputs?.({\n address: resolvedAddress,\n amount: amountNumber,\n denom,\n fromAddress: usingOwnWallet ? '' : sourceAddress,\n });\n }, [registerRuntimeInputs, resolvedAddress, amountNumber, denom, sourceAddress, usingOwnWallet]);\n\n const handleRetry = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n const sentDenom: string = runtime.output?.denom || denom || FALLBACK_DENOM;\n const sentAmount: string = runtime.output?.amount || baseAmount;\n const sentFrom: string = runtime.output?.fromAddress || '';\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Fund Wallet'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Send tokens to the target wallet address.'}\n </Text>\n </Stack>\n\n {!isCompleted && (\n <Stack gap=\"sm\">\n {sourcePinned ? (\n <Group gap=\"xs\">\n <Text size=\"xs\" c=\"dimmed\" style={{ width: 80 }}>\n From:\n </Text>\n <Text size=\"xs\" style={{ wordBreak: 'break-all' }}>\n {resolvedInputs.fromAddress}\n </Text>\n </Group>\n ) : (\n <Stack gap=\"xs\">\n <BaseSelect\n label=\"Send from\"\n data={sourceOptions}\n value={customMode ? CUSTOM_SOURCE : sourceAddress || null}\n onChange={(value) => {\n if (value === CUSTOM_SOURCE) {\n setCustomMode(true);\n return;\n }\n setCustomMode(false);\n setSourceOverride(value || signedInAddress);\n }}\n disabled={isRunning}\n />\n {customMode && (\n <BaseTextInput\n placeholder=\"ixo1…\"\n value={customSource}\n onChange={(event) => setCustomSource(event.currentTarget.value)}\n error={customSource.trim() && !isValidBech32Address(customSource.trim()) ? 'Not a valid ixo address' : undefined}\n />\n )}\n </Stack>\n )}\n\n {denomPinned ? (\n <Group gap=\"xs\">\n <Text size=\"xs\" c=\"dimmed\" style={{ width: 80 }}>\n Token:\n </Text>\n <Text size=\"xs\">{token?.tokenName || resolvedInputs.denom}</Text>\n </Group>\n ) : (\n <BaseSelect\n label=\"Token\"\n data={tokenOptions}\n value={denom || null}\n onChange={(value) => setDenomOverride(value || '')}\n disabled={isRunning || loadingBalances || tokenOptions.length === 0}\n placeholder={loadingBalances ? 'Loading balances…' : tokenOptions.length ? 'Select a token' : 'This wallet holds no spendable tokens'}\n searchable\n nothingFoundMessage=\"No tokens in this wallet\"\n />\n )}\n\n {amountPinned ? (\n <Group gap=\"xs\">\n <Text size=\"xs\" c=\"dimmed\" style={{ width: 80 }}>\n Amount:\n </Text>\n <Text size=\"xs\">{formatTokenAmount(pinnedAmount, denom || FALLBACK_DENOM, exponent, token?.tokenName)}</Text>\n </Group>\n ) : (\n <NumberInput\n label={exponent === undefined && denom ? `Amount (in ${denom})` : 'Amount'}\n value={amountInput}\n onChange={(value) => setAmountInput(String(value ?? ''))}\n min={0}\n decimalScale={exponent ?? 0}\n placeholder={token ? `Up to ${token.amount.toLocaleString()}` : '0'}\n error={overdraft ? 'Exceeds the balance in this wallet' : amountTooLarge ? 'Amount is too large to send from this block' : undefined}\n description={\n exponent === undefined && denom\n ? 'This host did not report the token’s decimals, so enter the on-chain base amount.'\n : baseAmount\n ? `= ${baseAmount} ${denom}`\n : undefined\n }\n disabled={isRunning || !denom}\n />\n )}\n\n {unverifiedSource && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" styles={actionAlertStyles}>\n No send authorization from {shortenAddress(sourceAddress)} was found for your wallet. Signing will fail unless that wallet has granted you one.\n </Alert>\n )}\n {balancesError && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" styles={actionAlertStyles}>\n {balancesError}\n </Alert>\n )}\n </Stack>\n )}\n\n <Stack gap=\"xs\" p=\"md\" style={{ backgroundColor: 'var(--mantine-color-dark-6)', borderRadius: 8 }}>\n <Group gap=\"xs\">\n <Text size=\"xs\" c=\"dimmed\" style={{ width: 80 }}>\n To:\n </Text>\n <Text size=\"xs\" style={{ wordBreak: 'break-all' }}>\n {resolvedAddress || 'Waiting for address...'}\n </Text>\n </Group>\n <Group gap=\"xs\">\n <Text size=\"xs\" c=\"dimmed\" style={{ width: 80 }}>\n Sending:\n </Text>\n <Text size=\"xs\">{sentAmount ? formatTokenAmount(sentAmount, sentDenom, exponent, token?.tokenName) : '—'}</Text>\n </Group>\n </Stack>\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Funding wallet...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Wallet Funded\" color=\"green\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">\n Sent {formatTokenAmount(sentAmount || '0', sentDenom, exponent, token?.tokenName)}\n {sentFrom ? ` from ${shortenAddress(sentFrom)}` : ''}.\n </Text>\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Tx Hash: {txHash}\n </Text>\n </Stack>\n </Alert>\n )}\n\n {isStale && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Text size=\"sm\">Marked completed but no transaction hash recorded. Click Reset to clear and re-run via the slider.</Text>\n <Group mt=\"xs\">\n <Button size=\"xs\" variant=\"default\" onClick={handleRetry}>\n Reset\n </Button>\n </Group>\n </Alert>\n )}\n\n {isFailed && errorMessage && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {errorMessage}\n </Alert>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,10 @@
1
+ // src/mantine/blocks/action/actionTypes/walletGenerateAndFund/WalletGenerateAndFundConfig.tsx
2
+ import React from "react";
3
+ import { Stack, Text } from "@mantine/core";
4
+ var WalletGenerateAndFundConfig = () => {
5
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Generate & Fund Wallet"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Generates a new wallet and funds it. No configuration required."));
6
+ };
7
+ export {
8
+ WalletGenerateAndFundConfig
9
+ };
10
+ //# sourceMappingURL=WalletGenerateAndFundConfig-364RSEND.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletGenerateAndFund/WalletGenerateAndFundConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\n\nexport const WalletGenerateAndFundConfig: React.FC<ActionTypeConfigProps> = () => {\n return (\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Generate & Fund Wallet\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Generates a new wallet and funds it. No configuration required.\n </Text>\n </Stack>\n );\n};\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,OAAO,YAAY;AAGrB,IAAM,8BAA+D,MAAM;AAChF,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,wBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,iEAE3B,CACF;AAEJ;","names":[]}
@@ -0,0 +1,54 @@
1
+ import {
2
+ DismissibleAlert
3
+ } from "./chunk-IFWKRCFF.js";
4
+ import {
5
+ actionAlertStyles
6
+ } from "./chunk-6GKJR52N.js";
7
+ import "./chunk-4DGCCXD6.js";
8
+ import "./chunk-7W7UUUIE.js";
9
+ import "./chunk-TS2LNBF2.js";
10
+
11
+ // src/mantine/blocks/action/actionTypes/walletGenerateAndFund/WalletGenerateAndFundFlowDetail.tsx
12
+ import React, { useCallback } from "react";
13
+ import { Button, Group, Loader, Stack, Text } from "@mantine/core";
14
+ import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
15
+ var WalletGenerateAndFundFlowDetail = ({ block, runtime, updateRuntime, isDisabled, executeAction }) => {
16
+ const generatedAddress = runtime.output?.address || "";
17
+ const generatedDid = runtime.output?.did || "";
18
+ const txHash = runtime.output?.transactionHash || "";
19
+ const hasProof = !!generatedAddress && !!txHash;
20
+ const isRunning = runtime.state === "running";
21
+ const isCompleted = runtime.state === "completed" && hasProof;
22
+ const isStale = runtime.state === "completed" && !hasProof;
23
+ const isFailed = runtime.state === "failed";
24
+ const errorMessage = runtime.error?.message || null;
25
+ const handleExecute = useCallback(async () => {
26
+ console.log("[wallet.generateAndFund] handleExecute", { "runtime.state": runtime.state, hasProof });
27
+ if (isDisabled || isRunning) return;
28
+ if (!executeAction) {
29
+ updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
30
+ return;
31
+ }
32
+ try {
33
+ const outcome = await executeAction();
34
+ console.log("[wallet.generateAndFund] outcome", outcome);
35
+ if (!outcome.success) throw new Error(outcome.error || "Wallet generation and funding failed");
36
+ const payload = outcome.output;
37
+ if (!payload?.address || !payload?.transactionHash) {
38
+ throw new Error("Action returned success without proof (address + transactionHash). Check handler logs.");
39
+ }
40
+ } catch (err) {
41
+ const message = err instanceof Error ? err.message : "Failed to generate and fund wallet";
42
+ console.error("[wallet.generateAndFund] failed", { message, err });
43
+ updateRuntime({ state: "failed", error: { message, at: Date.now() } });
44
+ }
45
+ }, [executeAction, isDisabled, isRunning, runtime.state, updateRuntime]);
46
+ const handleRetry = useCallback(() => {
47
+ updateRuntime({ state: "idle", error: void 0, output: {} });
48
+ }, [updateRuntime]);
49
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Generate & Fund Wallet"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Generate a new wallet and fund it with IXO tokens.")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Generating wallet and funding...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Wallet Generated & Funded", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, generatedAddress && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Address: ", generatedAddress), generatedDid && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "DID: ", generatedDid), txHash && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Tx Hash: ", txHash), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Mnemonic has been stored securely."))), isStale && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Marked completed but no proof recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "xs", onClick: handleExecute }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "sm", onClick: handleExecute, disabled: isDisabled }, isCompleted ? "Re-generate & Fund" : "Run Now")));
50
+ };
51
+ export {
52
+ WalletGenerateAndFundFlowDetail
53
+ };
54
+ //# sourceMappingURL=WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletGenerateAndFund/WalletGenerateAndFundFlowDetail.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Button, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const WalletGenerateAndFundFlowDetail: React.FC<ActionTypeFlowProps> = ({ block, runtime, updateRuntime, isDisabled, executeAction }) => {\n // Derived from runtime — single source of truth.\n const generatedAddress: string = runtime.output?.address || '';\n const generatedDid: string = runtime.output?.did || '';\n const txHash: string = runtime.output?.transactionHash || '';\n const hasProof = !!generatedAddress && !!txHash;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const errorMessage = runtime.error?.message || null;\n\n const handleExecute = useCallback(async () => {\n console.log('[wallet.generateAndFund] handleExecute', { 'runtime.state': runtime.state, hasProof });\n if (isDisabled || isRunning) return;\n\n if (!executeAction) {\n updateRuntime({ state: 'failed', error: { message: 'Shared action executor is unavailable', at: Date.now() } });\n return;\n }\n\n try {\n const outcome = await executeAction();\n\n console.log('[wallet.generateAndFund] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Wallet generation and funding failed');\n\n const payload = outcome.output as { address?: string; did?: string; pubKey?: string; mnemonic?: string; transactionHash?: string } | undefined;\n if (!payload?.address || !payload?.transactionHash) {\n throw new Error('Action returned success without proof (address + transactionHash). Check handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to generate and fund wallet';\n console.error('[wallet.generateAndFund] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, isDisabled, isRunning, runtime.state, updateRuntime]);\n\n const handleRetry = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Generate & Fund Wallet'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Generate a new wallet and fund it with IXO tokens.'}\n </Text>\n </Stack>\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Generating wallet and funding...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Wallet Generated & Funded\" color=\"green\">\n <Stack gap=\"xs\">\n {generatedAddress && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Address: {generatedAddress}\n </Text>\n )}\n {generatedDid && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n DID: {generatedDid}\n </Text>\n )}\n {txHash && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Tx Hash: {txHash}\n </Text>\n )}\n <Text size=\"xs\" c=\"dimmed\">\n Mnemonic has been stored securely.\n </Text>\n </Stack>\n </Alert>\n )}\n\n {isStale && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Marked completed but no proof recorded. Stale state — reset and re-run.</Text>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleRetry}>\n Reset\n </Button>\n <Button variant=\"filled\" size=\"xs\" onClick={handleExecute}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {isFailed && errorMessage && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {errorMessage}\n </Alert>\n )}\n {isFailed && (\n <Group>\n <Button variant=\"outline\" onClick={handleRetry}>\n Try Again\n </Button>\n </Group>\n )}\n\n {!isRunning && !isStale && (\n <Group>\n <Button variant=\"filled\" size=\"sm\" onClick={handleExecute} disabled={isDisabled}>\n {isCompleted ? 'Re-generate & Fund' : 'Run Now'}\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,10 @@
1
+ // src/mantine/blocks/action/actionTypes/walletGenerate/WalletGenerateConfig.tsx
2
+ import React from "react";
3
+ import { Stack, Text } from "@mantine/core";
4
+ var WalletGenerateConfig = () => {
5
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Generate Wallet"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Generates a new wallet with address and DID. The mnemonic is stored securely in the secrets block. No additional configuration is required."));
6
+ };
7
+ export {
8
+ WalletGenerateConfig
9
+ };
10
+ //# sourceMappingURL=WalletGenerateConfig-YYLCS65G.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletGenerate/WalletGenerateConfig.tsx"],"sourcesContent":["import React from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\n\nexport const WalletGenerateConfig: React.FC<ActionTypeConfigProps> = () => {\n return (\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Generate Wallet\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Generates a new wallet with address and DID. The mnemonic is stored securely in the secrets block. No additional configuration is required.\n </Text>\n </Stack>\n );\n};\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,OAAO,YAAY;AAGrB,IAAM,uBAAwD,MAAM;AACzE,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,iBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,6IAE3B,CACF;AAEJ;","names":[]}
@@ -0,0 +1,53 @@
1
+ import {
2
+ DismissibleAlert
3
+ } from "./chunk-IFWKRCFF.js";
4
+ import {
5
+ actionAlertStyles
6
+ } from "./chunk-6GKJR52N.js";
7
+ import "./chunk-4DGCCXD6.js";
8
+ import "./chunk-7W7UUUIE.js";
9
+ import "./chunk-TS2LNBF2.js";
10
+
11
+ // src/mantine/blocks/action/actionTypes/walletGenerate/WalletGenerateFlowDetail.tsx
12
+ import React, { useCallback } from "react";
13
+ import { Button, Group, Loader, Stack, Text } from "@mantine/core";
14
+ import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
15
+ var WalletGenerateFlowDetail = ({ block, runtime, updateRuntime, isDisabled, executeAction }) => {
16
+ const generatedAddress = runtime.output?.address || "";
17
+ const generatedDid = runtime.output?.did || "";
18
+ const hasProof = !!generatedAddress;
19
+ const isRunning = runtime.state === "running";
20
+ const isCompleted = runtime.state === "completed" && hasProof;
21
+ const isStale = runtime.state === "completed" && !hasProof;
22
+ const isFailed = runtime.state === "failed";
23
+ const errorMessage = runtime.error?.message || null;
24
+ const handleExecute = useCallback(async () => {
25
+ console.log("[wallet.generate] handleExecute", { "runtime.state": runtime.state, hasProof });
26
+ if (isDisabled || isRunning) return;
27
+ if (!executeAction) {
28
+ updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
29
+ return;
30
+ }
31
+ try {
32
+ const outcome = await executeAction();
33
+ console.log("[wallet.generate] outcome", outcome);
34
+ if (!outcome.success) throw new Error(outcome.error || "Wallet generation failed");
35
+ const payload = outcome.output;
36
+ if (!payload?.address) {
37
+ throw new Error("Action returned success without an address. Check the [oracle:generateWallet] handler logs.");
38
+ }
39
+ } catch (err) {
40
+ const message = err instanceof Error ? err.message : "Failed to generate wallet";
41
+ console.error("[wallet.generate] failed", { message, err });
42
+ updateRuntime({ state: "failed", error: { message, at: Date.now() } });
43
+ }
44
+ }, [executeAction, hasProof, isDisabled, isRunning, runtime.state, updateRuntime]);
45
+ const handleRetry = useCallback(() => {
46
+ updateRuntime({ state: "idle", error: void 0, output: {} });
47
+ }, [updateRuntime]);
48
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Generate Wallet"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Generate a new wallet with address and DID.")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Generating wallet...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Wallet Generated", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, generatedAddress && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Address: ", generatedAddress), generatedDid && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "DID: ", generatedDid), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Mnemonic has been stored securely."))), isStale && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Marked completed but no address recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "xs", onClick: handleExecute }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "sm", onClick: handleExecute, disabled: isDisabled }, isCompleted ? "Re-generate" : "Run Now")));
49
+ };
50
+ export {
51
+ WalletGenerateFlowDetail
52
+ };
53
+ //# sourceMappingURL=WalletGenerateFlowDetail-CQCNDGJA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletGenerate/WalletGenerateFlowDetail.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Button, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const WalletGenerateFlowDetail: React.FC<ActionTypeFlowProps> = ({ block, runtime, updateRuntime, isDisabled, executeAction }) => {\n // Derived from runtime — single source of truth.\n const generatedAddress: string = runtime.output?.address || '';\n const generatedDid: string = runtime.output?.did || '';\n const hasProof = !!generatedAddress;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const errorMessage = runtime.error?.message || null;\n\n const handleExecute = useCallback(async () => {\n console.log('[wallet.generate] handleExecute', { 'runtime.state': runtime.state, hasProof });\n if (isDisabled || isRunning) return;\n\n if (!executeAction) {\n updateRuntime({ state: 'failed', error: { message: 'Shared action executor is unavailable', at: Date.now() } });\n return;\n }\n\n try {\n const outcome = await executeAction();\n\n console.log('[wallet.generate] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Wallet generation failed');\n\n const payload = outcome.output as { address?: string; did?: string; pubKey?: string; mnemonic?: string } | undefined;\n if (!payload?.address) {\n throw new Error('Action returned success without an address. Check the [oracle:generateWallet] handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to generate wallet';\n console.error('[wallet.generate] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, hasProof, isDisabled, isRunning, runtime.state, updateRuntime]);\n\n const handleRetry = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Generate Wallet'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Generate a new wallet with address and DID.'}\n </Text>\n </Stack>\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Generating wallet...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Wallet Generated\" color=\"green\">\n <Stack gap=\"xs\">\n {generatedAddress && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Address: {generatedAddress}\n </Text>\n )}\n {generatedDid && (\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n DID: {generatedDid}\n </Text>\n )}\n <Text size=\"xs\" c=\"dimmed\">\n Mnemonic has been stored securely.\n </Text>\n </Stack>\n </Alert>\n )}\n\n {isStale && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Marked completed but no address recorded. Stale state — reset and re-run.</Text>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleRetry}>\n Reset\n </Button>\n <Button variant=\"filled\" size=\"xs\" onClick={handleExecute}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {isFailed && errorMessage && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {errorMessage}\n </Alert>\n )}\n {isFailed && (\n <Group>\n <Button variant=\"outline\" onClick={handleRetry}>\n Try Again\n </Button>\n </Group>\n )}\n\n {!isRunning && !isStale && (\n <Group>\n <Button variant=\"filled\" size=\"sm\" onClick={handleExecute} disabled={isDisabled}>\n {isCompleted ? 'Re-generate' : 'Run Now'}\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}