@ixo/editor 6.33.0 → 6.35.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.
- package/dist/BidConfig-YLGSEIOS.js +154 -0
- package/dist/BidConfig-YLGSEIOS.js.map +1 -0
- package/dist/BidFlowDetail-U2SX5M7F.js +365 -0
- package/dist/BidFlowDetail-U2SX5M7F.js.map +1 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
- package/dist/ClaimConfig-3HKPGK55.js +200 -0
- package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
- package/dist/ClaimFlowDetail-I4OQSHAB.js +641 -0
- package/dist/ClaimFlowDetail-I4OQSHAB.js.map +1 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
- package/dist/CollectionLifecycleFlowDetail-LQHKB227.js +647 -0
- package/dist/CollectionLifecycleFlowDetail-LQHKB227.js.map +1 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
- package/dist/CollectionUsersFlowDetail-LHXVCCPQ.js +1276 -0
- package/dist/CollectionUsersFlowDetail-LHXVCCPQ.js.map +1 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
- package/dist/DomainSignConfig-XFIXROVK.js +47 -0
- package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
- package/dist/EvaluateBidFlowDetail-2EXGNBYC.js +564 -0
- package/dist/EvaluateBidFlowDetail-2EXGNBYC.js.map +1 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
- package/dist/EvaluateClaimFlowDetail-QKHJVEDE.js +2237 -0
- package/dist/EvaluateClaimFlowDetail-QKHJVEDE.js.map +1 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
- package/dist/HarvestConfig-AIGOGBFR.js +56 -0
- package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
- package/dist/IdentityCreateFlowDetail-4TE6UCEB.js +83 -0
- package/dist/IdentityCreateFlowDetail-4TE6UCEB.js.map +1 -0
- package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
- package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
- package/dist/IidCreateFlowDetail-HPVZAHVY.js +57 -0
- package/dist/IidCreateFlowDetail-HPVZAHVY.js.map +1 -0
- package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
- package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
- package/dist/KycVerifyFlowDetail-FEU43HML.js +421 -0
- package/dist/KycVerifyFlowDetail-FEU43HML.js.map +1 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
- package/dist/MatrixDmConfig-NBII27CS.js +120 -0
- package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
- package/dist/OracleConfig-R7TDTTKN.js +56 -0
- package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
- package/dist/OracleConfigureOracleFlowDetail-MIBXUEKC.js +255 -0
- package/dist/OracleConfigureOracleFlowDetail-MIBXUEKC.js.map +1 -0
- package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
- package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
- package/dist/OraclePromptConfig-YBRESISH.js +39 -0
- package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-HQU3UKEB.js +220 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-HQU3UKEB.js.map +1 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
- package/dist/OracleStoreSecretsFlowDetail-5RXWQ3KA.js +197 -0
- package/dist/OracleStoreSecretsFlowDetail-5RXWQ3KA.js.map +1 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
- package/dist/ProposalCreateFlowDetail-2FCRCNYV.js +235 -0
- package/dist/ProposalCreateFlowDetail-2FCRCNYV.js.map +1 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
- package/dist/RetireConfig-MV37WWZ6.js +59 -0
- package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
- package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
- package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
- package/dist/action-manifest.json +2091 -393
- package/dist/chunk-2GAYKKTL.js +9 -0
- package/dist/chunk-2GAYKKTL.js.map +1 -0
- package/dist/chunk-3TUYY4HK.js +20 -0
- package/dist/chunk-3TUYY4HK.js.map +1 -0
- package/dist/chunk-4DGCCXD6.js +710 -0
- package/dist/chunk-4DGCCXD6.js.map +1 -0
- package/dist/chunk-4NAFQF6V.js +11 -0
- package/dist/chunk-4NAFQF6V.js.map +1 -0
- package/dist/chunk-4PONO4US.js +799 -0
- package/dist/chunk-4PONO4US.js.map +1 -0
- package/dist/chunk-4TMOIK5M.js +21 -0
- package/dist/chunk-4TMOIK5M.js.map +1 -0
- package/dist/chunk-5E6Z6JJN.js +4456 -0
- package/dist/chunk-5E6Z6JJN.js.map +1 -0
- package/dist/chunk-5IH3VC5I.js +102 -0
- package/dist/chunk-5IH3VC5I.js.map +1 -0
- package/dist/chunk-5NTKDOP6.js +89 -0
- package/dist/chunk-5NTKDOP6.js.map +1 -0
- package/dist/chunk-5O2SFRGU.js +18 -0
- package/dist/chunk-5O2SFRGU.js.map +1 -0
- package/dist/chunk-632JLECF.js +55 -0
- package/dist/chunk-632JLECF.js.map +1 -0
- package/dist/chunk-676HDB7K.js +95 -0
- package/dist/chunk-676HDB7K.js.map +1 -0
- package/dist/chunk-6ESTNTSH.js +223 -0
- package/dist/chunk-6ESTNTSH.js.map +1 -0
- package/dist/chunk-6GKJR52N.js +15 -0
- package/dist/chunk-6GKJR52N.js.map +1 -0
- package/dist/chunk-6L4ZIKYU.js +23 -0
- package/dist/chunk-6L4ZIKYU.js.map +1 -0
- package/dist/chunk-76YX5R4L.js +11 -0
- package/dist/chunk-76YX5R4L.js.map +1 -0
- package/dist/chunk-7J3GFMN3.js +32 -0
- package/dist/chunk-7J3GFMN3.js.map +1 -0
- package/dist/chunk-7LSARC2G.js +102 -0
- package/dist/chunk-7LSARC2G.js.map +1 -0
- package/dist/chunk-7W7UUUIE.js +609 -0
- package/dist/chunk-7W7UUUIE.js.map +1 -0
- package/dist/chunk-7ZLW7H37.js +21 -0
- package/dist/chunk-7ZLW7H37.js.map +1 -0
- package/dist/chunk-AAZHI22G.js +18 -0
- package/dist/chunk-AAZHI22G.js.map +1 -0
- package/dist/chunk-ACNE455I.js +76 -0
- package/dist/chunk-ACNE455I.js.map +1 -0
- package/dist/chunk-BKLSSLPZ.js +27 -0
- package/dist/chunk-BKLSSLPZ.js.map +1 -0
- package/dist/chunk-BZ7UPUTY.js +417 -0
- package/dist/chunk-BZ7UPUTY.js.map +1 -0
- package/dist/chunk-CGFAICUE.js +28 -0
- package/dist/chunk-CGFAICUE.js.map +1 -0
- package/dist/chunk-CMCEWQ3C.js +19 -0
- package/dist/chunk-CMCEWQ3C.js.map +1 -0
- package/dist/chunk-CP4UV436.js +41 -0
- package/dist/chunk-CP4UV436.js.map +1 -0
- package/dist/chunk-DIQRZP7Z.js +51 -0
- package/dist/chunk-DIQRZP7Z.js.map +1 -0
- package/dist/chunk-EBFFDDAS.js +13 -0
- package/dist/chunk-EBFFDDAS.js.map +1 -0
- package/dist/chunk-EGVS23DR.js +85 -0
- package/dist/chunk-EGVS23DR.js.map +1 -0
- package/dist/chunk-EKBQ7K4N.js +15 -0
- package/dist/chunk-EKBQ7K4N.js.map +1 -0
- package/dist/chunk-EKQCZRAN.js +24 -0
- package/dist/chunk-EKQCZRAN.js.map +1 -0
- package/dist/chunk-EYKZIZ5J.js +48 -0
- package/dist/chunk-EYKZIZ5J.js.map +1 -0
- package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
- package/dist/chunk-F4PTFXZH.js.map +1 -0
- package/dist/chunk-F5GTFCYV.js +3333 -0
- package/dist/chunk-F5GTFCYV.js.map +1 -0
- package/dist/chunk-FFYZXA75.js +58 -0
- package/dist/chunk-FFYZXA75.js.map +1 -0
- package/dist/chunk-GFGDHPZ2.js +22 -0
- package/dist/chunk-GFGDHPZ2.js.map +1 -0
- package/dist/chunk-GR3CDFID.js +18 -0
- package/dist/chunk-GR3CDFID.js.map +1 -0
- package/dist/chunk-GR4SIU32.js +104 -0
- package/dist/chunk-GR4SIU32.js.map +1 -0
- package/dist/chunk-H5E46IIS.js +18 -0
- package/dist/chunk-H5E46IIS.js.map +1 -0
- package/dist/chunk-HFHVAMZL.js +22 -0
- package/dist/chunk-HFHVAMZL.js.map +1 -0
- package/dist/chunk-HT6L7A5M.js +12 -0
- package/dist/chunk-HT6L7A5M.js.map +1 -0
- package/dist/chunk-I2FPFISM.js +301 -0
- package/dist/chunk-I2FPFISM.js.map +1 -0
- package/dist/chunk-IADAQJDH.js +28 -0
- package/dist/chunk-IADAQJDH.js.map +1 -0
- package/dist/chunk-IBOBCMQQ.js +99 -0
- package/dist/chunk-IBOBCMQQ.js.map +1 -0
- package/dist/chunk-IFWKRCFF.js +56 -0
- package/dist/chunk-IFWKRCFF.js.map +1 -0
- package/dist/chunk-IH4T7V4C.js +40 -0
- package/dist/chunk-IH4T7V4C.js.map +1 -0
- package/dist/chunk-IIIZZ4E4.js +1679 -0
- package/dist/chunk-IIIZZ4E4.js.map +1 -0
- package/dist/chunk-ILSFU3WD.js +83 -0
- package/dist/chunk-ILSFU3WD.js.map +1 -0
- package/dist/chunk-IX3VBV3L.js +43 -0
- package/dist/chunk-IX3VBV3L.js.map +1 -0
- package/dist/chunk-JB6ASLUJ.js +315 -0
- package/dist/chunk-JB6ASLUJ.js.map +1 -0
- package/dist/chunk-JBBFSORW.js +846 -0
- package/dist/chunk-JBBFSORW.js.map +1 -0
- package/dist/chunk-JIDTNKKL.js +1183 -0
- package/dist/chunk-JIDTNKKL.js.map +1 -0
- package/dist/chunk-JSPE6NGZ.js +22 -0
- package/dist/chunk-JSPE6NGZ.js.map +1 -0
- package/dist/chunk-JVROGQ7Q.js +150 -0
- package/dist/chunk-JVROGQ7Q.js.map +1 -0
- package/dist/chunk-K4WUMWNJ.js +32 -0
- package/dist/chunk-K4WUMWNJ.js.map +1 -0
- package/dist/chunk-K74XQ4Q5.js +11 -0
- package/dist/chunk-K74XQ4Q5.js.map +1 -0
- package/dist/chunk-KLLMJ4U3.js +22 -0
- package/dist/chunk-KLLMJ4U3.js.map +1 -0
- package/dist/chunk-LTKVCJ2E.js +27 -0
- package/dist/chunk-LTKVCJ2E.js.map +1 -0
- package/dist/chunk-M36DJTFZ.js +34 -0
- package/dist/chunk-M36DJTFZ.js.map +1 -0
- package/dist/chunk-MHM52LCJ.js +154 -0
- package/dist/chunk-MHM52LCJ.js.map +1 -0
- package/dist/chunk-MQCDMHRZ.js +59 -0
- package/dist/chunk-MQCDMHRZ.js.map +1 -0
- package/dist/chunk-MZIBZ5FY.js +554 -0
- package/dist/chunk-MZIBZ5FY.js.map +1 -0
- package/dist/chunk-N3ORMGAI.js +348 -0
- package/dist/chunk-N3ORMGAI.js.map +1 -0
- package/dist/chunk-NCSGIRRQ.js +28 -0
- package/dist/chunk-NCSGIRRQ.js.map +1 -0
- package/dist/chunk-NIXT2SBH.js +1423 -0
- package/dist/chunk-NIXT2SBH.js.map +1 -0
- package/dist/chunk-NJAII6CO.js +148 -0
- package/dist/chunk-NJAII6CO.js.map +1 -0
- package/dist/chunk-NKE4TL43.js +92 -0
- package/dist/chunk-NKE4TL43.js.map +1 -0
- package/dist/chunk-NZ7AXA7B.js +1 -0
- package/dist/chunk-NZ7AXA7B.js.map +1 -0
- package/dist/chunk-OCAYEGI2.js +26 -0
- package/dist/chunk-OCAYEGI2.js.map +1 -0
- package/dist/chunk-OMLI45ER.js +90 -0
- package/dist/chunk-OMLI45ER.js.map +1 -0
- package/dist/chunk-P7OBLJAG.js +88 -0
- package/dist/chunk-P7OBLJAG.js.map +1 -0
- package/dist/chunk-PAY3CBWL.js +2321 -0
- package/dist/chunk-PAY3CBWL.js.map +1 -0
- package/dist/chunk-PFF6VY35.js +257 -0
- package/dist/chunk-PFF6VY35.js.map +1 -0
- package/dist/chunk-PYNDJDWZ.js +1758 -0
- package/dist/chunk-PYNDJDWZ.js.map +1 -0
- package/dist/chunk-QDQ6UMMN.js +53 -0
- package/dist/chunk-QDQ6UMMN.js.map +1 -0
- package/dist/chunk-QGT3G2XG.js +24 -0
- package/dist/chunk-QGT3G2XG.js.map +1 -0
- package/dist/chunk-QZYCJ2GZ.js +55 -0
- package/dist/chunk-QZYCJ2GZ.js.map +1 -0
- package/dist/chunk-REZ7RFSA.js +124 -0
- package/dist/chunk-REZ7RFSA.js.map +1 -0
- package/dist/chunk-RRYBAE6E.js +2449 -0
- package/dist/chunk-RRYBAE6E.js.map +1 -0
- package/dist/chunk-RWUZOB62.js +34 -0
- package/dist/chunk-RWUZOB62.js.map +1 -0
- package/dist/chunk-SB5UCPZH.js +116 -0
- package/dist/chunk-SB5UCPZH.js.map +1 -0
- package/dist/chunk-SEJJ7CRI.js +99 -0
- package/dist/chunk-SEJJ7CRI.js.map +1 -0
- package/dist/chunk-SHBFGRPV.js +45 -0
- package/dist/chunk-SHBFGRPV.js.map +1 -0
- package/dist/chunk-SOFJ4GC5.js +45 -0
- package/dist/chunk-SOFJ4GC5.js.map +1 -0
- package/dist/chunk-STH2HPZK.js +44 -0
- package/dist/chunk-STH2HPZK.js.map +1 -0
- package/dist/chunk-TK3JNKME.js +28 -0
- package/dist/chunk-TK3JNKME.js.map +1 -0
- package/dist/chunk-TMONHFE3.js +46 -0
- package/dist/chunk-TMONHFE3.js.map +1 -0
- package/dist/chunk-TR4KO3AG.js +44 -0
- package/dist/chunk-TR4KO3AG.js.map +1 -0
- package/dist/chunk-TS2LNBF2.js +68 -0
- package/dist/chunk-TS2LNBF2.js.map +1 -0
- package/dist/chunk-UZUMBFPP.js +26 -0
- package/dist/chunk-UZUMBFPP.js.map +1 -0
- package/dist/chunk-VRZ5LMOW.js +176 -0
- package/dist/chunk-VRZ5LMOW.js.map +1 -0
- package/dist/chunk-WLGGY6Z6.js +75 -0
- package/dist/chunk-WLGGY6Z6.js.map +1 -0
- package/dist/chunk-WO7V6ZNC.js +11 -0
- package/dist/chunk-WO7V6ZNC.js.map +1 -0
- package/dist/chunk-WXSENSRP.js +64 -0
- package/dist/chunk-WXSENSRP.js.map +1 -0
- package/dist/chunk-XEKBZ2SA.js +19 -0
- package/dist/chunk-XEKBZ2SA.js.map +1 -0
- package/dist/chunk-XPBKU3JX.js +61 -0
- package/dist/chunk-XPBKU3JX.js.map +1 -0
- package/dist/chunk-XRYXBXWH.js +24 -0
- package/dist/chunk-XRYXBXWH.js.map +1 -0
- package/dist/chunk-XVA7QRVH.js +22 -0
- package/dist/chunk-XVA7QRVH.js.map +1 -0
- package/dist/chunk-XYXDY72K.js +27508 -0
- package/dist/chunk-XYXDY72K.js.map +1 -0
- package/dist/chunk-YCTHHBSS.js +37 -0
- package/dist/chunk-YCTHHBSS.js.map +1 -0
- package/dist/chunk-YHPWD5NE.js +70 -0
- package/dist/chunk-YHPWD5NE.js.map +1 -0
- package/dist/chunk-YLNEKJQ5.js +126 -0
- package/dist/chunk-YLNEKJQ5.js.map +1 -0
- package/dist/chunk-YN4CEKCF.js +73 -0
- package/dist/chunk-YN4CEKCF.js.map +1 -0
- package/dist/chunk-YYNMESIF.js +17 -0
- package/dist/chunk-YYNMESIF.js.map +1 -0
- package/dist/chunk-Z6PRMCV6.js +1 -0
- package/dist/chunk-Z6PRMCV6.js.map +1 -0
- package/dist/chunk-ZDNW6VQG.js +11 -0
- package/dist/chunk-ZDNW6VQG.js.map +1 -0
- package/dist/chunk-ZP4D73DO.js +36 -0
- package/dist/chunk-ZP4D73DO.js.map +1 -0
- package/dist/chunk-ZUATADUV.js +26 -0
- package/dist/chunk-ZUATADUV.js.map +1 -0
- package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
- package/dist/core/index.cjs +14041 -6973
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +422 -138
- package/dist/core/index.js +425 -183
- package/dist/core/index.js.map +1 -1
- package/dist/flow-vnext/index.cjs +2842 -0
- package/dist/flow-vnext/index.cjs.map +1 -0
- package/dist/flow-vnext/index.d.ts +3 -0
- package/dist/flow-vnext/index.js +119 -0
- package/dist/flow-vnext/index.js.map +1 -0
- package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
- package/dist/index-b9xxXGFs.d.ts +1230 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +202 -37
- package/dist/index.js.map +1 -1
- package/dist/legacy-BpgIqaQ5.d.ts +14 -0
- package/dist/mantine/index.d.ts +7 -4
- package/dist/mantine/index.js +84 -30
- package/dist/mantine/index.js.map +1 -1
- package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
- package/package.json +12 -2
- package/dist/chunk-A4CWC4AG.js +0 -374
- package/dist/chunk-A4CWC4AG.js.map +0 -1
- package/dist/chunk-NEOPTPDF.js.map +0 -1
- package/dist/chunk-VRCRDKN5.js +0 -59694
- package/dist/chunk-VRCRDKN5.js.map +0 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseRetireConfigInputs
|
|
3
|
+
} from "./chunk-AAZHI22G.js";
|
|
4
|
+
import {
|
|
5
|
+
useRunRuntimeReader
|
|
6
|
+
} from "./chunk-FFYZXA75.js";
|
|
7
|
+
import "./chunk-NZ7AXA7B.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveReferences
|
|
10
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
11
|
+
import "./chunk-IIIZZ4E4.js";
|
|
12
|
+
import "./chunk-HT6L7A5M.js";
|
|
13
|
+
import "./chunk-NCSGIRRQ.js";
|
|
14
|
+
import {
|
|
15
|
+
DismissibleAlert
|
|
16
|
+
} from "./chunk-IFWKRCFF.js";
|
|
17
|
+
import {
|
|
18
|
+
actionAlertStyles
|
|
19
|
+
} from "./chunk-6GKJR52N.js";
|
|
20
|
+
import {
|
|
21
|
+
BaseTextInput
|
|
22
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
23
|
+
import {
|
|
24
|
+
useBlocknoteHandlers
|
|
25
|
+
} from "./chunk-4DGCCXD6.js";
|
|
26
|
+
import "./chunk-7W7UUUIE.js";
|
|
27
|
+
import "./chunk-TS2LNBF2.js";
|
|
28
|
+
|
|
29
|
+
// src/mantine/blocks/action/actionTypes/carbon/retire/RetireFlowDetail.tsx
|
|
30
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
31
|
+
import { Group, NumberInput, Stack, Switch, Text } from "@mantine/core";
|
|
32
|
+
import { IconAlertTriangle, IconCheck, IconAlertCircle } from "@tabler/icons-react";
|
|
33
|
+
function parseBatches(resolved) {
|
|
34
|
+
const trimmed = (resolved || "").trim();
|
|
35
|
+
if (!trimmed) return [];
|
|
36
|
+
try {
|
|
37
|
+
const parsed = JSON.parse(trimmed);
|
|
38
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
39
|
+
} catch {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function composeJurisdiction(j) {
|
|
44
|
+
const parts = [j.country, j.state, j.postal].map((p) => (p || "").trim()).filter(Boolean);
|
|
45
|
+
return parts.length ? parts.join(", ") : "Global";
|
|
46
|
+
}
|
|
47
|
+
var RetireFlowDetail = ({
|
|
48
|
+
inputs,
|
|
49
|
+
editor,
|
|
50
|
+
block,
|
|
51
|
+
runtime,
|
|
52
|
+
isDisabled,
|
|
53
|
+
provideSigningHandler,
|
|
54
|
+
unlockSigning,
|
|
55
|
+
registerRuntimeInputs,
|
|
56
|
+
executeAction
|
|
57
|
+
}) => {
|
|
58
|
+
const handlers = useBlocknoteHandlers();
|
|
59
|
+
const owner = useMemo(() => {
|
|
60
|
+
try {
|
|
61
|
+
return handlers?.getCurrentUser?.()?.address || "";
|
|
62
|
+
} catch {
|
|
63
|
+
return "";
|
|
64
|
+
}
|
|
65
|
+
}, [handlers]);
|
|
66
|
+
const parsed = useMemo(() => parseRetireConfigInputs(inputs), [inputs]);
|
|
67
|
+
const editorDocument = editor?.document || [];
|
|
68
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
69
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
70
|
+
const batches = useMemo(() => parseBatches(resolveReferences(parsed.batchesRef || "", editorDocument, resolveOpts)), [parsed.batchesRef, editorDocument, resolveOpts]);
|
|
71
|
+
const [retireAll, setRetireAll] = useState(true);
|
|
72
|
+
const [amounts, setAmounts] = useState({});
|
|
73
|
+
const [reason, setReason] = useState(parsed.reason || "offset");
|
|
74
|
+
const [country, setCountry] = useState("");
|
|
75
|
+
const [stateRegion, setStateRegion] = useState("");
|
|
76
|
+
const [postal, setPostal] = useState("");
|
|
77
|
+
const [error, setError] = useState(null);
|
|
78
|
+
const effectiveSelections = useMemo(() => {
|
|
79
|
+
if (retireAll) return batches.map((b) => ({ id: b.id, amount: Number(b.amount) || 0 })).filter((s) => s.amount > 0);
|
|
80
|
+
return batches.map((b) => ({ id: b.id, amount: Number(amounts[b.id]) || 0 })).filter((s) => s.amount > 0);
|
|
81
|
+
}, [retireAll, batches, amounts]);
|
|
82
|
+
const totalRetiring = effectiveSelections.reduce((s, x) => s + x.amount, 0);
|
|
83
|
+
const txHash = runtime.output?.transactionHash || "";
|
|
84
|
+
const retiredAmount = runtime.output?.retiredAmount ?? 0;
|
|
85
|
+
const isCompleted = runtime.state === "completed" && !!txHash;
|
|
86
|
+
const runtimeError = runtime.error?.message || null;
|
|
87
|
+
const jurisdiction = useMemo(() => ({ country, state: stateRegion, postal }), [country, stateRegion, postal]);
|
|
88
|
+
const canSign = !isDisabled && !isCompleted && effectiveSelections.length > 0 && totalRetiring > 0 && !!country.trim() && !!owner;
|
|
89
|
+
const setAmount = useCallback((id, value, max) => {
|
|
90
|
+
const clamped = Math.max(0, Math.min(Number.isFinite(value) ? value : 0, max));
|
|
91
|
+
setAmounts((prev) => ({ ...prev, [id]: clamped }));
|
|
92
|
+
}, []);
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
unlockSigning?.(canSign);
|
|
95
|
+
}, [unlockSigning, canSign]);
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
const byId = new Map(batches.map((b) => [b.id, b]));
|
|
98
|
+
registerRuntimeInputs?.({
|
|
99
|
+
selections: effectiveSelections,
|
|
100
|
+
retireAll,
|
|
101
|
+
reason,
|
|
102
|
+
jurisdiction,
|
|
103
|
+
selectedBatches: effectiveSelections.map((s) => ({ id: s.id, amount: s.amount, alsoKnownAs: byId.get(s.id)?.alsoKnownAs }))
|
|
104
|
+
});
|
|
105
|
+
}, [registerRuntimeInputs, effectiveSelections, retireAll, reason, jurisdiction, batches]);
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!provideSigningHandler) return;
|
|
108
|
+
provideSigningHandler(async () => {
|
|
109
|
+
setError(null);
|
|
110
|
+
if (!executeAction) {
|
|
111
|
+
setError("Retire action executor is unavailable");
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (!owner) {
|
|
115
|
+
setError("No connected wallet address");
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (effectiveSelections.length === 0) {
|
|
119
|
+
setError("No batches selected to retire");
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const jurisdictionStr = composeJurisdiction(jurisdiction);
|
|
123
|
+
console.log("[carbon.retire] signing", { owner, count: effectiveSelections.length, jurisdiction: jurisdictionStr });
|
|
124
|
+
const outcome = await executeAction({
|
|
125
|
+
runtimeInputs: { owner, reason: reason || "offset", jurisdiction: jurisdictionStr, tokens: effectiveSelections }
|
|
126
|
+
});
|
|
127
|
+
if (!outcome.success) {
|
|
128
|
+
setError(outcome.error || "Retire failed");
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}, [provideSigningHandler, executeAction, owner, effectiveSelections, reason, jurisdiction]);
|
|
132
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Retire Carbon"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Permanently retire credits to offset impact.")), isCompleted ? /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), color: "green", title: "Retired" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Permanently retired ", retiredAmount, " CARBON."), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Tx: ", txHash))) : batches.length === 0 ? /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "yellow", styles: actionAlertStyles }, "No retireable batches. Configure the retireable batches reference and ensure the upstream Load Carbon Batches block has run.") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertTriangle, { size: 16 }), color: "orange", styles: actionAlertStyles }, "Retiring is permanent and irreversible. Retired credits are burned and cannot be recovered."), /* @__PURE__ */ React.createElement(Switch, { label: "Retire full amount of every batch", checked: retireAll, onChange: (event) => setRetireAll(event.currentTarget.checked), disabled: isDisabled }), !retireAll && /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, batches.map((b) => /* @__PURE__ */ React.createElement(Group, { key: b.id, justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", style: { flex: 1, wordBreak: "break-all" } }, b.alsoKnownAs || b.id, " ", /* @__PURE__ */ React.createElement(Text, { span: true, size: "xs", c: "dimmed" }, "(max ", b.amount, ")")), /* @__PURE__ */ React.createElement(
|
|
133
|
+
NumberInput,
|
|
134
|
+
{
|
|
135
|
+
value: amounts[b.id] ?? 0,
|
|
136
|
+
onChange: (value) => setAmount(b.id, typeof value === "number" ? value : Number(value), Number(b.amount) || 0),
|
|
137
|
+
min: 0,
|
|
138
|
+
max: Number(b.amount) || 0,
|
|
139
|
+
disabled: isDisabled,
|
|
140
|
+
w: 120
|
|
141
|
+
}
|
|
142
|
+
)))), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Country", placeholder: "Required", value: country, onChange: (e) => setCountry(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "State / Region", value: stateRegion, onChange: (e) => setStateRegion(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Postal code", value: postal, onChange: (e) => setPostal(e.currentTarget.value) })), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Reason", placeholder: "offset", value: reason, onChange: (e) => setReason(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Retiring ", totalRetiring, " CARBON across ", effectiveSelections.length, " batch", effectiveSelections.length === 1 ? "" : "es", !country.trim() ? " \xB7 enter a country to continue" : ""), !owner && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "red" }, "No connected wallet \u2014 connect a wallet to retire.")), (error || runtimeError) && !isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, error || runtimeError));
|
|
143
|
+
};
|
|
144
|
+
export {
|
|
145
|
+
RetireFlowDetail
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=RetireFlowDetail-VZ5O4SXI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/carbon/retire/RetireFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, NumberInput, Stack, Switch, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconAlertTriangle, IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeFlowProps } from '../../../actionTypeUI';\nimport type { CarbonRetireableBatch, CarbonRetireRuntimeInputs } from '@/core/lib/actionRegistry/actions/carbon/types';\nimport { actionAlertStyles } from '../../../alertStyles';\nimport { parseRetireConfigInputs } from './types';\n\nfunction parseBatches(resolved: string): CarbonRetireableBatch[] {\n const trimmed = (resolved || '').trim();\n if (!trimmed) return [];\n try {\n const parsed = JSON.parse(trimmed);\n return Array.isArray(parsed) ? (parsed as CarbonRetireableBatch[]) : [];\n } catch {\n return [];\n }\n}\n\nfunction composeJurisdiction(j: { country?: string; state?: string; postal?: string }): string {\n const parts = [j.country, j.state, j.postal].map((p) => (p || '').trim()).filter(Boolean);\n return parts.length ? parts.join(', ') : 'Global';\n}\n\nexport const RetireFlowDetail: React.FC<ActionTypeFlowProps<CarbonRetireRuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const handlers = useBlocknoteHandlers();\n const owner = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.()?.address || '';\n } catch {\n return '';\n }\n }, [handlers]);\n\n const parsed = useMemo(() => parseRetireConfigInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const batches = useMemo(() => parseBatches(resolveReferences(parsed.batchesRef || '', editorDocument, resolveOpts)), [parsed.batchesRef, editorDocument, resolveOpts]);\n\n const [retireAll, setRetireAll] = useState(true);\n const [amounts, setAmounts] = useState<Record<string, number>>({});\n const [reason, setReason] = useState<string>(parsed.reason || 'offset');\n const [country, setCountry] = useState('');\n const [stateRegion, setStateRegion] = useState('');\n const [postal, setPostal] = useState('');\n const [error, setError] = useState<string | null>(null);\n\n const effectiveSelections = useMemo(() => {\n if (retireAll) return batches.map((b) => ({ id: b.id, amount: Number(b.amount) || 0 })).filter((s) => s.amount > 0);\n return batches.map((b) => ({ id: b.id, amount: Number(amounts[b.id]) || 0 })).filter((s) => s.amount > 0);\n }, [retireAll, batches, amounts]);\n const totalRetiring = effectiveSelections.reduce((s, x) => s + x.amount, 0);\n\n // Runtime-derived state — source of truth.\n const txHash: string = runtime.output?.transactionHash || '';\n const retiredAmount: number = runtime.output?.retiredAmount ?? 0;\n const isCompleted = runtime.state === 'completed' && !!txHash;\n const runtimeError = runtime.error?.message || null;\n\n const jurisdiction = useMemo(() => ({ country, state: stateRegion, postal }), [country, stateRegion, postal]);\n const canSign = !isDisabled && !isCompleted && effectiveSelections.length > 0 && totalRetiring > 0 && !!country.trim() && !!owner;\n\n const setAmount = useCallback((id: string, value: number, max: number) => {\n const clamped = Math.max(0, Math.min(Number.isFinite(value) ? value : 0, max));\n setAmounts((prev) => ({ ...prev, [id]: clamped }));\n }, []);\n\n useEffect(() => {\n unlockSigning?.(canSign);\n }, [unlockSigning, canSign]);\n\n useEffect(() => {\n const byId = new Map(batches.map((b) => [b.id, b]));\n registerRuntimeInputs?.({\n selections: effectiveSelections,\n retireAll,\n reason,\n jurisdiction,\n selectedBatches: effectiveSelections.map((s) => ({ id: s.id, amount: s.amount, alsoKnownAs: byId.get(s.id)?.alsoKnownAs })),\n });\n }, [registerRuntimeInputs, effectiveSelections, retireAll, reason, jurisdiction, batches]);\n\n useEffect(() => {\n if (!provideSigningHandler) return;\n provideSigningHandler(async () => {\n setError(null);\n if (!executeAction) {\n setError('Retire action executor is unavailable');\n return;\n }\n if (!owner) {\n setError('No connected wallet address');\n return;\n }\n if (effectiveSelections.length === 0) {\n setError('No batches selected to retire');\n return;\n }\n const jurisdictionStr = composeJurisdiction(jurisdiction);\n console.log('[carbon.retire] signing', { owner, count: effectiveSelections.length, jurisdiction: jurisdictionStr });\n const outcome = await executeAction({\n runtimeInputs: { owner, reason: reason || 'offset', jurisdiction: jurisdictionStr, tokens: effectiveSelections } as unknown as CarbonRetireRuntimeInputs,\n });\n if (!outcome.success) {\n setError(outcome.error || 'Retire failed');\n }\n });\n }, [provideSigningHandler, executeAction, owner, effectiveSelections, reason, jurisdiction]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Retire Carbon'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Permanently retire credits to offset impact.'}\n </Text>\n </Stack>\n\n {isCompleted ? (\n <Alert icon={<IconCheck size={16} />} color=\"green\" title=\"Retired\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Permanently retired {retiredAmount} CARBON.</Text>\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Tx: {txHash}\n </Text>\n </Stack>\n </Alert>\n ) : batches.length === 0 ? (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n No retireable batches. Configure the retireable batches reference and ensure the upstream Load Carbon Batches block has run.\n </Alert>\n ) : (\n <>\n <Alert icon={<IconAlertTriangle size={16} />} color=\"orange\" styles={actionAlertStyles}>\n Retiring is permanent and irreversible. Retired credits are burned and cannot be recovered.\n </Alert>\n\n <Switch label=\"Retire full amount of every batch\" checked={retireAll} onChange={(event) => setRetireAll(event.currentTarget.checked)} disabled={isDisabled} />\n {!retireAll && (\n <Stack gap=\"xs\">\n {batches.map((b) => (\n <Group key={b.id} justify=\"space-between\" wrap=\"nowrap\">\n <Text size=\"sm\" style={{ flex: 1, wordBreak: 'break-all' }}>\n {b.alsoKnownAs || b.id}{' '}\n <Text span size=\"xs\" c=\"dimmed\">\n (max {b.amount})\n </Text>\n </Text>\n <NumberInput\n value={amounts[b.id] ?? 0}\n onChange={(value) => setAmount(b.id, typeof value === 'number' ? value : Number(value), Number(b.amount) || 0)}\n min={0}\n max={Number(b.amount) || 0}\n disabled={isDisabled}\n w={120}\n />\n </Group>\n ))}\n </Stack>\n )}\n\n <Group grow>\n <BaseTextInput label=\"Country\" placeholder=\"Required\" value={country} onChange={(e) => setCountry(e.currentTarget.value)} />\n <BaseTextInput label=\"State / Region\" value={stateRegion} onChange={(e) => setStateRegion(e.currentTarget.value)} />\n <BaseTextInput label=\"Postal code\" value={postal} onChange={(e) => setPostal(e.currentTarget.value)} />\n </Group>\n <BaseTextInput label=\"Reason\" placeholder=\"offset\" value={reason} onChange={(e) => setReason(e.currentTarget.value)} />\n\n <Text size=\"xs\" c=\"dimmed\">\n Retiring {totalRetiring} CARBON across {effectiveSelections.length} batch{effectiveSelections.length === 1 ? '' : 'es'}\n {!country.trim() ? ' · enter a country to continue' : ''}\n </Text>\n {!owner && (\n <Text size=\"xs\" c=\"red\">\n No connected wallet — connect a wallet to retire.\n </Text>\n )}\n </>\n )}\n\n {(error || runtimeError) && !isCompleted && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {error || runtimeError}\n </Alert>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseSandboxProvisionInputs,
|
|
3
|
+
serializeSandboxProvisionInputs
|
|
4
|
+
} from "./chunk-EKQCZRAN.js";
|
|
5
|
+
import {
|
|
6
|
+
BaseTextInput
|
|
7
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
8
|
+
|
|
9
|
+
// src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionConfig.tsx
|
|
10
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
11
|
+
import { Stack, Text } from "@mantine/core";
|
|
12
|
+
var SandboxProvisionConfig = ({ inputs, onInputsChange }) => {
|
|
13
|
+
const [local, setLocal] = useState(() => parseSandboxProvisionInputs(inputs));
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setLocal(parseSandboxProvisionInputs(inputs));
|
|
16
|
+
}, [inputs]);
|
|
17
|
+
const update = useCallback(
|
|
18
|
+
(patch) => {
|
|
19
|
+
const updated = { ...local, ...patch };
|
|
20
|
+
setLocal(updated);
|
|
21
|
+
onInputsChange(serializeSandboxProvisionInputs(updated));
|
|
22
|
+
},
|
|
23
|
+
[local, onInputsChange]
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Provision Sandbox"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Provisions a sandbox environment for the oracle entity. Secrets and config are read from the Matrix room. Reference upstream block outputs using the", " ", "{{blockId.output.key}}", " pattern.")), /* @__PURE__ */ React.createElement(
|
|
26
|
+
BaseTextInput,
|
|
27
|
+
{
|
|
28
|
+
label: "Entity DID",
|
|
29
|
+
placeholder: "{{entityBlock.output.entityDid}}",
|
|
30
|
+
value: local.entityDid || "",
|
|
31
|
+
onChange: (event) => update({ entityDid: event.currentTarget.value })
|
|
32
|
+
}
|
|
33
|
+
), /* @__PURE__ */ React.createElement(
|
|
34
|
+
BaseTextInput,
|
|
35
|
+
{
|
|
36
|
+
label: "Matrix Room ID",
|
|
37
|
+
placeholder: "{{matrixBlock.output.matrixRoomId}}",
|
|
38
|
+
value: local.matrixRoomId || "",
|
|
39
|
+
onChange: (event) => update({ matrixRoomId: event.currentTarget.value })
|
|
40
|
+
}
|
|
41
|
+
));
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
SandboxProvisionConfig
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=SandboxProvisionConfig-ZGG4IRHM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { parseSandboxProvisionInputs, serializeSandboxProvisionInputs, type SandboxProvisionInputs } from './types';\n\nexport const SandboxProvisionConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<SandboxProvisionInputs>(() => parseSandboxProvisionInputs(inputs));\n\n useEffect(() => {\n setLocal(parseSandboxProvisionInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<SandboxProvisionInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeSandboxProvisionInputs(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Provision Sandbox\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Provisions a sandbox environment for the oracle entity. Secrets and config are read from the Matrix room. Reference upstream block outputs using the{' '}\n {'{{blockId.output.key}}'} pattern.\n </Text>\n </Stack>\n\n <BaseTextInput\n label=\"Entity DID\"\n placeholder=\"{{entityBlock.output.entityDid}}\"\n value={local.entityDid || ''}\n onChange={(event) => update({ entityDid: event.currentTarget.value })}\n />\n <BaseTextInput\n label=\"Matrix Room ID\"\n placeholder=\"{{matrixBlock.output.matrixRoomId}}\"\n value={local.matrixRoomId || ''}\n onChange={(event) => update({ matrixRoomId: event.currentTarget.value })}\n />\n </Stack>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,gBAAgB;AACxD,SAAS,OAAO,YAAY;AAKrB,IAAM,yBAA0D,CAAC,EAAE,QAAQ,eAAe,MAAM;AACrG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiC,MAAM,4BAA4B,MAAM,CAAC;AAEpG,YAAU,MAAM;AACd,aAAS,4BAA4B,MAAM,CAAC;AAAA,EAC9C,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAA2C;AAC1C,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,gCAAgC,OAAO,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,OAAO,cAAc;AAAA,EACxB;AAEA,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,mBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,wJAC4H,KACpJ,0BAAyB,WAC5B,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,aAAa;AAAA,MAC1B,UAAU,CAAC,UAAU,OAAO,EAAE,WAAW,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACtE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,gBAAgB;AAAA,MAC7B,UAAU,CAAC,UAAU,OAAO,EAAE,cAAc,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACzE,CACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseSandboxProvisionInputs
|
|
3
|
+
} from "./chunk-EKQCZRAN.js";
|
|
4
|
+
import {
|
|
5
|
+
useRunRuntimeReader
|
|
6
|
+
} from "./chunk-FFYZXA75.js";
|
|
7
|
+
import "./chunk-NZ7AXA7B.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveReferences
|
|
10
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
11
|
+
import "./chunk-IIIZZ4E4.js";
|
|
12
|
+
import "./chunk-HT6L7A5M.js";
|
|
13
|
+
import "./chunk-NCSGIRRQ.js";
|
|
14
|
+
import {
|
|
15
|
+
DismissibleAlert
|
|
16
|
+
} from "./chunk-IFWKRCFF.js";
|
|
17
|
+
import {
|
|
18
|
+
actionAlertStyles
|
|
19
|
+
} from "./chunk-6GKJR52N.js";
|
|
20
|
+
import "./chunk-4DGCCXD6.js";
|
|
21
|
+
import "./chunk-7W7UUUIE.js";
|
|
22
|
+
import "./chunk-TS2LNBF2.js";
|
|
23
|
+
|
|
24
|
+
// src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionFlowDetail.tsx
|
|
25
|
+
import React, { useCallback, useMemo } from "react";
|
|
26
|
+
import { Anchor, Button, Group, Loader, Stack, Text } from "@mantine/core";
|
|
27
|
+
import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
|
|
28
|
+
var SandboxProvisionFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
|
|
29
|
+
const parsed = useMemo(() => parseSandboxProvisionInputs(inputs), [inputs]);
|
|
30
|
+
const editorDocument = editor?.document || [];
|
|
31
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
32
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
33
|
+
const resolvedEntityDid = resolveReferences(parsed.entityDid || "", editorDocument, resolveOpts).trim();
|
|
34
|
+
const resolvedMatrixRoomId = resolveReferences(parsed.matrixRoomId || "", editorDocument, resolveOpts).trim();
|
|
35
|
+
const inputsReady = !!(resolvedEntityDid && resolvedMatrixRoomId);
|
|
36
|
+
const sandboxUrl = runtime.output?.sandboxUrl || runtime.output?.url || "";
|
|
37
|
+
const status = runtime.output?.status || "";
|
|
38
|
+
const hasProof = !!status || !!sandboxUrl;
|
|
39
|
+
const isRunning = runtime.state === "running";
|
|
40
|
+
const isCompleted = runtime.state === "completed" && hasProof;
|
|
41
|
+
const isStale = runtime.state === "completed" && !hasProof;
|
|
42
|
+
const isFailed = runtime.state === "failed";
|
|
43
|
+
const errorMessage = runtime.error?.message || null;
|
|
44
|
+
const handleExecute = useCallback(async () => {
|
|
45
|
+
console.log("[sandbox.provision] handleExecute", { "runtime.state": runtime.state, hasProof, inputsReady });
|
|
46
|
+
if (isDisabled || isRunning) return;
|
|
47
|
+
if (!executeAction) {
|
|
48
|
+
updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!inputsReady) {
|
|
52
|
+
console.warn("[sandbox.provision] inputs not ready");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const outcome = await executeAction({
|
|
57
|
+
runtimeInputs: { entityDid: resolvedEntityDid, matrixRoomId: resolvedMatrixRoomId }
|
|
58
|
+
});
|
|
59
|
+
console.log("[sandbox.provision] outcome", outcome);
|
|
60
|
+
if (!outcome.success) throw new Error(outcome.error || "Sandbox provisioning failed");
|
|
61
|
+
const payload = outcome.output;
|
|
62
|
+
if (!payload?.status && !payload?.sandboxUrl) {
|
|
63
|
+
throw new Error("Action returned success without status or sandboxUrl. Check the [oracle:provisionSandbox] handler logs.");
|
|
64
|
+
}
|
|
65
|
+
} catch (err) {
|
|
66
|
+
const message = err instanceof Error ? err.message : "Failed to provision sandbox";
|
|
67
|
+
console.error("[sandbox.provision] failed", { message, err });
|
|
68
|
+
updateRuntime({ state: "failed", error: { message, at: Date.now() } });
|
|
69
|
+
}
|
|
70
|
+
}, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedEntityDid, resolvedMatrixRoomId, runtime.state, updateRuntime]);
|
|
71
|
+
const handleRetry = useCallback(() => {
|
|
72
|
+
updateRuntime({ state: "idle", error: void 0, output: {} });
|
|
73
|
+
}, [updateRuntime]);
|
|
74
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Provision Sandbox"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Provision a sandbox environment for the oracle.")), !isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Waiting for upstream entity DID + matrix room...")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Provisioning sandbox environment...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Sandbox Ready", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Sandbox environment provisioned successfully."), sandboxUrl && /* @__PURE__ */ React.createElement(Anchor, { href: sandboxUrl, target: "_blank", size: "xs" }, sandboxUrl))), 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 status or sandboxUrl 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, disabled: !inputsReady }, "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: !inputsReady || isDisabled }, isCompleted ? "Re-run" : inputsReady ? "Run Now" : "Waiting for inputs...")));
|
|
75
|
+
};
|
|
76
|
+
export {
|
|
77
|
+
SandboxProvisionFlowDetail
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=SandboxProvisionFlowDetail-RUY64INV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useMemo } from 'react';\nimport { Anchor, 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 { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { parseSandboxProvisionInputs } from './types';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const SandboxProvisionFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {\n const parsed = useMemo(() => parseSandboxProvisionInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolvedEntityDid = resolveReferences(parsed.entityDid || '', editorDocument, resolveOpts).trim();\n const resolvedMatrixRoomId = resolveReferences(parsed.matrixRoomId || '', editorDocument, resolveOpts).trim();\n const inputsReady = !!(resolvedEntityDid && resolvedMatrixRoomId);\n\n // Derived from runtime — single source of truth.\n const sandboxUrl: string = runtime.output?.sandboxUrl || runtime.output?.url || '';\n const status: string = runtime.output?.status || '';\n const hasProof = !!status || !!sandboxUrl;\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('[sandbox.provision] handleExecute', { 'runtime.state': runtime.state, hasProof, inputsReady });\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 if (!inputsReady) {\n console.warn('[sandbox.provision] inputs not ready');\n return;\n }\n\n try {\n const outcome = await executeAction({\n runtimeInputs: { entityDid: resolvedEntityDid, matrixRoomId: resolvedMatrixRoomId },\n });\n\n console.log('[sandbox.provision] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Sandbox provisioning failed');\n\n const payload = outcome.output as { sandboxUrl?: string; status?: string } | undefined;\n if (!payload?.status && !payload?.sandboxUrl) {\n throw new Error('Action returned success without status or sandboxUrl. Check the [oracle:provisionSandbox] handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to provision sandbox';\n console.error('[sandbox.provision] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedEntityDid, resolvedMatrixRoomId, 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 || 'Provision Sandbox'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Provision a sandbox environment for the oracle.'}\n </Text>\n </Stack>\n\n {!isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Waiting for upstream entity DID + matrix room...\n </Text>\n </Group>\n )}\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Provisioning sandbox environment...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Sandbox Ready\" color=\"green\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Sandbox environment provisioned successfully.</Text>\n {sandboxUrl && (\n <Anchor href={sandboxUrl} target=\"_blank\" size=\"xs\">\n {sandboxUrl}\n </Anchor>\n )}\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 status or sandboxUrl 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} disabled={!inputsReady}>\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={!inputsReady || isDisabled}>\n {isCompleted ? 'Re-run' : inputsReady ? 'Run Now' : 'Waiting for inputs...'}\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_FUND_AMOUNT,
|
|
3
|
+
granterLabel,
|
|
4
|
+
parseWalletFundInputs,
|
|
5
|
+
serializeWalletFundInputs,
|
|
6
|
+
useSpendGranters,
|
|
7
|
+
useWalletBalances
|
|
8
|
+
} from "./chunk-SB5UCPZH.js";
|
|
9
|
+
import {
|
|
10
|
+
BaseSelect
|
|
11
|
+
} from "./chunk-4NAFQF6V.js";
|
|
12
|
+
import {
|
|
13
|
+
formatTokenAmount
|
|
14
|
+
} from "./chunk-IH4T7V4C.js";
|
|
15
|
+
import {
|
|
16
|
+
BaseTextInput
|
|
17
|
+
} from "./chunk-WO7V6ZNC.js";
|
|
18
|
+
import {
|
|
19
|
+
useBlocknoteHandlers
|
|
20
|
+
} from "./chunk-4DGCCXD6.js";
|
|
21
|
+
import "./chunk-7W7UUUIE.js";
|
|
22
|
+
import "./chunk-TS2LNBF2.js";
|
|
23
|
+
|
|
24
|
+
// src/mantine/blocks/action/actionTypes/walletFund/WalletFundConfig.tsx
|
|
25
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
26
|
+
import { Group, Loader, NumberInput, Stack, Switch, Text } from "@mantine/core";
|
|
27
|
+
var CUSTOM_SOURCE = "__custom__";
|
|
28
|
+
var RUNNER_PICKS = "";
|
|
29
|
+
var WalletFundConfig = ({ inputs, onInputsChange }) => {
|
|
30
|
+
const [local, setLocal] = useState(() => parseWalletFundInputs(inputs));
|
|
31
|
+
const handlers = useBlocknoteHandlers();
|
|
32
|
+
const { granters } = useSpendGranters();
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
setLocal(parseWalletFundInputs(inputs));
|
|
35
|
+
}, [inputs]);
|
|
36
|
+
const update = useCallback(
|
|
37
|
+
(patch) => {
|
|
38
|
+
const updated = { ...local, ...patch };
|
|
39
|
+
setLocal(updated);
|
|
40
|
+
onInputsChange(serializeWalletFundInputs(updated));
|
|
41
|
+
},
|
|
42
|
+
[local, onInputsChange]
|
|
43
|
+
);
|
|
44
|
+
const signedInAddress = useMemo(() => {
|
|
45
|
+
try {
|
|
46
|
+
return handlers?.getCurrentUser?.()?.address || "";
|
|
47
|
+
} catch {
|
|
48
|
+
return "";
|
|
49
|
+
}
|
|
50
|
+
}, [handlers]);
|
|
51
|
+
const isReference = local.fromAddress.includes("{{");
|
|
52
|
+
const balanceAddress = !local.fromAddress || isReference ? signedInAddress : local.fromAddress;
|
|
53
|
+
const { balances, loading: loadingBalances } = useWalletBalances(balanceAddress);
|
|
54
|
+
const [customSource, setCustomSource] = useState(false);
|
|
55
|
+
const sourceValue = useMemo(() => {
|
|
56
|
+
if (!local.fromAddress) return "";
|
|
57
|
+
if (granters.some((g) => g.address === local.fromAddress)) return local.fromAddress;
|
|
58
|
+
return CUSTOM_SOURCE;
|
|
59
|
+
}, [local.fromAddress, granters]);
|
|
60
|
+
const showCustomSource = customSource || sourceValue === CUSTOM_SOURCE;
|
|
61
|
+
const sourceOptions = useMemo(
|
|
62
|
+
() => [
|
|
63
|
+
{ value: "", label: "Signed-in user\u2019s wallet (default)" },
|
|
64
|
+
...granters.map((g) => ({ value: g.address, label: granterLabel(g) })),
|
|
65
|
+
{ value: CUSTOM_SOURCE, label: "A specific wallet\u2026" }
|
|
66
|
+
],
|
|
67
|
+
[granters]
|
|
68
|
+
);
|
|
69
|
+
const selectedToken = useMemo(() => balances.find((b) => b.denom === local.denom), [balances, local.denom]);
|
|
70
|
+
const tokenOptions = useMemo(() => {
|
|
71
|
+
const options = [{ value: RUNNER_PICKS, label: "Chosen when the flow runs (defaults to IXO)" }];
|
|
72
|
+
for (const b of balances) {
|
|
73
|
+
options.push({ value: b.denom, label: `${b.tokenName || b.denom} \xB7 ${b.amount.toLocaleString()} available` });
|
|
74
|
+
}
|
|
75
|
+
if (local.denom && !balances.some((b) => b.denom === local.denom)) {
|
|
76
|
+
options.push({ value: local.denom, label: local.denom });
|
|
77
|
+
}
|
|
78
|
+
return options;
|
|
79
|
+
}, [balances, local.denom]);
|
|
80
|
+
const runnerEntersAmount = !local.amount || local.amount <= 0;
|
|
81
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Send from"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Which wallet the tokens leave. Defaults to the wallet of whoever runs the flow. Another wallet only works if that runner can act on it \u2014 it has granted them a send authorization."), /* @__PURE__ */ React.createElement(
|
|
82
|
+
BaseSelect,
|
|
83
|
+
{
|
|
84
|
+
data: sourceOptions,
|
|
85
|
+
value: sourceValue,
|
|
86
|
+
onChange: (value) => {
|
|
87
|
+
if (value === CUSTOM_SOURCE) {
|
|
88
|
+
setCustomSource(true);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
setCustomSource(false);
|
|
92
|
+
update({ fromAddress: value || "" });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
), showCustomSource && /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "ixo1\u2026 or {{blockId.output.address}}", value: local.fromAddress, onChange: (event) => update({ fromAddress: event.currentTarget.value }) })), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Token"), loadingBalances && /* @__PURE__ */ React.createElement(Loader, { size: 12 })), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, isReference || !local.fromAddress ? "Listing the tokens in your own wallet. Leave it on \u201Cchosen when the flow runs\u201D so the runner picks from whatever the source wallet actually holds." : "The tokens this wallet holds."), /* @__PURE__ */ React.createElement(BaseSelect, { data: tokenOptions, value: local.denom, onChange: (value) => update({ denom: value || "" }), searchable: true })), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Amount"), /* @__PURE__ */ React.createElement(
|
|
96
|
+
Switch,
|
|
97
|
+
{
|
|
98
|
+
label: "Let the person running the flow enter the amount",
|
|
99
|
+
checked: runnerEntersAmount,
|
|
100
|
+
onChange: (event) => update({ amount: event.currentTarget.checked ? 0 : DEFAULT_FUND_AMOUNT })
|
|
101
|
+
}
|
|
102
|
+
), !runnerEntersAmount && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "In the token\u2019s smallest on-chain unit \u2014 ", formatTokenAmount(DEFAULT_FUND_AMOUNT, "uixo", 6, "IXO"), " is ", DEFAULT_FUND_AMOUNT, "."), /* @__PURE__ */ React.createElement(
|
|
103
|
+
NumberInput,
|
|
104
|
+
{
|
|
105
|
+
placeholder: "0",
|
|
106
|
+
value: local.amount,
|
|
107
|
+
onChange: (value) => update({ amount: typeof value === "number" ? value : 0 }),
|
|
108
|
+
min: 0,
|
|
109
|
+
allowDecimal: false,
|
|
110
|
+
suffix: local.denom ? ` ${local.denom}` : void 0
|
|
111
|
+
}
|
|
112
|
+
), selectedToken?.exponent !== void 0 && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "= ", formatTokenAmount(local.amount, selectedToken.denom, selectedToken.exponent, selectedToken.tokenName)))), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Target Address"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "The wallet address to fund. Can be a block reference (e.g. from wallet.generate output)."), /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "ixo1... or {{blockId.output.address}}", value: local.address, onChange: (event) => update({ address: event.currentTarget.value }) })));
|
|
113
|
+
};
|
|
114
|
+
export {
|
|
115
|
+
WalletFundConfig
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=WalletFundConfig-CMM3EP3B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletFund/WalletFundConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, Loader, NumberInput, Stack, Switch, Text } from '@mantine/core';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport { formatTokenAmount } from '@/core/utils/tokenAmount';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { DEFAULT_FUND_AMOUNT, parseWalletFundInputs, serializeWalletFundInputs, type WalletFundInputs } from './types';\nimport { granterLabel, useSpendGranters, useWalletBalances } from './useWalletTokens';\n\n/** Sentinel for \"pin a wallet the picker doesn't list\" — never stored. */\nconst CUSTOM_SOURCE = '__custom__';\n/** Sentinel for \"the runner picks the token\" — stored as an empty denom. */\nconst RUNNER_PICKS = '';\n\nexport const WalletFundConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<WalletFundInputs>(() => parseWalletFundInputs(inputs));\n const handlers = useBlocknoteHandlers();\n const { granters } = useSpendGranters();\n\n useEffect(() => {\n setLocal(parseWalletFundInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<WalletFundInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeWalletFundInputs(updated));\n },\n [local, onInputsChange]\n );\n\n const signedInAddress = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.()?.address || '';\n } catch {\n return '';\n }\n }, [handlers]);\n\n // A `{{ref}}` source resolves only at run time, so the token list is drawn\n // from the signed-in user's wallet in that case — it is the author's own\n // holdings, which is the closest thing to the real list available here.\n const isReference = local.fromAddress.includes('{{');\n const balanceAddress = !local.fromAddress || isReference ? signedInAddress : local.fromAddress;\n const { balances, loading: loadingBalances } = useWalletBalances(balanceAddress);\n\n const [customSource, setCustomSource] = useState(false);\n const sourceValue = useMemo(() => {\n if (!local.fromAddress) return '';\n if (granters.some((g) => g.address === local.fromAddress)) return local.fromAddress;\n return CUSTOM_SOURCE;\n }, [local.fromAddress, granters]);\n const showCustomSource = customSource || sourceValue === CUSTOM_SOURCE;\n\n const sourceOptions = useMemo(\n () => [\n { value: '', label: 'Signed-in user’s wallet (default)' },\n ...granters.map((g) => ({ value: g.address, label: granterLabel(g) })),\n { value: CUSTOM_SOURCE, label: 'A specific wallet…' },\n ],\n [granters]\n );\n\n const selectedToken = useMemo(() => balances.find((b) => b.denom === local.denom), [balances, local.denom]);\n const tokenOptions = useMemo(() => {\n const options = [{ value: RUNNER_PICKS, label: 'Chosen when the flow runs (defaults to IXO)' }];\n for (const b of balances) {\n options.push({ value: b.denom, label: `${b.tokenName || b.denom} · ${b.amount.toLocaleString()} available` });\n }\n // Keep a pinned denom visible even when this wallet no longer holds it —\n // dropping it from the list would silently reset the author's choice.\n if (local.denom && !balances.some((b) => b.denom === local.denom)) {\n options.push({ value: local.denom, label: local.denom });\n }\n return options;\n }, [balances, local.denom]);\n\n const runnerEntersAmount = !local.amount || local.amount <= 0;\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Send from\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Which wallet the tokens leave. Defaults to the wallet of whoever runs the flow. Another wallet only works if that runner can act on it — it has granted them a send\n authorization.\n </Text>\n <BaseSelect\n data={sourceOptions}\n value={sourceValue}\n onChange={(value) => {\n if (value === CUSTOM_SOURCE) {\n setCustomSource(true);\n return;\n }\n setCustomSource(false);\n update({ fromAddress: value || '' });\n }}\n />\n {showCustomSource && (\n <BaseTextInput placeholder=\"ixo1… or {{blockId.output.address}}\" value={local.fromAddress} onChange={(event) => update({ fromAddress: event.currentTarget.value })} />\n )}\n </Stack>\n\n <Stack gap=\"xs\">\n <Group gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Token\n </Text>\n {loadingBalances && <Loader size={12} />}\n </Group>\n <Text size=\"xs\" c=\"dimmed\">\n {isReference || !local.fromAddress\n ? 'Listing the tokens in your own wallet. Leave it on “chosen when the flow runs” so the runner picks from whatever the source wallet actually holds.'\n : 'The tokens this wallet holds.'}\n </Text>\n <BaseSelect data={tokenOptions} value={local.denom} onChange={(value) => update({ denom: value || '' })} searchable />\n </Stack>\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Amount\n </Text>\n <Switch\n label=\"Let the person running the flow enter the amount\"\n checked={runnerEntersAmount}\n onChange={(event) => update({ amount: event.currentTarget.checked ? 0 : DEFAULT_FUND_AMOUNT })}\n />\n {!runnerEntersAmount && (\n <>\n <Text size=\"xs\" c=\"dimmed\">\n In the token’s smallest on-chain unit — {formatTokenAmount(DEFAULT_FUND_AMOUNT, 'uixo', 6, 'IXO')} is {DEFAULT_FUND_AMOUNT}.\n </Text>\n <NumberInput\n placeholder=\"0\"\n value={local.amount}\n onChange={(value) => update({ amount: typeof value === 'number' ? value : 0 })}\n min={0}\n allowDecimal={false}\n suffix={local.denom ? ` ${local.denom}` : undefined}\n />\n {selectedToken?.exponent !== undefined && (\n <Text size=\"xs\" c=\"dimmed\">\n = {formatTokenAmount(local.amount, selectedToken.denom, selectedToken.exponent, selectedToken.tokenName)}\n </Text>\n )}\n </>\n )}\n </Stack>\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Target Address\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n The wallet address to fund. Can be a block reference (e.g. from wallet.generate output).\n </Text>\n <BaseTextInput placeholder=\"ixo1... or {{blockId.output.address}}\" value={local.address} onChange={(event) => update({ address: event.currentTarget.value })} />\n </Stack>\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|