@ixo/openhands-sdk 0.2.0 → 0.4.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/cjs/campaign/campaign.js +3 -2
- package/dist/cjs/campaign/campaign.js.map +1 -1
- package/dist/cjs/campaign/funding.d.ts.map +1 -1
- package/dist/cjs/campaign/funding.js +3 -0
- package/dist/cjs/campaign/funding.js.map +1 -1
- package/dist/cjs/campaign/pool.d.ts.map +1 -1
- package/dist/cjs/campaign/pool.js +2 -1
- package/dist/cjs/campaign/pool.js.map +1 -1
- package/dist/cjs/campaign/spots.d.ts.map +1 -1
- package/dist/cjs/campaign/spots.js +8 -6
- package/dist/cjs/campaign/spots.js.map +1 -1
- package/dist/cjs/chain/ask.d.ts +104 -14
- package/dist/cjs/chain/ask.d.ts.map +1 -1
- package/dist/cjs/chain/ask.js +151 -78
- package/dist/cjs/chain/ask.js.map +1 -1
- package/dist/cjs/chain/askImage.d.ts +19 -0
- package/dist/cjs/chain/askImage.d.ts.map +1 -0
- package/dist/cjs/chain/askImage.js +56 -0
- package/dist/cjs/chain/askImage.js.map +1 -0
- package/dist/cjs/chain/bridge.d.ts +7 -33
- package/dist/cjs/chain/bridge.d.ts.map +1 -1
- package/dist/cjs/chain/bridge.js +10 -25
- package/dist/cjs/chain/bridge.js.map +1 -1
- package/dist/cjs/chain/claimSubmit.d.ts +15 -0
- package/dist/cjs/chain/claimSubmit.d.ts.map +1 -0
- package/dist/cjs/chain/claimSubmit.js +14 -0
- package/dist/cjs/chain/claimSubmit.js.map +1 -0
- package/dist/cjs/chain/delegate.d.ts +52 -7
- package/dist/cjs/chain/delegate.d.ts.map +1 -1
- package/dist/cjs/chain/delegate.js +66 -14
- package/dist/cjs/chain/delegate.js.map +1 -1
- package/dist/cjs/chain/domainIndexer.d.ts +26 -0
- package/dist/cjs/chain/domainIndexer.d.ts.map +1 -0
- package/dist/cjs/chain/domainIndexer.js +51 -0
- package/dist/cjs/chain/domainIndexer.js.map +1 -0
- package/dist/cjs/chain/entityShape.d.ts +233 -0
- package/dist/cjs/chain/entityShape.d.ts.map +1 -0
- package/dist/cjs/chain/entityShape.js +251 -0
- package/dist/cjs/chain/entityShape.js.map +1 -0
- package/dist/cjs/chain/env.d.ts +103 -6
- package/dist/cjs/chain/env.d.ts.map +1 -1
- package/dist/cjs/chain/env.js +188 -14
- package/dist/cjs/chain/env.js.map +1 -1
- package/dist/cjs/chain/guest.d.ts +14 -0
- package/dist/cjs/chain/guest.d.ts.map +1 -1
- package/dist/cjs/chain/guest.js +9 -9
- package/dist/cjs/chain/guest.js.map +1 -1
- package/dist/cjs/chain/money.d.ts +47 -2
- package/dist/cjs/chain/money.d.ts.map +1 -1
- package/dist/cjs/chain/money.js +63 -6
- package/dist/cjs/chain/money.js.map +1 -1
- package/dist/cjs/chain/orgReviewBilling.d.ts +124 -0
- package/dist/cjs/chain/orgReviewBilling.d.ts.map +1 -0
- package/dist/cjs/chain/orgReviewBilling.js +290 -0
- package/dist/cjs/chain/orgReviewBilling.js.map +1 -0
- package/dist/cjs/chain/orgReviewBillingSign.d.ts +63 -0
- package/dist/cjs/chain/orgReviewBillingSign.d.ts.map +1 -0
- package/dist/cjs/chain/orgReviewBillingSign.js +166 -0
- package/dist/cjs/chain/orgReviewBillingSign.js.map +1 -0
- package/dist/cjs/chain/payoutSettings.d.ts +97 -0
- package/dist/cjs/chain/payoutSettings.d.ts.map +1 -0
- package/dist/cjs/chain/payoutSettings.js +123 -0
- package/dist/cjs/chain/payoutSettings.js.map +1 -0
- package/dist/cjs/chain/payoutTerms.d.ts +72 -0
- package/dist/cjs/chain/payoutTerms.d.ts.map +1 -0
- package/dist/cjs/chain/payoutTerms.js +141 -0
- package/dist/cjs/chain/payoutTerms.js.map +1 -0
- package/dist/cjs/chain/query.d.ts +14 -0
- package/dist/cjs/chain/query.d.ts.map +1 -1
- package/dist/cjs/chain/query.js +27 -0
- package/dist/cjs/chain/query.js.map +1 -1
- package/dist/cjs/chain/reviewBilling.d.ts +86 -0
- package/dist/cjs/chain/reviewBilling.d.ts.map +1 -0
- package/dist/cjs/chain/reviewBilling.js +265 -0
- package/dist/cjs/chain/reviewBilling.js.map +1 -0
- package/dist/cjs/chain/store.d.ts +7 -6
- package/dist/cjs/chain/store.d.ts.map +1 -1
- package/dist/cjs/chain/store.js +7 -6
- package/dist/cjs/chain/store.js.map +1 -1
- package/dist/cjs/chain/subscription.d.ts +0 -7
- package/dist/cjs/chain/subscription.d.ts.map +1 -1
- package/dist/cjs/chain/subscription.js +4 -47
- package/dist/cjs/chain/subscription.js.map +1 -1
- package/dist/cjs/chain/takeBack.d.ts +12 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -1
- package/dist/cjs/chain/takeBack.js +24 -10
- package/dist/cjs/chain/takeBack.js.map +1 -1
- package/dist/cjs/chain/why.d.ts +44 -0
- package/dist/cjs/chain/why.d.ts.map +1 -0
- package/dist/cjs/chain/why.js +153 -0
- package/dist/cjs/chain/why.js.map +1 -0
- package/dist/cjs/chain/whyMint.d.ts +8 -0
- package/dist/cjs/chain/whyMint.d.ts.map +1 -0
- package/dist/cjs/chain/whyMint.js +53 -0
- package/dist/cjs/chain/whyMint.js.map +1 -0
- package/dist/cjs/chain.d.ts +8 -4
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +19 -9
- package/dist/cjs/chain.js.map +1 -1
- package/dist/cjs/config.d.ts +37 -5
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +9 -2
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/data/agent.d.ts.map +1 -1
- package/dist/cjs/data/agent.js +5 -4
- package/dist/cjs/data/agent.js.map +1 -1
- package/dist/cjs/data/askEntity.d.ts +40 -0
- package/dist/cjs/data/askEntity.d.ts.map +1 -0
- package/dist/cjs/data/askEntity.js +48 -0
- package/dist/cjs/data/askEntity.js.map +1 -0
- package/dist/cjs/data/askLinks.d.ts +6 -0
- package/dist/cjs/data/askLinks.d.ts.map +1 -0
- package/dist/cjs/data/askLinks.js +21 -0
- package/dist/cjs/data/askLinks.js.map +1 -0
- package/dist/cjs/data/board/assemble.d.ts.map +1 -1
- package/dist/cjs/data/board/assemble.js +15 -2
- package/dist/cjs/data/board/assemble.js.map +1 -1
- package/dist/cjs/data/board/facts.d.ts +11 -0
- package/dist/cjs/data/board/facts.d.ts.map +1 -1
- package/dist/cjs/data/board/facts.js +16 -0
- package/dist/cjs/data/board/facts.js.map +1 -1
- package/dist/cjs/data/board/read.d.ts.map +1 -1
- package/dist/cjs/data/board/read.js +2 -1
- package/dist/cjs/data/board/read.js.map +1 -1
- package/dist/cjs/data/board/types.d.ts +9 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -1
- package/dist/cjs/data/board/types.js.map +1 -1
- package/dist/cjs/data/docs.d.ts +10 -2
- package/dist/cjs/data/docs.d.ts.map +1 -1
- package/dist/cjs/data/docs.js +43 -3
- package/dist/cjs/data/docs.js.map +1 -1
- package/dist/cjs/data/format.js +1 -1
- package/dist/cjs/data/format.js.map +1 -1
- package/dist/cjs/data/install.d.ts +8 -0
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +9 -1
- package/dist/cjs/data/install.js.map +1 -1
- package/dist/cjs/data/oracleInfo.d.ts +6 -1
- package/dist/cjs/data/oracleInfo.d.ts.map +1 -1
- package/dist/cjs/data/oracleInfo.js +22 -3
- package/dist/cjs/data/oracleInfo.js.map +1 -1
- package/dist/cjs/data/oracles.d.ts +62 -5
- package/dist/cjs/data/oracles.d.ts.map +1 -1
- package/dist/cjs/data/oracles.js +90 -11
- package/dist/cjs/data/oracles.js.map +1 -1
- package/dist/cjs/data/orgPayouts.d.ts +87 -0
- package/dist/cjs/data/orgPayouts.d.ts.map +1 -0
- package/dist/cjs/data/orgPayouts.js +183 -0
- package/dist/cjs/data/orgPayouts.js.map +1 -0
- package/dist/cjs/data/plans.d.ts +8 -0
- package/dist/cjs/data/plans.d.ts.map +1 -0
- package/dist/cjs/data/plans.js +12 -0
- package/dist/cjs/data/plans.js.map +1 -0
- package/dist/cjs/data/profiles.d.ts +20 -0
- package/dist/cjs/data/profiles.d.ts.map +1 -1
- package/dist/cjs/data/profiles.js +63 -4
- package/dist/cjs/data/profiles.js.map +1 -1
- package/dist/cjs/data/queue.d.ts.map +1 -1
- package/dist/cjs/data/queue.js +3 -2
- package/dist/cjs/data/queue.js.map +1 -1
- package/dist/cjs/data/receipt.d.ts +7 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -1
- package/dist/cjs/data/receipt.js +25 -6
- package/dist/cjs/data/receipt.js.map +1 -1
- package/dist/cjs/data/resources.d.ts +3 -0
- package/dist/cjs/data/resources.d.ts.map +1 -1
- package/dist/cjs/data/resources.js +4 -1
- package/dist/cjs/data/resources.js.map +1 -1
- package/dist/cjs/data/threads.d.ts +14 -0
- package/dist/cjs/data/threads.d.ts.map +1 -1
- package/dist/cjs/data/threads.js +40 -23
- package/dist/cjs/data/threads.js.map +1 -1
- package/dist/cjs/data/trace.d.ts +8 -0
- package/dist/cjs/data/trace.d.ts.map +1 -1
- package/dist/cjs/data/trace.js +1 -1
- package/dist/cjs/data/trace.js.map +1 -1
- package/dist/cjs/data/traceWords.d.ts +4 -1
- package/dist/cjs/data/traceWords.d.ts.map +1 -1
- package/dist/cjs/data/traceWords.js +8 -2
- package/dist/cjs/data/traceWords.js.map +1 -1
- package/dist/cjs/data/why.d.ts +38 -0
- package/dist/cjs/data/why.d.ts.map +1 -0
- package/dist/cjs/data/why.js +86 -0
- package/dist/cjs/data/why.js.map +1 -0
- package/dist/cjs/data/whyReceipt.d.ts +33 -0
- package/dist/cjs/data/whyReceipt.d.ts.map +1 -0
- package/dist/cjs/data/whyReceipt.js +291 -0
- package/dist/cjs/data/whyReceipt.js.map +1 -0
- package/dist/cjs/geo/exifcarry.d.ts +9 -0
- package/dist/cjs/geo/exifcarry.d.ts.map +1 -1
- package/dist/cjs/geo/exifcarry.js +35 -0
- package/dist/cjs/geo/exifcarry.js.map +1 -1
- package/dist/cjs/geo/geohash.d.ts +25 -0
- package/dist/cjs/geo/geohash.d.ts.map +1 -0
- package/dist/cjs/geo/geohash.js +114 -0
- package/dist/cjs/geo/geohash.js.map +1 -0
- package/dist/cjs/geo/provenance.d.ts +41 -0
- package/dist/cjs/geo/provenance.d.ts.map +1 -0
- package/dist/cjs/geo/provenance.js +134 -0
- package/dist/cjs/geo/provenance.js.map +1 -0
- package/dist/cjs/rubric/bridge.d.ts +98 -2
- package/dist/cjs/rubric/bridge.d.ts.map +1 -1
- package/dist/cjs/rubric/bridge.js +132 -15
- package/dist/cjs/rubric/bridge.js.map +1 -1
- package/dist/cjs/rubric/card.d.ts +28 -14
- package/dist/cjs/rubric/card.d.ts.map +1 -1
- package/dist/cjs/rubric/card.js +28 -7
- package/dist/cjs/rubric/card.js.map +1 -1
- package/dist/cjs/rubric/claimForm.d.ts +116 -0
- package/dist/cjs/rubric/claimForm.d.ts.map +1 -1
- package/dist/cjs/rubric/claimForm.js +12 -1
- package/dist/cjs/rubric/claimForm.js.map +1 -1
- package/dist/cjs/rubric/compose.d.ts +5 -0
- package/dist/cjs/rubric/compose.d.ts.map +1 -1
- package/dist/cjs/rubric/compose.js +9 -3
- package/dist/cjs/rubric/compose.js.map +1 -1
- package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
- package/dist/cjs/rubric/gateMet.js +4 -2
- package/dist/cjs/rubric/gateMet.js.map +1 -1
- package/dist/cjs/rubric/leg.d.ts +2 -2
- package/dist/cjs/rubric/leg.d.ts.map +1 -1
- package/dist/cjs/rubric/leg.js +7 -5
- package/dist/cjs/rubric/leg.js.map +1 -1
- package/dist/cjs/rubric/marketPlan.d.ts +182 -0
- package/dist/cjs/rubric/marketPlan.d.ts.map +1 -0
- package/dist/cjs/rubric/marketPlan.js +419 -0
- package/dist/cjs/rubric/marketPlan.js.map +1 -0
- package/dist/cjs/rubric/observation.d.ts +95 -0
- package/dist/cjs/rubric/observation.d.ts.map +1 -0
- package/dist/cjs/rubric/observation.js +88 -0
- package/dist/cjs/rubric/observation.js.map +1 -0
- package/dist/cjs/rubric/pingLink.d.ts +45 -0
- package/dist/cjs/rubric/pingLink.d.ts.map +1 -0
- package/dist/cjs/rubric/pingLink.js +74 -0
- package/dist/cjs/rubric/pingLink.js.map +1 -0
- package/dist/cjs/rubric/pingMatch.d.ts +73 -0
- package/dist/cjs/rubric/pingMatch.d.ts.map +1 -0
- package/dist/cjs/rubric/pingMatch.js +65 -0
- package/dist/cjs/rubric/pingMatch.js.map +1 -0
- package/dist/cjs/rubric/survey.d.ts +65 -0
- package/dist/cjs/rubric/survey.d.ts.map +1 -0
- package/dist/cjs/rubric/survey.js +101 -0
- package/dist/cjs/rubric/survey.js.map +1 -0
- package/dist/cjs/rubric/terms.d.ts +15 -0
- package/dist/cjs/rubric/terms.d.ts.map +1 -1
- package/dist/cjs/rubric/terms.js +14 -1
- package/dist/cjs/rubric/terms.js.map +1 -1
- package/dist/cjs/rubric.d.ts +1 -1
- package/dist/cjs/rubric.d.ts.map +1 -1
- package/dist/cjs/rubric.js +4 -2
- package/dist/cjs/rubric.js.map +1 -1
- package/dist/esm/campaign/campaign.js +4 -3
- package/dist/esm/campaign/campaign.js.map +1 -1
- package/dist/esm/campaign/funding.d.ts.map +1 -1
- package/dist/esm/campaign/funding.js +3 -0
- package/dist/esm/campaign/funding.js.map +1 -1
- package/dist/esm/campaign/pool.d.ts.map +1 -1
- package/dist/esm/campaign/pool.js +2 -1
- package/dist/esm/campaign/pool.js.map +1 -1
- package/dist/esm/campaign/spots.d.ts.map +1 -1
- package/dist/esm/campaign/spots.js +8 -6
- package/dist/esm/campaign/spots.js.map +1 -1
- package/dist/esm/chain/ask.d.ts +104 -14
- package/dist/esm/chain/ask.d.ts.map +1 -1
- package/dist/esm/chain/ask.js +152 -80
- package/dist/esm/chain/ask.js.map +1 -1
- package/dist/esm/chain/askImage.d.ts +19 -0
- package/dist/esm/chain/askImage.d.ts.map +1 -0
- package/dist/esm/chain/askImage.js +50 -0
- package/dist/esm/chain/askImage.js.map +1 -0
- package/dist/esm/chain/bridge.d.ts +7 -33
- package/dist/esm/chain/bridge.d.ts.map +1 -1
- package/dist/esm/chain/bridge.js +10 -24
- package/dist/esm/chain/bridge.js.map +1 -1
- package/dist/esm/chain/claimSubmit.d.ts +15 -0
- package/dist/esm/chain/claimSubmit.d.ts.map +1 -0
- package/dist/esm/chain/claimSubmit.js +10 -0
- package/dist/esm/chain/claimSubmit.js.map +1 -0
- package/dist/esm/chain/delegate.d.ts +52 -7
- package/dist/esm/chain/delegate.d.ts.map +1 -1
- package/dist/esm/chain/delegate.js +64 -13
- package/dist/esm/chain/delegate.js.map +1 -1
- package/dist/esm/chain/domainIndexer.d.ts +26 -0
- package/dist/esm/chain/domainIndexer.d.ts.map +1 -0
- package/dist/esm/chain/domainIndexer.js +48 -0
- package/dist/esm/chain/domainIndexer.js.map +1 -0
- package/dist/esm/chain/entityShape.d.ts +233 -0
- package/dist/esm/chain/entityShape.d.ts.map +1 -0
- package/dist/esm/chain/entityShape.js +231 -0
- package/dist/esm/chain/entityShape.js.map +1 -0
- package/dist/esm/chain/env.d.ts +103 -6
- package/dist/esm/chain/env.d.ts.map +1 -1
- package/dist/esm/chain/env.js +174 -12
- package/dist/esm/chain/env.js.map +1 -1
- package/dist/esm/chain/guest.d.ts +14 -0
- package/dist/esm/chain/guest.d.ts.map +1 -1
- package/dist/esm/chain/guest.js +7 -8
- package/dist/esm/chain/guest.js.map +1 -1
- package/dist/esm/chain/money.d.ts +47 -2
- package/dist/esm/chain/money.d.ts.map +1 -1
- package/dist/esm/chain/money.js +54 -4
- package/dist/esm/chain/money.js.map +1 -1
- package/dist/esm/chain/orgReviewBilling.d.ts +124 -0
- package/dist/esm/chain/orgReviewBilling.d.ts.map +1 -0
- package/dist/esm/chain/orgReviewBilling.js +241 -0
- package/dist/esm/chain/orgReviewBilling.js.map +1 -0
- package/dist/esm/chain/orgReviewBillingSign.d.ts +63 -0
- package/dist/esm/chain/orgReviewBillingSign.d.ts.map +1 -0
- package/dist/esm/chain/orgReviewBillingSign.js +124 -0
- package/dist/esm/chain/orgReviewBillingSign.js.map +1 -0
- package/dist/esm/chain/payoutSettings.d.ts +97 -0
- package/dist/esm/chain/payoutSettings.d.ts.map +1 -0
- package/dist/esm/chain/payoutSettings.js +111 -0
- package/dist/esm/chain/payoutSettings.js.map +1 -0
- package/dist/esm/chain/payoutTerms.d.ts +72 -0
- package/dist/esm/chain/payoutTerms.d.ts.map +1 -0
- package/dist/esm/chain/payoutTerms.js +127 -0
- package/dist/esm/chain/payoutTerms.js.map +1 -0
- package/dist/esm/chain/query.d.ts +14 -0
- package/dist/esm/chain/query.d.ts.map +1 -1
- package/dist/esm/chain/query.js +25 -0
- package/dist/esm/chain/query.js.map +1 -1
- package/dist/esm/chain/reviewBilling.d.ts +86 -0
- package/dist/esm/chain/reviewBilling.d.ts.map +1 -0
- package/dist/esm/chain/reviewBilling.js +215 -0
- package/dist/esm/chain/reviewBilling.js.map +1 -0
- package/dist/esm/chain/store.d.ts +7 -6
- package/dist/esm/chain/store.d.ts.map +1 -1
- package/dist/esm/chain/store.js +7 -6
- package/dist/esm/chain/store.js.map +1 -1
- package/dist/esm/chain/subscription.d.ts +0 -7
- package/dist/esm/chain/subscription.d.ts.map +1 -1
- package/dist/esm/chain/subscription.js +4 -13
- package/dist/esm/chain/subscription.js.map +1 -1
- package/dist/esm/chain/takeBack.d.ts +12 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -1
- package/dist/esm/chain/takeBack.js +22 -9
- package/dist/esm/chain/takeBack.js.map +1 -1
- package/dist/esm/chain/why.d.ts +44 -0
- package/dist/esm/chain/why.d.ts.map +1 -0
- package/dist/esm/chain/why.js +111 -0
- package/dist/esm/chain/why.js.map +1 -0
- package/dist/esm/chain/whyMint.d.ts +8 -0
- package/dist/esm/chain/whyMint.d.ts.map +1 -0
- package/dist/esm/chain/whyMint.js +17 -0
- package/dist/esm/chain/whyMint.js.map +1 -0
- package/dist/esm/chain.d.ts +8 -4
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +9 -4
- package/dist/esm/chain.js.map +1 -1
- package/dist/esm/config.d.ts +37 -5
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +9 -3
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/data/agent.d.ts.map +1 -1
- package/dist/esm/data/agent.js +5 -4
- package/dist/esm/data/agent.js.map +1 -1
- package/dist/esm/data/askEntity.d.ts +40 -0
- package/dist/esm/data/askEntity.d.ts.map +1 -0
- package/dist/esm/data/askEntity.js +41 -0
- package/dist/esm/data/askEntity.js.map +1 -0
- package/dist/esm/data/askLinks.d.ts +6 -0
- package/dist/esm/data/askLinks.d.ts.map +1 -0
- package/dist/esm/data/askLinks.js +16 -0
- package/dist/esm/data/askLinks.js.map +1 -0
- package/dist/esm/data/board/assemble.d.ts.map +1 -1
- package/dist/esm/data/board/assemble.js +15 -2
- package/dist/esm/data/board/assemble.js.map +1 -1
- package/dist/esm/data/board/facts.d.ts +11 -0
- package/dist/esm/data/board/facts.d.ts.map +1 -1
- package/dist/esm/data/board/facts.js +15 -0
- package/dist/esm/data/board/facts.js.map +1 -1
- package/dist/esm/data/board/read.d.ts.map +1 -1
- package/dist/esm/data/board/read.js +2 -1
- package/dist/esm/data/board/read.js.map +1 -1
- package/dist/esm/data/board/types.d.ts +9 -0
- package/dist/esm/data/board/types.d.ts.map +1 -1
- package/dist/esm/data/board/types.js.map +1 -1
- package/dist/esm/data/docs.d.ts +10 -2
- package/dist/esm/data/docs.d.ts.map +1 -1
- package/dist/esm/data/docs.js +43 -4
- package/dist/esm/data/docs.js.map +1 -1
- package/dist/esm/data/format.js +1 -1
- package/dist/esm/data/format.js.map +1 -1
- package/dist/esm/data/install.d.ts +8 -0
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +8 -0
- package/dist/esm/data/install.js.map +1 -1
- package/dist/esm/data/oracleInfo.d.ts +6 -1
- package/dist/esm/data/oracleInfo.d.ts.map +1 -1
- package/dist/esm/data/oracleInfo.js +22 -3
- package/dist/esm/data/oracleInfo.js.map +1 -1
- package/dist/esm/data/oracles.d.ts +62 -5
- package/dist/esm/data/oracles.d.ts.map +1 -1
- package/dist/esm/data/oracles.js +87 -12
- package/dist/esm/data/oracles.js.map +1 -1
- package/dist/esm/data/orgPayouts.d.ts +87 -0
- package/dist/esm/data/orgPayouts.d.ts.map +1 -0
- package/dist/esm/data/orgPayouts.js +170 -0
- package/dist/esm/data/orgPayouts.js.map +1 -0
- package/dist/esm/data/plans.d.ts +8 -0
- package/dist/esm/data/plans.d.ts.map +1 -0
- package/dist/esm/data/plans.js +8 -0
- package/dist/esm/data/plans.js.map +1 -0
- package/dist/esm/data/profiles.d.ts +20 -0
- package/dist/esm/data/profiles.d.ts.map +1 -1
- package/dist/esm/data/profiles.js +60 -4
- package/dist/esm/data/profiles.js.map +1 -1
- package/dist/esm/data/queue.d.ts.map +1 -1
- package/dist/esm/data/queue.js +3 -2
- package/dist/esm/data/queue.js.map +1 -1
- package/dist/esm/data/receipt.d.ts +7 -0
- package/dist/esm/data/receipt.d.ts.map +1 -1
- package/dist/esm/data/receipt.js +26 -7
- package/dist/esm/data/receipt.js.map +1 -1
- package/dist/esm/data/resources.d.ts +3 -0
- package/dist/esm/data/resources.d.ts.map +1 -1
- package/dist/esm/data/resources.js +2 -0
- package/dist/esm/data/resources.js.map +1 -1
- package/dist/esm/data/threads.d.ts +14 -0
- package/dist/esm/data/threads.d.ts.map +1 -1
- package/dist/esm/data/threads.js +40 -24
- package/dist/esm/data/threads.js.map +1 -1
- package/dist/esm/data/trace.d.ts +8 -0
- package/dist/esm/data/trace.d.ts.map +1 -1
- package/dist/esm/data/trace.js +1 -1
- package/dist/esm/data/trace.js.map +1 -1
- package/dist/esm/data/traceWords.d.ts +4 -1
- package/dist/esm/data/traceWords.d.ts.map +1 -1
- package/dist/esm/data/traceWords.js +8 -2
- package/dist/esm/data/traceWords.js.map +1 -1
- package/dist/esm/data/why.d.ts +38 -0
- package/dist/esm/data/why.d.ts.map +1 -0
- package/dist/esm/data/why.js +78 -0
- package/dist/esm/data/why.js.map +1 -0
- package/dist/esm/data/whyReceipt.d.ts +33 -0
- package/dist/esm/data/whyReceipt.d.ts.map +1 -0
- package/dist/esm/data/whyReceipt.js +284 -0
- package/dist/esm/data/whyReceipt.js.map +1 -0
- package/dist/esm/geo/exifcarry.d.ts +9 -0
- package/dist/esm/geo/exifcarry.d.ts.map +1 -1
- package/dist/esm/geo/exifcarry.js +34 -0
- package/dist/esm/geo/exifcarry.js.map +1 -1
- package/dist/esm/geo/geohash.d.ts +25 -0
- package/dist/esm/geo/geohash.d.ts.map +1 -0
- package/dist/esm/geo/geohash.js +109 -0
- package/dist/esm/geo/geohash.js.map +1 -0
- package/dist/esm/geo/provenance.d.ts +41 -0
- package/dist/esm/geo/provenance.d.ts.map +1 -0
- package/dist/esm/geo/provenance.js +129 -0
- package/dist/esm/geo/provenance.js.map +1 -0
- package/dist/esm/rubric/bridge.d.ts +98 -2
- package/dist/esm/rubric/bridge.d.ts.map +1 -1
- package/dist/esm/rubric/bridge.js +130 -14
- package/dist/esm/rubric/bridge.js.map +1 -1
- package/dist/esm/rubric/card.d.ts +28 -14
- package/dist/esm/rubric/card.d.ts.map +1 -1
- package/dist/esm/rubric/card.js +24 -5
- package/dist/esm/rubric/card.js.map +1 -1
- package/dist/esm/rubric/claimForm.d.ts +116 -0
- package/dist/esm/rubric/claimForm.d.ts.map +1 -1
- package/dist/esm/rubric/claimForm.js +11 -0
- package/dist/esm/rubric/claimForm.js.map +1 -1
- package/dist/esm/rubric/compose.d.ts +5 -0
- package/dist/esm/rubric/compose.d.ts.map +1 -1
- package/dist/esm/rubric/compose.js +7 -2
- package/dist/esm/rubric/compose.js.map +1 -1
- package/dist/esm/rubric/gateMet.d.ts.map +1 -1
- package/dist/esm/rubric/gateMet.js +4 -2
- package/dist/esm/rubric/gateMet.js.map +1 -1
- package/dist/esm/rubric/leg.d.ts +2 -2
- package/dist/esm/rubric/leg.d.ts.map +1 -1
- package/dist/esm/rubric/leg.js +7 -5
- package/dist/esm/rubric/leg.js.map +1 -1
- package/dist/esm/rubric/marketPlan.d.ts +182 -0
- package/dist/esm/rubric/marketPlan.d.ts.map +1 -0
- package/dist/esm/rubric/marketPlan.js +403 -0
- package/dist/esm/rubric/marketPlan.js.map +1 -0
- package/dist/esm/rubric/observation.d.ts +95 -0
- package/dist/esm/rubric/observation.d.ts.map +1 -0
- package/dist/esm/rubric/observation.js +82 -0
- package/dist/esm/rubric/observation.js.map +1 -0
- package/dist/esm/rubric/pingLink.d.ts +45 -0
- package/dist/esm/rubric/pingLink.d.ts.map +1 -0
- package/dist/esm/rubric/pingLink.js +69 -0
- package/dist/esm/rubric/pingLink.js.map +1 -0
- package/dist/esm/rubric/pingMatch.d.ts +73 -0
- package/dist/esm/rubric/pingMatch.d.ts.map +1 -0
- package/dist/esm/rubric/pingMatch.js +60 -0
- package/dist/esm/rubric/pingMatch.js.map +1 -0
- package/dist/esm/rubric/survey.d.ts +65 -0
- package/dist/esm/rubric/survey.d.ts.map +1 -0
- package/dist/esm/rubric/survey.js +94 -0
- package/dist/esm/rubric/survey.js.map +1 -0
- package/dist/esm/rubric/terms.d.ts +15 -0
- package/dist/esm/rubric/terms.d.ts.map +1 -1
- package/dist/esm/rubric/terms.js +14 -2
- package/dist/esm/rubric/terms.js.map +1 -1
- package/dist/esm/rubric.d.ts +1 -1
- package/dist/esm/rubric.d.ts.map +1 -1
- package/dist/esm/rubric.js +1 -1
- package/dist/esm/rubric.js.map +1 -1
- package/package.json +8 -2
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An ask's display image: the deed `#pro` profile's `image`, stored where every
|
|
3
|
+
* ask document goes (the Vault lane, else the gateway). PNG, JPEG or WebP, told by the bytes themselves (never a file name or a server's content-type), and at
|
|
4
|
+
* most ASK_IMAGE_MAX_BYTES. Browser-safe: no Node APIs.
|
|
5
|
+
*/
|
|
6
|
+
export const ASK_IMAGE_MAX_BYTES = 5 * 1024 * 1024;
|
|
7
|
+
const EXT = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp" };
|
|
8
|
+
const ascii = (bytes, from, to) => String.fromCharCode(...bytes.subarray(from, to));
|
|
9
|
+
const megabytes = (n) => `${(n / 1024 / 1024).toFixed(1)} MB`;
|
|
10
|
+
/** The image type the bytes start with, or null for anything else. */
|
|
11
|
+
export function askImageType(bytes) {
|
|
12
|
+
if (bytes.length >= 8 && [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a].every((byte, at) => bytes[at] === byte))
|
|
13
|
+
return "image/png";
|
|
14
|
+
if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff)
|
|
15
|
+
return "image/jpeg";
|
|
16
|
+
if (bytes.length >= 12 && ascii(bytes, 0, 4) === "RIFF" && ascii(bytes, 8, 12) === "WEBP")
|
|
17
|
+
return "image/webp";
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
/** The bytes as an ask image, or a sentence saying why not. */
|
|
21
|
+
export function checkAskImage(bytes) {
|
|
22
|
+
if (bytes.byteLength === 0)
|
|
23
|
+
throw new Error("the image is empty");
|
|
24
|
+
if (bytes.byteLength > ASK_IMAGE_MAX_BYTES)
|
|
25
|
+
throw new Error(`the image is ${megabytes(bytes.byteLength)}; an ask's image is at most ${megabytes(ASK_IMAGE_MAX_BYTES)}`);
|
|
26
|
+
const contentType = askImageType(bytes);
|
|
27
|
+
if (!contentType)
|
|
28
|
+
throw new Error("the image must be a PNG, JPEG or WebP");
|
|
29
|
+
return { bytes, contentType, filename: `openhands-ask-image.${EXT[contentType]}` };
|
|
30
|
+
}
|
|
31
|
+
/** An image given as bytes, a `data:` URL or an https URL (fetched, size-capped), checked. Throws a sentence. */
|
|
32
|
+
export async function askImageFrom(source, fetchImpl = fetch) {
|
|
33
|
+
if (typeof source !== "string")
|
|
34
|
+
return checkAskImage(source);
|
|
35
|
+
const given = source.trim();
|
|
36
|
+
const data = /^data:[^;,]*;base64,(.*)$/s.exec(given);
|
|
37
|
+
if (data)
|
|
38
|
+
return checkAskImage(Uint8Array.from(atob(data[1]), (char) => char.charCodeAt(0)));
|
|
39
|
+
if (!/^https:\/\//i.test(given))
|
|
40
|
+
throw new Error("an ask's image is an https URL, a data: URL or the image's bytes");
|
|
41
|
+
const response = await fetchImpl(given, { signal: AbortSignal.timeout(20_000) }).catch(() => null);
|
|
42
|
+
if (!response?.ok)
|
|
43
|
+
throw new Error(`the image at ${given} could not be fetched${response ? ` (${response.status})` : ""}`);
|
|
44
|
+
const declared = Number(response.headers.get("content-length") ?? 0);
|
|
45
|
+
if (declared > ASK_IMAGE_MAX_BYTES)
|
|
46
|
+
throw new Error(`the image is ${megabytes(declared)}; an ask's image is at most ${megabytes(ASK_IMAGE_MAX_BYTES)}`);
|
|
47
|
+
/* shortcut: a server that lies about content-length is read whole before the cap; stream with a counter if that ever matters. */
|
|
48
|
+
return checkAskImage(new Uint8Array(await response.arrayBuffer()));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=askImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askImage.js","sourceRoot":"","sources":["../../../src/chain/askImage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
import type { EncodeObject } from "@cosmjs/proto-signing";
|
|
2
|
-
import { type PhonePrompt } from "./signWith.ts";
|
|
3
|
-
import type { QiSession } from "./session.ts";
|
|
4
|
-
/** A deed holding money, as the buyer needs to see it. */
|
|
5
|
-
export interface DeedBalance {
|
|
6
|
-
entityDid: string;
|
|
7
|
-
/** The entity account the money actually sits on. */
|
|
8
|
-
adminAccount: string;
|
|
9
|
-
/** Base units, keyed by denom — `upay` is the one people bought. */
|
|
10
|
-
balances: Record<string, string>;
|
|
11
|
-
}
|
|
12
|
-
/** A deed holding money, as `/api/deeds` reports it. */
|
|
13
|
-
export interface DeedSearch {
|
|
14
|
-
deeds: DeedBalance[];
|
|
15
|
-
/** How many of the owner's deeds were examined — all of them. */
|
|
16
|
-
checked: number;
|
|
17
|
-
}
|
|
18
2
|
/**
|
|
19
3
|
* The two messages, built but unsigned, so a caller can show what will happen
|
|
20
4
|
* before anything is asked of a passkey.
|
|
@@ -28,23 +12,13 @@ export declare function bridgeMsgs(args: {
|
|
|
28
12
|
entityDid: string;
|
|
29
13
|
adminAccount: string;
|
|
30
14
|
destination: string;
|
|
15
|
+
} & ({
|
|
31
16
|
denom: string;
|
|
32
17
|
amount: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
* without its exec would leave a live SendAuthorization on the deed, and the
|
|
40
|
-
* person would have authorised something that never happened.
|
|
41
|
-
*/
|
|
42
|
-
export declare function bridgeToKey(session: QiSession, deed: {
|
|
43
|
-
entityDid: string;
|
|
44
|
-
adminAccount: string;
|
|
45
|
-
}, args: {
|
|
46
|
-
destination: string;
|
|
47
|
-
denom: string;
|
|
48
|
-
amount: string;
|
|
49
|
-
}, prompt?: PhonePrompt): Promise<import("./signWith.ts").SignResult>;
|
|
18
|
+
} | {
|
|
19
|
+
coins: {
|
|
20
|
+
denom: string;
|
|
21
|
+
amount: string;
|
|
22
|
+
}[];
|
|
23
|
+
})): EncodeObject[];
|
|
50
24
|
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/chain/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/chain/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwB1D;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,GAAG,YAAY,EAAE,CAuCvN"}
|
package/dist/esm/chain/bridge.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { cosmos, ixo, utils } from "@ixo/impactxclient-sdk";
|
|
2
|
-
import { signWithSession } from "./signWith.js";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
3
|
+
* Moving money off an entity account its owner holds, in one transaction.
|
|
4
|
+
* Used by `ask.ts` to fund an organisation's ask from the org's account.
|
|
5
|
+
* (It once served "Bring it in" for bought PAY; that was removed, IXO-5541.)
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* verified 2026-08-23 against a real top-up, which landed 41 PAY on an entity
|
|
9
|
-
* account rather than the address the buyer expected. That is not a quirk to
|
|
10
|
-
* work around: an entity account is money the entity module holds for you, and
|
|
11
|
-
* it moves only when the entity's owner authorises it. Which is the good
|
|
12
|
-
* property — nobody, including us, can take it.
|
|
7
|
+
* An entity account is money the entity module holds for its owner, and it
|
|
8
|
+
* moves only when the owner authorises it — nobody else, including us, can.
|
|
13
9
|
*
|
|
14
10
|
* So the bridge is two messages the owner signs:
|
|
15
11
|
*
|
|
@@ -18,7 +14,7 @@ import { signWithSession } from "./signWith.js";
|
|
|
18
14
|
*
|
|
19
15
|
* On this chain the owner may be their own grantee, so one signature does
|
|
20
16
|
* both, and the grant expires in an hour whatever happens. Proven end to end on
|
|
21
|
-
* testnet
|
|
17
|
+
* testnet before any of this existed.
|
|
22
18
|
*/
|
|
23
19
|
const SEND_AUTHORIZATION = "/cosmos.bank.v1beta1.SendAuthorization";
|
|
24
20
|
const GRANT_MINUTES = 60;
|
|
@@ -31,6 +27,8 @@ const GRANT_MINUTES = 60;
|
|
|
31
27
|
* broadcast is bounded by the thing the person already agreed to.
|
|
32
28
|
*/
|
|
33
29
|
export function bridgeMsgs(args) {
|
|
30
|
+
/* Several coins (sorted, as `coinsOf` gives them) move under one grant and one send. */
|
|
31
|
+
const coins = "coins" in args ? args.coins : [{ denom: args.denom, amount: args.amount }];
|
|
34
32
|
const expiration = utils.proto.toTimestamp(new Date(Date.now() + GRANT_MINUTES * 60 * 1000));
|
|
35
33
|
return [
|
|
36
34
|
{
|
|
@@ -43,7 +41,7 @@ export function bridgeMsgs(args) {
|
|
|
43
41
|
grant: cosmos.authz.v1beta1.Grant.fromPartial({
|
|
44
42
|
authorization: {
|
|
45
43
|
typeUrl: SEND_AUTHORIZATION,
|
|
46
|
-
value: cosmos.bank.v1beta1.SendAuthorization.encode(cosmos.bank.v1beta1.SendAuthorization.fromPartial({ spendLimit:
|
|
44
|
+
value: cosmos.bank.v1beta1.SendAuthorization.encode(cosmos.bank.v1beta1.SendAuthorization.fromPartial({ spendLimit: coins })).finish()
|
|
47
45
|
},
|
|
48
46
|
expiration
|
|
49
47
|
})
|
|
@@ -56,23 +54,11 @@ export function bridgeMsgs(args) {
|
|
|
56
54
|
msgs: [
|
|
57
55
|
{
|
|
58
56
|
typeUrl: "/cosmos.bank.v1beta1.MsgSend",
|
|
59
|
-
value: cosmos.bank.v1beta1.MsgSend.encode(cosmos.bank.v1beta1.MsgSend.fromPartial({ fromAddress: args.adminAccount, toAddress: args.destination, amount:
|
|
57
|
+
value: cosmos.bank.v1beta1.MsgSend.encode(cosmos.bank.v1beta1.MsgSend.fromPartial({ fromAddress: args.adminAccount, toAddress: args.destination, amount: coins })).finish()
|
|
60
58
|
}
|
|
61
59
|
]
|
|
62
60
|
})
|
|
63
61
|
}
|
|
64
62
|
];
|
|
65
63
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Bring it across. One signature, through the one door — a passkey, a phone, or
|
|
68
|
-
* an auth-hub session key, whichever this account signs with.
|
|
69
|
-
*
|
|
70
|
-
* Both messages ride in a single transaction on purpose: a grant that lands
|
|
71
|
-
* without its exec would leave a live SendAuthorization on the deed, and the
|
|
72
|
-
* person would have authorised something that never happened.
|
|
73
|
-
*/
|
|
74
|
-
export async function bridgeToKey(session, deed, args, prompt) {
|
|
75
|
-
const messages = bridgeMsgs({ owner: session.address, entityDid: deed.entityDid, adminAccount: deed.adminAccount, ...args });
|
|
76
|
-
return signWithSession(session, messages, "Bring PAY into your account", prompt);
|
|
77
|
-
}
|
|
78
64
|
//# sourceMappingURL=bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/chain/bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/chain/bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AACpE,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,IAA4K;IACrM,wFAAwF;IACxF,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAE7F,OAAO;QACL;YACE,OAAO,EAAE,gDAAgD;YACzD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,IAAI,CAAC,SAAS;gBAClB,YAAY,EAAE,IAAI,CAAC,KAAK;gBACxB,IAAI,EAAE,OAAO;gBACb,cAAc,EAAE,IAAI,CAAC,KAAK;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC5C,aAAa,EAAE;wBACb,OAAO,EAAE,kBAAkB;wBAC3B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CACjD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CACzE,CAAC,MAAM,EAAE;qBACX;oBACD,UAAU;iBACX,CAAC;aACH,CAAC;SACH;QACD;YACE,OAAO,EAAE,+BAA+B;YACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,IAAI,EAAE;oBACJ;wBACE,OAAO,EAAE,8BAA8B;wBACvC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACxH,CAAC,MAAM,EAAE;qBACX;iBACF;aACF,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A claim's MsgSubmitClaim, encoded. It never names a coin, on any ask: the
|
|
3
|
+
* chain then pays the collection's own approval leg. A claim carrying a coin
|
|
4
|
+
* would be paid that from the collection's admin account — and on an ask paid
|
|
5
|
+
* off chain (#payoutTerms, an empty approval leg) it would park as
|
|
6
|
+
* admin-unfunded instead of being paid by the company's facilitator.
|
|
7
|
+
*/
|
|
8
|
+
export declare const submitClaimBytes: (args: {
|
|
9
|
+
collectionId: string;
|
|
10
|
+
claimId: string;
|
|
11
|
+
agentDid: string;
|
|
12
|
+
agentAddress: string;
|
|
13
|
+
adminAddress: string;
|
|
14
|
+
}) => Uint8Array;
|
|
15
|
+
//# sourceMappingURL=claimSubmit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimSubmit.d.ts","sourceRoot":"","sources":["../../../src/chain/claimSubmit.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,UACa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ixo } from "@ixo/impactxclient-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* A claim's MsgSubmitClaim, encoded. It never names a coin, on any ask: the
|
|
4
|
+
* chain then pays the collection's own approval leg. A claim carrying a coin
|
|
5
|
+
* would be paid that from the collection's admin account — and on an ask paid
|
|
6
|
+
* off chain (#payoutTerms, an empty approval leg) it would park as
|
|
7
|
+
* admin-unfunded instead of being paid by the company's facilitator.
|
|
8
|
+
*/
|
|
9
|
+
export const submitClaimBytes = (args) => ixo.claims.v1beta1.MsgSubmitClaim.encode(ixo.claims.v1beta1.MsgSubmitClaim.fromPartial({ ...args, useIntent: false, amount: [], cw20Payment: [] })).finish();
|
|
10
|
+
//# sourceMappingURL=claimSubmit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimSubmit.js","sourceRoot":"","sources":["../../../src/chain/claimSubmit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAA6G,EAAc,EAAE,CAC5J,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -29,12 +29,36 @@ import { type PhonePrompt } from "./signWith.ts";
|
|
|
29
29
|
* it is deliberately not here.
|
|
30
30
|
*/
|
|
31
31
|
/** The messages a connected agent may sign as the person. Order is the display order. */
|
|
32
|
-
|
|
32
|
+
/** The four grants that ARE a connection: holding every one of them is what "connected" means. */
|
|
33
|
+
export declare const CORE_DELEGATED_MSGS: readonly ["/ixo.entity.v1beta1.MsgCreateEntity", "/ixo.claims.v1beta1.MsgCreateCollection", "/ixo.entity.v1beta1.MsgGrantEntityAccountAuthz", "/ixo.claims.v1beta1.MsgSubmitClaim"];
|
|
34
|
+
/**
|
|
35
|
+
* The IXO shape edits the deed's IID in tap 2 (its claim link, its card, an
|
|
36
|
+
* org's requestedBy link, a payout-terms resource) — as the person, when an
|
|
37
|
+
* agent posts for one. Granted by every connection (every new ask is the
|
|
38
|
+
* IXO shape), and revoked with it. The chain cannot narrow these to one
|
|
39
|
+
* entity: they let the agent ADD a link or a resource to any IID the person's
|
|
40
|
+
* key authenticates for (never remove one).
|
|
41
|
+
* A connection made without them (before the IXO shape) is still a connection (`delegationsAmong` reads
|
|
42
|
+
* `iidEdits: false`), but the worker refuses to post the IXO shape as that
|
|
43
|
+
* person until they reconnect.
|
|
44
|
+
*/
|
|
45
|
+
export declare const IID_EDIT_MSGS: readonly ["/ixo.iid.v1beta1.MsgAddLinkedEntity", "/ixo.iid.v1beta1.MsgAddLinkedResource"];
|
|
46
|
+
/**
|
|
47
|
+
* Replacing a linked resource (an org's `#payoutSettings`, set by the MCP's
|
|
48
|
+
* set_payout_settings) is delete + add. Granted with the IID edits (IXO shape only) by every
|
|
49
|
+
* connection made since 2026-10-14's settings tool; one made before has the IID edits without it
|
|
50
|
+
* (`Delegation.iidDeletes` false), and the tool asks the person to reconnect.
|
|
51
|
+
*/
|
|
52
|
+
export declare const IID_DELETE_MSGS: readonly ["/ixo.iid.v1beta1.MsgDeleteLinkedResource"];
|
|
53
|
+
/** Everything a connection MAY grant: the core four, then the IID edits and the delete (IXO shape only). Order is the display order. */
|
|
54
|
+
export declare const DELEGATED_MSGS: readonly ["/ixo.entity.v1beta1.MsgCreateEntity", "/ixo.claims.v1beta1.MsgCreateCollection", "/ixo.entity.v1beta1.MsgGrantEntityAccountAuthz", "/ixo.claims.v1beta1.MsgSubmitClaim", "/ixo.iid.v1beta1.MsgAddLinkedEntity", "/ixo.iid.v1beta1.MsgAddLinkedResource", "/ixo.iid.v1beta1.MsgDeleteLinkedResource"];
|
|
33
55
|
/** The one grant the gate reads as "may work as me". */
|
|
34
56
|
export declare const WORKS_AS_ME = "/ixo.claims.v1beta1.MsgSubmitClaim";
|
|
35
57
|
export declare const DEFAULT_DAYS = 30;
|
|
36
58
|
/** Gas the person lends the agent, when they hold the gas coin: enough for a few hundred transactions. */
|
|
37
59
|
export declare const GAS_LOAN_UIXO = "300000";
|
|
60
|
+
/** The gas coin an account must hold for the connect page to lend any (a PAY-only account lends none). */
|
|
61
|
+
export declare const GAS_LEND_MIN_UIXO = 500000;
|
|
38
62
|
export interface ConnectTerms {
|
|
39
63
|
/** The spend cap, in base units of `denom`. */
|
|
40
64
|
capBase: string;
|
|
@@ -47,17 +71,20 @@ export interface ConnectTerms {
|
|
|
47
71
|
/**
|
|
48
72
|
* The connect batch: one transaction the person signs once.
|
|
49
73
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
74
|
+
* The four core grants — six under the IXO shape, which adds the two IID
|
|
75
|
+
* edits tap 2 needs — the spend cap, and, when they hold the gas coin, a gas
|
|
76
|
+
* allowance, all expiring together. Rebuilt from the same expiry so the
|
|
52
77
|
* connection ends at one moment, not in pieces.
|
|
53
78
|
*/
|
|
54
79
|
export declare function connectMsgs(principal: string, agent: string, terms: ConnectTerms): EncodeObject[];
|
|
55
80
|
/**
|
|
56
81
|
* The disconnect batch: every grant the connection made, revoked. `gas` says
|
|
57
|
-
* whether a gas allowance was lent
|
|
58
|
-
*
|
|
82
|
+
* whether a gas allowance was lent and `iidEdits` whether the IID-edit grants
|
|
83
|
+
* were made (a connection from before 2026-10-14 has none) — revoking a grant
|
|
84
|
+
* that was never given fails the whole transaction, so the caller says what
|
|
85
|
+
* it read (`Delegation.iidEdits`).
|
|
59
86
|
*/
|
|
60
|
-
export declare function disconnectMsgs(principal: string, agent: string, gas: boolean): EncodeObject[];
|
|
87
|
+
export declare function disconnectMsgs(principal: string, agent: string, gas: boolean, iidEdits?: boolean | readonly string[]): EncodeObject[];
|
|
61
88
|
/** One authz grant as the REST gateway prints it. */
|
|
62
89
|
export interface GrantRow {
|
|
63
90
|
granter?: string;
|
|
@@ -82,6 +109,10 @@ export interface Delegation {
|
|
|
82
109
|
denom: string;
|
|
83
110
|
remainingBase: string;
|
|
84
111
|
} | null;
|
|
112
|
+
/** Whether the agent may edit the person's IIDs too (`IID_EDIT_MSGS`) — what the IXO shape's tap 2 needs. False on a connection from before 2026-10-14. */
|
|
113
|
+
iidEdits: boolean;
|
|
114
|
+
/** Whether the agent may also delete a linked resource (`IID_DELETE_MSGS`) — what replacing an org's settings needs. */
|
|
115
|
+
iidDeletes: boolean;
|
|
85
116
|
}
|
|
86
117
|
/**
|
|
87
118
|
* The connections among some grant rows, pure: a pair is connected when the
|
|
@@ -138,6 +169,14 @@ export declare function readDelegation(agent: string, fetchImpl?: typeof fetch):
|
|
|
138
169
|
* them.
|
|
139
170
|
*/
|
|
140
171
|
export declare function readDelegationFor(agent: string, expectedPrincipal: string, fetchImpl?: typeof fetch): Promise<Delegation | null>;
|
|
172
|
+
/**
|
|
173
|
+
* Which IID-edit grants from `principal` to `agent` stand on chain —
|
|
174
|
+
* read from the grant rows themselves, not from a full connection, so a
|
|
175
|
+
* disconnect revokes them even when a core grant is already gone. Throws
|
|
176
|
+
* when the node cannot be read: "could not look" must not become "never
|
|
177
|
+
* granted", which would leave them live until they expire.
|
|
178
|
+
*/
|
|
179
|
+
export declare function heldIidEdits(principal: string, agent: string, fetchImpl?: typeof fetch, now?: number): Promise<string[]>;
|
|
141
180
|
/** The agents acting for this person. */
|
|
142
181
|
export declare function delegatesOf(principal: string, fetchImpl?: typeof fetch): Promise<Delegation[]>;
|
|
143
182
|
/** Whether a gas allowance from `principal` to `agent` stands — read before revoking, never assumed. */
|
|
@@ -149,6 +188,12 @@ export declare function gasLent(principal: string, agent: string, fetchImpl?: ty
|
|
|
149
188
|
* never signed anything here gets their IID document on the way in.
|
|
150
189
|
*/
|
|
151
190
|
export declare function connectAgent(session: QiSession, agent: string, terms: ConnectTerms, prompt?: PhonePrompt): Promise<import("./signWith.ts").SignResult>;
|
|
152
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* Disconnect it: every grant revoked — the gas allowance when one was lent,
|
|
193
|
+
* the IID edits when the connection made them. Revoking a grant that was
|
|
194
|
+
* never given fails the whole transaction, so both are read first; and a
|
|
195
|
+
* read of the IID edits that fails stops the disconnect rather than signing
|
|
196
|
+
* one that would leave them live.
|
|
197
|
+
*/
|
|
153
198
|
export declare function disconnectAgent(session: QiSession, agent: string, prompt?: PhonePrompt): Promise<import("./signWith.ts").SignResult>;
|
|
154
199
|
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/chain/delegate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,yFAAyF;AACzF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/chain/delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,12 +32,36 @@ import { signWithSession } from "./signWith.js";
|
|
|
32
32
|
* it is deliberately not here.
|
|
33
33
|
*/
|
|
34
34
|
/** The messages a connected agent may sign as the person. Order is the display order. */
|
|
35
|
-
|
|
35
|
+
/** The four grants that ARE a connection: holding every one of them is what "connected" means. */
|
|
36
|
+
export const CORE_DELEGATED_MSGS = [
|
|
36
37
|
"/ixo.entity.v1beta1.MsgCreateEntity",
|
|
37
38
|
"/ixo.claims.v1beta1.MsgCreateCollection",
|
|
38
39
|
"/ixo.entity.v1beta1.MsgGrantEntityAccountAuthz",
|
|
39
40
|
"/ixo.claims.v1beta1.MsgSubmitClaim"
|
|
40
41
|
];
|
|
42
|
+
/**
|
|
43
|
+
* The IXO shape edits the deed's IID in tap 2 (its claim link, its card, an
|
|
44
|
+
* org's requestedBy link, a payout-terms resource) — as the person, when an
|
|
45
|
+
* agent posts for one. Granted by every connection (every new ask is the
|
|
46
|
+
* IXO shape), and revoked with it. The chain cannot narrow these to one
|
|
47
|
+
* entity: they let the agent ADD a link or a resource to any IID the person's
|
|
48
|
+
* key authenticates for (never remove one).
|
|
49
|
+
* A connection made without them (before the IXO shape) is still a connection (`delegationsAmong` reads
|
|
50
|
+
* `iidEdits: false`), but the worker refuses to post the IXO shape as that
|
|
51
|
+
* person until they reconnect.
|
|
52
|
+
*/
|
|
53
|
+
export const IID_EDIT_MSGS = ["/ixo.iid.v1beta1.MsgAddLinkedEntity", "/ixo.iid.v1beta1.MsgAddLinkedResource"];
|
|
54
|
+
/**
|
|
55
|
+
* Replacing a linked resource (an org's `#payoutSettings`, set by the MCP's
|
|
56
|
+
* set_payout_settings) is delete + add. Granted with the IID edits (IXO shape only) by every
|
|
57
|
+
* connection made since 2026-10-14's settings tool; one made before has the IID edits without it
|
|
58
|
+
* (`Delegation.iidDeletes` false), and the tool asks the person to reconnect.
|
|
59
|
+
*/
|
|
60
|
+
export const IID_DELETE_MSGS = ["/ixo.iid.v1beta1.MsgDeleteLinkedResource"];
|
|
61
|
+
/** Everything a connection MAY grant: the core four, then the IID edits and the delete (IXO shape only). Order is the display order. */
|
|
62
|
+
export const DELEGATED_MSGS = [...CORE_DELEGATED_MSGS, ...IID_EDIT_MSGS, ...IID_DELETE_MSGS];
|
|
63
|
+
/** The IID grants beyond the core four: what a disconnect reads and revokes. */
|
|
64
|
+
const IID_MAY_MSGS = [...IID_EDIT_MSGS, ...IID_DELETE_MSGS];
|
|
41
65
|
/** The one grant the gate reads as "may work as me". */
|
|
42
66
|
export const WORKS_AS_ME = "/ixo.claims.v1beta1.MsgSubmitClaim";
|
|
43
67
|
const GENERIC = "/cosmos.authz.v1beta1.GenericAuthorization";
|
|
@@ -47,12 +71,15 @@ const BASIC_ALLOWANCE = "/cosmos.feegrant.v1beta1.BasicAllowance";
|
|
|
47
71
|
export const DEFAULT_DAYS = 30;
|
|
48
72
|
/** Gas the person lends the agent, when they hold the gas coin: enough for a few hundred transactions. */
|
|
49
73
|
export const GAS_LOAN_UIXO = "300000";
|
|
74
|
+
/** The gas coin an account must hold for the connect page to lend any (a PAY-only account lends none). */
|
|
75
|
+
export const GAS_LEND_MIN_UIXO = 500_000;
|
|
50
76
|
const DAY_MS = 24 * 3600 * 1000;
|
|
51
77
|
/**
|
|
52
78
|
* The connect batch: one transaction the person signs once.
|
|
53
79
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
80
|
+
* The four core grants — six under the IXO shape, which adds the two IID
|
|
81
|
+
* edits tap 2 needs — the spend cap, and, when they hold the gas coin, a gas
|
|
82
|
+
* allowance, all expiring together. Rebuilt from the same expiry so the
|
|
56
83
|
* connection ends at one moment, not in pieces.
|
|
57
84
|
*/
|
|
58
85
|
export function connectMsgs(principal, agent, terms) {
|
|
@@ -83,15 +110,19 @@ export function connectMsgs(principal, agent, terms) {
|
|
|
83
110
|
}
|
|
84
111
|
/**
|
|
85
112
|
* The disconnect batch: every grant the connection made, revoked. `gas` says
|
|
86
|
-
* whether a gas allowance was lent
|
|
87
|
-
*
|
|
113
|
+
* whether a gas allowance was lent and `iidEdits` whether the IID-edit grants
|
|
114
|
+
* were made (a connection from before 2026-10-14 has none) — revoking a grant
|
|
115
|
+
* that was never given fails the whole transaction, so the caller says what
|
|
116
|
+
* it read (`Delegation.iidEdits`).
|
|
88
117
|
*/
|
|
89
|
-
export function disconnectMsgs(principal, agent, gas) {
|
|
118
|
+
export function disconnectMsgs(principal, agent, gas, iidEdits = false) {
|
|
90
119
|
const revoke = (msgTypeUrl) => ({
|
|
91
120
|
typeUrl: "/cosmos.authz.v1beta1.MsgRevoke",
|
|
92
121
|
value: cosmos.authz.v1beta1.MsgRevoke.fromPartial({ granter: principal, grantee: agent, msgTypeUrl })
|
|
93
122
|
});
|
|
94
|
-
|
|
123
|
+
/* Exactly the IID edits (and the delete) that stand: all of them, none, or the ones a read found. */
|
|
124
|
+
const held = iidEdits === true ? IID_MAY_MSGS : iidEdits === false ? [] : IID_MAY_MSGS.filter((msg) => iidEdits.includes(msg));
|
|
125
|
+
const messages = [...CORE_DELEGATED_MSGS.map(revoke), ...held.map(revoke), revoke(MSG_SEND)];
|
|
95
126
|
if (gas)
|
|
96
127
|
messages.push({ typeUrl: "/cosmos.feegrant.v1beta1.MsgRevokeAllowance", value: cosmos.feegrant.v1beta1.MsgRevokeAllowance.fromPartial({ granter: principal, grantee: agent }) });
|
|
97
128
|
return messages;
|
|
@@ -117,17 +148,19 @@ export function delegationsAmong(rows, now = Date.now()) {
|
|
|
117
148
|
for (const grant of live)
|
|
118
149
|
if (grant.authorization?.["@type"] === GENERIC && grant.authorization.msg)
|
|
119
150
|
typed.set(grant.authorization.msg, grant);
|
|
120
|
-
if (!
|
|
151
|
+
if (!CORE_DELEGATED_MSGS.every((msg) => typed.has(msg)))
|
|
121
152
|
continue;
|
|
122
153
|
const [principal, agent] = key.split(" ");
|
|
123
154
|
const send = live.find((grant) => grant.authorization?.["@type"] === SEND);
|
|
124
155
|
const limit = send?.authorization?.spend_limit?.[0];
|
|
125
|
-
const expiries =
|
|
156
|
+
const expiries = CORE_DELEGATED_MSGS.map((msg) => typed.get(msg)?.expiration).filter((one) => Boolean(one));
|
|
126
157
|
out.push({
|
|
127
158
|
principal,
|
|
128
159
|
agent,
|
|
129
160
|
expiresAt: expiries.length ? expiries.sort()[0] : null,
|
|
130
|
-
cap: limit && Number(limit.amount) > 0 ? { denom: limit.denom, remainingBase: limit.amount } : null
|
|
161
|
+
cap: limit && Number(limit.amount) > 0 ? { denom: limit.denom, remainingBase: limit.amount } : null,
|
|
162
|
+
iidEdits: IID_EDIT_MSGS.every((msg) => typed.has(msg)),
|
|
163
|
+
iidDeletes: IID_DELETE_MSGS.every((msg) => typed.has(msg))
|
|
131
164
|
});
|
|
132
165
|
}
|
|
133
166
|
return out;
|
|
@@ -202,6 +235,18 @@ export async function readDelegationFor(agent, expectedPrincipal, fetchImpl = fe
|
|
|
202
235
|
const paired = rows.map((row) => ({ ...row, granter: expectedPrincipal, grantee: agent }));
|
|
203
236
|
return delegationsAmong(paired).find((one) => one.principal === expectedPrincipal && one.agent === agent) ?? null;
|
|
204
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Which IID-edit grants from `principal` to `agent` stand on chain —
|
|
240
|
+
* read from the grant rows themselves, not from a full connection, so a
|
|
241
|
+
* disconnect revokes them even when a core grant is already gone. Throws
|
|
242
|
+
* when the node cannot be read: "could not look" must not become "never
|
|
243
|
+
* granted", which would leave them live until they expire.
|
|
244
|
+
*/
|
|
245
|
+
export async function heldIidEdits(principal, agent, fetchImpl = fetch, now = Date.now()) {
|
|
246
|
+
const rows = await grantRows(`/cosmos/authz/v1beta1/grants?granter=${encodeURIComponent(principal)}&grantee=${encodeURIComponent(agent)}`, fetchImpl);
|
|
247
|
+
const live = new Set(rows.filter((row) => (!row.expiration || Date.parse(row.expiration) > now) && row.authorization?.["@type"] === GENERIC).map((row) => row.authorization?.msg));
|
|
248
|
+
return IID_MAY_MSGS.filter((msg) => live.has(msg));
|
|
249
|
+
}
|
|
205
250
|
/** The agents acting for this person. */
|
|
206
251
|
export async function delegatesOf(principal, fetchImpl = fetch) {
|
|
207
252
|
return delegationsAmong(await grantRows(`/cosmos/authz/v1beta1/grants/granter/${encodeURIComponent(principal)}`, fetchImpl));
|
|
@@ -222,9 +267,15 @@ export async function connectAgent(session, agent, terms, prompt) {
|
|
|
222
267
|
await ensureIidDocument(session, prompt);
|
|
223
268
|
return signWithSession(session, connectMsgs(session.address, agent, terms), "Connect an agent to this account", prompt);
|
|
224
269
|
}
|
|
225
|
-
/**
|
|
270
|
+
/**
|
|
271
|
+
* Disconnect it: every grant revoked — the gas allowance when one was lent,
|
|
272
|
+
* the IID edits when the connection made them. Revoking a grant that was
|
|
273
|
+
* never given fails the whole transaction, so both are read first; and a
|
|
274
|
+
* read of the IID edits that fails stops the disconnect rather than signing
|
|
275
|
+
* one that would leave them live.
|
|
276
|
+
*/
|
|
226
277
|
export async function disconnectAgent(session, agent, prompt) {
|
|
227
|
-
const gas = await gasLent(session.address, agent).catch(() => false);
|
|
228
|
-
return signWithSession(session, disconnectMsgs(session.address, agent, gas), "Disconnect the agent", prompt);
|
|
278
|
+
const [gas, iidEdits] = await Promise.all([gasLent(session.address, agent).catch(() => false), heldIidEdits(session.address, agent)]);
|
|
279
|
+
return signWithSession(session, disconnectMsgs(session.address, agent, gas, iidEdits), "Disconnect the agent", prompt);
|
|
229
280
|
}
|
|
230
281
|
//# sourceMappingURL=delegate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/chain/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAoB,MAAM,eAAe,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,yFAAyF;AACzF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/chain/delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The nudge to the IXO domain indexer (W10 of the alignment plan).
|
|
3
|
+
*
|
|
4
|
+
* The indexer (`ixoworld/domain-indexer`, one per network) is how IXO
|
|
5
|
+
* surfaces find a domain: it polls blocksync for every EntityCreated and
|
|
6
|
+
* EntityUpdated event (`src/blocksync/chain-event-poller.ts`, two-second
|
|
7
|
+
* cadence) and indexes any entity that carries a `#dmn`, so a shaped ask
|
|
8
|
+
* reaches it on its own within moments of tap 2. A nudge buys only the wait:
|
|
9
|
+
* `POST /index {did}` runs the pipeline now, synchronously, and the card is at
|
|
10
|
+
* `GET /domain-cards/<did>` by the time the poster's page lands on the ask.
|
|
11
|
+
* No auth, best effort, never awaited by the flows that call it.
|
|
12
|
+
*
|
|
13
|
+
* Read from its source on 2026-10-13: on a card whose checksum is unchanged
|
|
14
|
+
* the indexer only bumps a timestamp (`EntityIndexer.ts`, "STEP 1.5"), so
|
|
15
|
+
* nothing here refreshes a card that already exists — a verifier setting
|
|
16
|
+
* `entityVerified` is not seen by the indexer until its own cron looks again.
|
|
17
|
+
* The legacy shape has no `#dmn`, so a nudge for a legacy ask indexes nothing
|
|
18
|
+
* and is not sent.
|
|
19
|
+
*/
|
|
20
|
+
export interface NudgeOptions {
|
|
21
|
+
baseUrl?: string;
|
|
22
|
+
fetch?: typeof fetch;
|
|
23
|
+
}
|
|
24
|
+
/** True when the indexer answered 2xx; false on every other outcome, never a throw. */
|
|
25
|
+
export declare function nudgeDomainIndexer(entityDid: string, options?: NudgeOptions): Promise<boolean>;
|
|
26
|
+
//# sourceMappingURL=domainIndexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domainIndexer.d.ts","sourceRoot":"","sources":["../../../src/chain/domainIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,uFAAuF;AACvF,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBxG"}
|