@ixo/openhands-sdk 0.0.0-stage → 0.1.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/LICENSE +201 -0
- package/README.md +246 -2
- package/dist/cjs/board.d.ts +20 -0
- package/dist/cjs/board.d.ts.map +1 -0
- package/dist/cjs/board.js +60 -0
- package/dist/cjs/board.js.map +1 -0
- package/dist/cjs/campaign/badges.d.ts +30 -0
- package/dist/cjs/campaign/badges.d.ts.map +1 -0
- package/dist/cjs/campaign/badges.js +69 -0
- package/dist/cjs/campaign/badges.js.map +1 -0
- package/dist/cjs/campaign/bands.d.ts +161 -0
- package/dist/cjs/campaign/bands.d.ts.map +1 -0
- package/dist/cjs/campaign/bands.js +186 -0
- package/dist/cjs/campaign/bands.js.map +1 -0
- package/dist/cjs/campaign/campaign.d.ts +50 -0
- package/dist/cjs/campaign/campaign.d.ts.map +1 -0
- package/dist/cjs/campaign/campaign.js +183 -0
- package/dist/cjs/campaign/campaign.js.map +1 -0
- package/dist/cjs/campaign/campaigns.d.ts +2 -0
- package/dist/cjs/campaign/campaigns.d.ts.map +1 -0
- package/dist/cjs/campaign/campaigns.js +37 -0
- package/dist/cjs/campaign/campaigns.js.map +1 -0
- package/dist/cjs/campaign/cleanable.d.ts +13 -0
- package/dist/cjs/campaign/cleanable.d.ts.map +1 -0
- package/dist/cjs/campaign/cleanable.js +6 -0
- package/dist/cjs/campaign/cleanable.js.map +1 -0
- package/dist/cjs/campaign/cleanup.d.ts +78 -0
- package/dist/cjs/campaign/cleanup.d.ts.map +1 -0
- package/dist/cjs/campaign/cleanup.js +132 -0
- package/dist/cjs/campaign/cleanup.js.map +1 -0
- package/dist/cjs/campaign/commit.d.ts +39 -0
- package/dist/cjs/campaign/commit.d.ts.map +1 -0
- package/dist/cjs/campaign/commit.js +43 -0
- package/dist/cjs/campaign/commit.js.map +1 -0
- package/dist/cjs/campaign/field.d.ts +50 -0
- package/dist/cjs/campaign/field.d.ts.map +1 -0
- package/dist/cjs/campaign/field.js +94 -0
- package/dist/cjs/campaign/field.js.map +1 -0
- package/dist/cjs/campaign/fold.d.ts +227 -0
- package/dist/cjs/campaign/fold.d.ts.map +1 -0
- package/dist/cjs/campaign/fold.js +459 -0
- package/dist/cjs/campaign/fold.js.map +1 -0
- package/dist/cjs/campaign/funding.d.ts +153 -0
- package/dist/cjs/campaign/funding.d.ts.map +1 -0
- package/dist/cjs/campaign/funding.js +168 -0
- package/dist/cjs/campaign/funding.js.map +1 -0
- package/dist/cjs/campaign/landing.d.ts +20 -0
- package/dist/cjs/campaign/landing.d.ts.map +1 -0
- package/dist/cjs/campaign/landing.js +54 -0
- package/dist/cjs/campaign/landing.js.map +1 -0
- package/dist/cjs/campaign/pledges.d.ts +237 -0
- package/dist/cjs/campaign/pledges.d.ts.map +1 -0
- package/dist/cjs/campaign/pledges.js +235 -0
- package/dist/cjs/campaign/pledges.js.map +1 -0
- package/dist/cjs/campaign/pledgesChain.d.ts +58 -0
- package/dist/cjs/campaign/pledgesChain.d.ts.map +1 -0
- package/dist/cjs/campaign/pledgesChain.js +102 -0
- package/dist/cjs/campaign/pledgesChain.js.map +1 -0
- package/dist/cjs/campaign/pool.d.ts +137 -0
- package/dist/cjs/campaign/pool.d.ts.map +1 -0
- package/dist/cjs/campaign/pool.js +237 -0
- package/dist/cjs/campaign/pool.js.map +1 -0
- package/dist/cjs/campaign/record.d.ts +115 -0
- package/dist/cjs/campaign/record.d.ts.map +1 -0
- package/dist/cjs/campaign/record.js +291 -0
- package/dist/cjs/campaign/record.js.map +1 -0
- package/dist/cjs/campaign/rule.d.ts +311 -0
- package/dist/cjs/campaign/rule.d.ts.map +1 -0
- package/dist/cjs/campaign/rule.js +210 -0
- package/dist/cjs/campaign/rule.js.map +1 -0
- package/dist/cjs/campaign/spot.d.ts +37 -0
- package/dist/cjs/campaign/spot.d.ts.map +1 -0
- package/dist/cjs/campaign/spot.js +170 -0
- package/dist/cjs/campaign/spot.js.map +1 -0
- package/dist/cjs/campaign/spots.d.ts +437 -0
- package/dist/cjs/campaign/spots.d.ts.map +1 -0
- package/dist/cjs/campaign/spots.js +790 -0
- package/dist/cjs/campaign/spots.js.map +1 -0
- package/dist/cjs/campaign/standings.d.ts +236 -0
- package/dist/cjs/campaign/standings.d.ts.map +1 -0
- package/dist/cjs/campaign/standings.js +372 -0
- package/dist/cjs/campaign/standings.js.map +1 -0
- package/dist/cjs/campaign/treasurySends.d.ts +116 -0
- package/dist/cjs/campaign/treasurySends.d.ts.map +1 -0
- package/dist/cjs/campaign/treasurySends.js +198 -0
- package/dist/cjs/campaign/treasurySends.js.map +1 -0
- package/dist/cjs/campaign.d.ts +29 -0
- package/dist/cjs/campaign.d.ts.map +1 -0
- package/dist/cjs/campaign.js +44 -0
- package/dist/cjs/campaign.js.map +1 -0
- package/dist/cjs/chain/account.d.ts +47 -0
- package/dist/cjs/chain/account.d.ts.map +1 -0
- package/dist/cjs/chain/account.js +196 -0
- package/dist/cjs/chain/account.js.map +1 -0
- package/dist/cjs/chain/accountProof.d.ts +135 -0
- package/dist/cjs/chain/accountProof.d.ts.map +1 -0
- package/dist/cjs/chain/accountProof.js +199 -0
- package/dist/cjs/chain/accountProof.js.map +1 -0
- package/dist/cjs/chain/allowance.d.ts +17 -0
- package/dist/cjs/chain/allowance.d.ts.map +1 -0
- package/dist/cjs/chain/allowance.js +81 -0
- package/dist/cjs/chain/allowance.js.map +1 -0
- package/dist/cjs/chain/allowanceRead.d.ts +2 -0
- package/dist/cjs/chain/allowanceRead.d.ts.map +1 -0
- package/dist/cjs/chain/allowanceRead.js +59 -0
- package/dist/cjs/chain/allowanceRead.js.map +1 -0
- package/dist/cjs/chain/ask.d.ts +211 -0
- package/dist/cjs/chain/ask.d.ts.map +1 -0
- package/dist/cjs/chain/ask.js +559 -0
- package/dist/cjs/chain/ask.js.map +1 -0
- package/dist/cjs/chain/bridge.d.ts +50 -0
- package/dist/cjs/chain/bridge.d.ts.map +1 -0
- package/dist/cjs/chain/bridge.js +82 -0
- package/dist/cjs/chain/bridge.js.map +1 -0
- package/dist/cjs/chain/broadcast.d.ts +40 -0
- package/dist/cjs/chain/broadcast.d.ts.map +1 -0
- package/dist/cjs/chain/broadcast.js +189 -0
- package/dist/cjs/chain/broadcast.js.map +1 -0
- package/dist/cjs/chain/delegate.d.ts +154 -0
- package/dist/cjs/chain/delegate.d.ts.map +1 -0
- package/dist/cjs/chain/delegate.js +245 -0
- package/dist/cjs/chain/delegate.js.map +1 -0
- package/dist/cjs/chain/encoding.d.ts +7 -0
- package/dist/cjs/chain/encoding.d.ts.map +1 -0
- package/dist/cjs/chain/encoding.js +29 -0
- package/dist/cjs/chain/encoding.js.map +1 -0
- package/dist/cjs/chain/env.d.ts +50 -0
- package/dist/cjs/chain/env.d.ts.map +1 -0
- package/dist/cjs/chain/env.js +89 -0
- package/dist/cjs/chain/env.js.map +1 -0
- package/dist/cjs/chain/gate.d.ts +12 -0
- package/dist/cjs/chain/gate.d.ts.map +1 -0
- package/dist/cjs/chain/gate.js +55 -0
- package/dist/cjs/chain/gate.js.map +1 -0
- package/dist/cjs/chain/grantPending.d.ts +31 -0
- package/dist/cjs/chain/grantPending.d.ts.map +1 -0
- package/dist/cjs/chain/grantPending.js +56 -0
- package/dist/cjs/chain/grantPending.js.map +1 -0
- package/dist/cjs/chain/guest.d.ts +97 -0
- package/dist/cjs/chain/guest.d.ts.map +1 -0
- package/dist/cjs/chain/guest.js +211 -0
- package/dist/cjs/chain/guest.js.map +1 -0
- package/dist/cjs/chain/iid.d.ts +26 -0
- package/dist/cjs/chain/iid.d.ts.map +1 -0
- package/dist/cjs/chain/iid.js +71 -0
- package/dist/cjs/chain/iid.js.map +1 -0
- package/dist/cjs/chain/money.d.ts +48 -0
- package/dist/cjs/chain/money.d.ts.map +1 -0
- package/dist/cjs/chain/money.js +72 -0
- package/dist/cjs/chain/money.js.map +1 -0
- package/dist/cjs/chain/oracle.d.ts +24 -0
- package/dist/cjs/chain/oracle.d.ts.map +1 -0
- package/dist/cjs/chain/oracle.js +46 -0
- package/dist/cjs/chain/oracle.js.map +1 -0
- package/dist/cjs/chain/pendingTransact.d.ts +31 -0
- package/dist/cjs/chain/pendingTransact.d.ts.map +1 -0
- package/dist/cjs/chain/pendingTransact.js +64 -0
- package/dist/cjs/chain/pendingTransact.js.map +1 -0
- package/dist/cjs/chain/query.d.ts +75 -0
- package/dist/cjs/chain/query.d.ts.map +1 -0
- package/dist/cjs/chain/query.js +171 -0
- package/dist/cjs/chain/query.js.map +1 -0
- package/dist/cjs/chain/send.d.ts +42 -0
- package/dist/cjs/chain/send.d.ts.map +1 -0
- package/dist/cjs/chain/send.js +54 -0
- package/dist/cjs/chain/send.js.map +1 -0
- package/dist/cjs/chain/session.d.ts +109 -0
- package/dist/cjs/chain/session.d.ts.map +1 -0
- package/dist/cjs/chain/session.js +145 -0
- package/dist/cjs/chain/session.js.map +1 -0
- package/dist/cjs/chain/signWith.d.ts +69 -0
- package/dist/cjs/chain/signWith.d.ts.map +1 -0
- package/dist/cjs/chain/signWith.js +277 -0
- package/dist/cjs/chain/signWith.js.map +1 -0
- package/dist/cjs/chain/signer.d.ts +38 -0
- package/dist/cjs/chain/signer.d.ts.map +1 -0
- package/dist/cjs/chain/signer.js +78 -0
- package/dist/cjs/chain/signer.js.map +1 -0
- package/dist/cjs/chain/signx.d.ts +233 -0
- package/dist/cjs/chain/signx.d.ts.map +1 -0
- package/dist/cjs/chain/signx.js +490 -0
- package/dist/cjs/chain/signx.js.map +1 -0
- package/dist/cjs/chain/sponsor.d.ts +2 -0
- package/dist/cjs/chain/sponsor.d.ts.map +1 -0
- package/dist/cjs/chain/sponsor.js +76 -0
- package/dist/cjs/chain/sponsor.js.map +1 -0
- package/dist/cjs/chain/store.d.ts +115 -0
- package/dist/cjs/chain/store.d.ts.map +1 -0
- package/dist/cjs/chain/store.js +212 -0
- package/dist/cjs/chain/store.js.map +1 -0
- package/dist/cjs/chain/subscription.d.ts +73 -0
- package/dist/cjs/chain/subscription.d.ts.map +1 -0
- package/dist/cjs/chain/subscription.js +248 -0
- package/dist/cjs/chain/subscription.js.map +1 -0
- package/dist/cjs/chain/takeBack.d.ts +114 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -0
- package/dist/cjs/chain/takeBack.js +190 -0
- package/dist/cjs/chain/takeBack.js.map +1 -0
- package/dist/cjs/chain/union.d.ts +125 -0
- package/dist/cjs/chain/union.d.ts.map +1 -0
- package/dist/cjs/chain/union.js +338 -0
- package/dist/cjs/chain/union.js.map +1 -0
- package/dist/cjs/chain/webauthn.d.ts +22 -0
- package/dist/cjs/chain/webauthn.d.ts.map +1 -0
- package/dist/cjs/chain/webauthn.js +70 -0
- package/dist/cjs/chain/webauthn.js.map +1 -0
- package/dist/cjs/chain.d.ts +35 -0
- package/dist/cjs/chain.d.ts.map +1 -0
- package/dist/cjs/chain.js +119 -0
- package/dist/cjs/chain.js.map +1 -0
- package/dist/cjs/config.d.ts +120 -0
- package/dist/cjs/config.d.ts.map +1 -0
- package/dist/cjs/config.js +128 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/data/accept.d.ts +69 -0
- package/dist/cjs/data/accept.d.ts.map +1 -0
- package/dist/cjs/data/accept.js +192 -0
- package/dist/cjs/data/accept.js.map +1 -0
- package/dist/cjs/data/agent.d.ts +87 -0
- package/dist/cjs/data/agent.d.ts.map +1 -0
- package/dist/cjs/data/agent.js +112 -0
- package/dist/cjs/data/agent.js.map +1 -0
- package/dist/cjs/data/askFilter.d.ts +45 -0
- package/dist/cjs/data/askFilter.d.ts.map +1 -0
- package/dist/cjs/data/askFilter.js +53 -0
- package/dist/cjs/data/askFilter.js.map +1 -0
- package/dist/cjs/data/authenticators.d.ts +35 -0
- package/dist/cjs/data/authenticators.d.ts.map +1 -0
- package/dist/cjs/data/authenticators.js +76 -0
- package/dist/cjs/data/authenticators.js.map +1 -0
- package/dist/cjs/data/balance.d.ts +39 -0
- package/dist/cjs/data/balance.d.ts.map +1 -0
- package/dist/cjs/data/balance.js +119 -0
- package/dist/cjs/data/balance.js.map +1 -0
- package/dist/cjs/data/board/assemble.d.ts +140 -0
- package/dist/cjs/data/board/assemble.d.ts.map +1 -0
- package/dist/cjs/data/board/assemble.js +556 -0
- package/dist/cjs/data/board/assemble.js.map +1 -0
- package/dist/cjs/data/board/coverage.d.ts +112 -0
- package/dist/cjs/data/board/coverage.d.ts.map +1 -0
- package/dist/cjs/data/board/coverage.js +192 -0
- package/dist/cjs/data/board/coverage.js.map +1 -0
- package/dist/cjs/data/board/facts.d.ts +63 -0
- package/dist/cjs/data/board/facts.d.ts.map +1 -0
- package/dist/cjs/data/board/facts.js +137 -0
- package/dist/cjs/data/board/facts.js.map +1 -0
- package/dist/cjs/data/board/fixtures.d.ts +21 -0
- package/dist/cjs/data/board/fixtures.d.ts.map +1 -0
- package/dist/cjs/data/board/fixtures.js +46 -0
- package/dist/cjs/data/board/fixtures.js.map +1 -0
- package/dist/cjs/data/board/query.d.ts +12 -0
- package/dist/cjs/data/board/query.d.ts.map +1 -0
- package/dist/cjs/data/board/query.js +82 -0
- package/dist/cjs/data/board/query.js.map +1 -0
- package/dist/cjs/data/board/rank.d.ts +22 -0
- package/dist/cjs/data/board/rank.d.ts.map +1 -0
- package/dist/cjs/data/board/rank.js +51 -0
- package/dist/cjs/data/board/rank.js.map +1 -0
- package/dist/cjs/data/board/read.d.ts +102 -0
- package/dist/cjs/data/board/read.d.ts.map +1 -0
- package/dist/cjs/data/board/read.js +211 -0
- package/dist/cjs/data/board/read.js.map +1 -0
- package/dist/cjs/data/board/series.d.ts +50 -0
- package/dist/cjs/data/board/series.d.ts.map +1 -0
- package/dist/cjs/data/board/series.js +161 -0
- package/dist/cjs/data/board/series.js.map +1 -0
- package/dist/cjs/data/board/trust.d.ts +31 -0
- package/dist/cjs/data/board/trust.d.ts.map +1 -0
- package/dist/cjs/data/board/trust.js +53 -0
- package/dist/cjs/data/board/trust.js.map +1 -0
- package/dist/cjs/data/board/types.d.ts +338 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -0
- package/dist/cjs/data/board/types.js +88 -0
- package/dist/cjs/data/board/types.js.map +1 -0
- package/dist/cjs/data/board/url.d.ts +22 -0
- package/dist/cjs/data/board/url.d.ts.map +1 -0
- package/dist/cjs/data/board/url.js +70 -0
- package/dist/cjs/data/board/url.js.map +1 -0
- package/dist/cjs/data/board/words.d.ts +25 -0
- package/dist/cjs/data/board/words.d.ts.map +1 -0
- package/dist/cjs/data/board/words.js +60 -0
- package/dist/cjs/data/board/words.js.map +1 -0
- package/dist/cjs/data/cid.d.ts +49 -0
- package/dist/cjs/data/cid.d.ts.map +1 -0
- package/dist/cjs/data/cid.js +91 -0
- package/dist/cjs/data/cid.js.map +1 -0
- package/dist/cjs/data/concurrency.d.ts +14 -0
- package/dist/cjs/data/concurrency.d.ts.map +1 -0
- package/dist/cjs/data/concurrency.js +32 -0
- package/dist/cjs/data/concurrency.js.map +1 -0
- package/dist/cjs/data/credentials.d.ts +28 -0
- package/dist/cjs/data/credentials.d.ts.map +1 -0
- package/dist/cjs/data/credentials.js +81 -0
- package/dist/cjs/data/credentials.js.map +1 -0
- package/dist/cjs/data/denoms.d.ts +11 -0
- package/dist/cjs/data/denoms.d.ts.map +1 -0
- package/dist/cjs/data/denoms.js +106 -0
- package/dist/cjs/data/denoms.js.map +1 -0
- package/dist/cjs/data/displayNames.d.ts +58 -0
- package/dist/cjs/data/displayNames.d.ts.map +1 -0
- package/dist/cjs/data/displayNames.js +99 -0
- package/dist/cjs/data/displayNames.js.map +1 -0
- package/dist/cjs/data/docPath.d.ts +28 -0
- package/dist/cjs/data/docPath.d.ts.map +1 -0
- package/dist/cjs/data/docPath.js +44 -0
- package/dist/cjs/data/docPath.js.map +1 -0
- package/dist/cjs/data/docUrls.d.ts +38 -0
- package/dist/cjs/data/docUrls.d.ts.map +1 -0
- package/dist/cjs/data/docUrls.js +70 -0
- package/dist/cjs/data/docUrls.js.map +1 -0
- package/dist/cjs/data/docs.d.ts +61 -0
- package/dist/cjs/data/docs.d.ts.map +1 -0
- package/dist/cjs/data/docs.js +199 -0
- package/dist/cjs/data/docs.js.map +1 -0
- package/dist/cjs/data/engine.d.ts +193 -0
- package/dist/cjs/data/engine.d.ts.map +1 -0
- package/dist/cjs/data/engine.js +411 -0
- package/dist/cjs/data/engine.js.map +1 -0
- package/dist/cjs/data/engineUrl.d.ts +19 -0
- package/dist/cjs/data/engineUrl.d.ts.map +1 -0
- package/dist/cjs/data/engineUrl.js +30 -0
- package/dist/cjs/data/engineUrl.js.map +1 -0
- package/dist/cjs/data/envelope.d.ts +69 -0
- package/dist/cjs/data/envelope.d.ts.map +1 -0
- package/dist/cjs/data/envelope.js +77 -0
- package/dist/cjs/data/envelope.js.map +1 -0
- package/dist/cjs/data/format.d.ts +122 -0
- package/dist/cjs/data/format.d.ts.map +1 -0
- package/dist/cjs/data/format.js +272 -0
- package/dist/cjs/data/format.js.map +1 -0
- package/dist/cjs/data/gql.d.ts +56 -0
- package/dist/cjs/data/gql.d.ts.map +1 -0
- package/dist/cjs/data/gql.js +109 -0
- package/dist/cjs/data/gql.js.map +1 -0
- package/dist/cjs/data/granters.d.ts +15 -0
- package/dist/cjs/data/granters.d.ts.map +1 -0
- package/dist/cjs/data/granters.js +76 -0
- package/dist/cjs/data/granters.js.map +1 -0
- package/dist/cjs/data/index.d.ts +18 -0
- package/dist/cjs/data/index.d.ts.map +1 -0
- package/dist/cjs/data/index.js +88 -0
- package/dist/cjs/data/index.js.map +1 -0
- package/dist/cjs/data/install.d.ts +95 -0
- package/dist/cjs/data/install.d.ts.map +1 -0
- package/dist/cjs/data/install.js +123 -0
- package/dist/cjs/data/install.js.map +1 -0
- package/dist/cjs/data/issueMessage.d.ts +20 -0
- package/dist/cjs/data/issueMessage.d.ts.map +1 -0
- package/dist/cjs/data/issueMessage.js +20 -0
- package/dist/cjs/data/issueMessage.js.map +1 -0
- package/dist/cjs/data/linked.d.ts +54 -0
- package/dist/cjs/data/linked.d.ts.map +1 -0
- package/dist/cjs/data/linked.js +142 -0
- package/dist/cjs/data/linked.js.map +1 -0
- package/dist/cjs/data/network.d.ts +21 -0
- package/dist/cjs/data/network.d.ts.map +1 -0
- package/dist/cjs/data/network.js +28 -0
- package/dist/cjs/data/network.js.map +1 -0
- package/dist/cjs/data/openness.d.ts +93 -0
- package/dist/cjs/data/openness.d.ts.map +1 -0
- package/dist/cjs/data/openness.js +145 -0
- package/dist/cjs/data/openness.js.map +1 -0
- package/dist/cjs/data/oracleInfo.d.ts +20 -0
- package/dist/cjs/data/oracleInfo.d.ts.map +1 -0
- package/dist/cjs/data/oracleInfo.js +38 -0
- package/dist/cjs/data/oracleInfo.js.map +1 -0
- package/dist/cjs/data/oracles.d.ts +44 -0
- package/dist/cjs/data/oracles.d.ts.map +1 -0
- package/dist/cjs/data/oracles.js +115 -0
- package/dist/cjs/data/oracles.js.map +1 -0
- package/dist/cjs/data/outbound.d.ts +50 -0
- package/dist/cjs/data/outbound.d.ts.map +1 -0
- package/dist/cjs/data/outbound.js +102 -0
- package/dist/cjs/data/outbound.js.map +1 -0
- package/dist/cjs/data/paged.d.ts +48 -0
- package/dist/cjs/data/paged.d.ts.map +1 -0
- package/dist/cjs/data/paged.js +81 -0
- package/dist/cjs/data/paged.js.map +1 -0
- package/dist/cjs/data/profiles.d.ts +3 -0
- package/dist/cjs/data/profiles.d.ts.map +1 -0
- package/dist/cjs/data/profiles.js +71 -0
- package/dist/cjs/data/profiles.js.map +1 -0
- package/dist/cjs/data/proof.d.ts +93 -0
- package/dist/cjs/data/proof.d.ts.map +1 -0
- package/dist/cjs/data/proof.js +166 -0
- package/dist/cjs/data/proof.js.map +1 -0
- package/dist/cjs/data/queue.d.ts +49 -0
- package/dist/cjs/data/queue.d.ts.map +1 -0
- package/dist/cjs/data/queue.js +118 -0
- package/dist/cjs/data/queue.js.map +1 -0
- package/dist/cjs/data/rates.d.ts +143 -0
- package/dist/cjs/data/rates.d.ts.map +1 -0
- package/dist/cjs/data/rates.js +265 -0
- package/dist/cjs/data/rates.js.map +1 -0
- package/dist/cjs/data/receipt.d.ts +207 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -0
- package/dist/cjs/data/receipt.js +320 -0
- package/dist/cjs/data/receipt.js.map +1 -0
- package/dist/cjs/data/resources.d.ts +30 -0
- package/dist/cjs/data/resources.d.ts.map +1 -0
- package/dist/cjs/data/resources.js +29 -0
- package/dist/cjs/data/resources.js.map +1 -0
- package/dist/cjs/data/sametask.d.ts +35 -0
- package/dist/cjs/data/sametask.d.ts.map +1 -0
- package/dist/cjs/data/sametask.js +45 -0
- package/dist/cjs/data/sametask.js.map +1 -0
- package/dist/cjs/data/shortName.d.ts +52 -0
- package/dist/cjs/data/shortName.d.ts.map +1 -0
- package/dist/cjs/data/shortName.js +122 -0
- package/dist/cjs/data/shortName.js.map +1 -0
- package/dist/cjs/data/threads.d.ts +97 -0
- package/dist/cjs/data/threads.d.ts.map +1 -0
- package/dist/cjs/data/threads.js +214 -0
- package/dist/cjs/data/threads.js.map +1 -0
- package/dist/cjs/data/trace.d.ts +133 -0
- package/dist/cjs/data/trace.d.ts.map +1 -0
- package/dist/cjs/data/trace.js +125 -0
- package/dist/cjs/data/trace.js.map +1 -0
- package/dist/cjs/data/traceWords.d.ts +54 -0
- package/dist/cjs/data/traceWords.d.ts.map +1 -0
- package/dist/cjs/data/traceWords.js +192 -0
- package/dist/cjs/data/traceWords.js.map +1 -0
- package/dist/cjs/data/types.d.ts +50 -0
- package/dist/cjs/data/types.d.ts.map +1 -0
- package/dist/cjs/data/types.js +9 -0
- package/dist/cjs/data/types.js.map +1 -0
- package/dist/cjs/data/verdict.d.ts +37 -0
- package/dist/cjs/data/verdict.d.ts.map +1 -0
- package/dist/cjs/data/verdict.js +57 -0
- package/dist/cjs/data/verdict.js.map +1 -0
- package/dist/cjs/data/work.d.ts +46 -0
- package/dist/cjs/data/work.d.ts.map +1 -0
- package/dist/cjs/data/work.js +105 -0
- package/dist/cjs/data/work.js.map +1 -0
- package/dist/cjs/envRead.d.ts +15 -0
- package/dist/cjs/envRead.d.ts.map +1 -0
- package/dist/cjs/envRead.js +26 -0
- package/dist/cjs/envRead.js.map +1 -0
- package/dist/cjs/geo/box.d.ts +64 -0
- package/dist/cjs/geo/box.d.ts.map +1 -0
- package/dist/cjs/geo/box.js +97 -0
- package/dist/cjs/geo/box.js.map +1 -0
- package/dist/cjs/geo/exif.d.ts +20 -0
- package/dist/cjs/geo/exif.d.ts.map +1 -0
- package/dist/cjs/geo/exif.js +220 -0
- package/dist/cjs/geo/exif.js.map +1 -0
- package/dist/cjs/geo/exifcarry.d.ts +31 -0
- package/dist/cjs/geo/exifcarry.d.ts.map +1 -0
- package/dist/cjs/geo/exifcarry.js +81 -0
- package/dist/cjs/geo/exifcarry.js.map +1 -0
- package/dist/cjs/geo/exifnote.d.ts +86 -0
- package/dist/cjs/geo/exifnote.d.ts.map +1 -0
- package/dist/cjs/geo/exifnote.js +253 -0
- package/dist/cjs/geo/exifnote.js.map +1 -0
- package/dist/cjs/geo/mentions.d.ts +44 -0
- package/dist/cjs/geo/mentions.d.ts.map +1 -0
- package/dist/cjs/geo/mentions.js +199 -0
- package/dist/cjs/geo/mentions.js.map +1 -0
- package/dist/cjs/geo/osm.d.ts +112 -0
- package/dist/cjs/geo/osm.d.ts.map +1 -0
- package/dist/cjs/geo/osm.js +178 -0
- package/dist/cjs/geo/osm.js.map +1 -0
- package/dist/cjs/geo/place.d.ts +51 -0
- package/dist/cjs/geo/place.d.ts.map +1 -0
- package/dist/cjs/geo/place.js +106 -0
- package/dist/cjs/geo/place.js.map +1 -0
- package/dist/cjs/geo/search.d.ts +41 -0
- package/dist/cjs/geo/search.d.ts.map +1 -0
- package/dist/cjs/geo/search.js +187 -0
- package/dist/cjs/geo/search.js.map +1 -0
- package/dist/cjs/geo/sun.d.ts +39 -0
- package/dist/cjs/geo/sun.d.ts.map +1 -0
- package/dist/cjs/geo/sun.js +55 -0
- package/dist/cjs/geo/sun.js.map +1 -0
- package/dist/cjs/geo/tiles.d.ts +89 -0
- package/dist/cjs/geo/tiles.d.ts.map +1 -0
- package/dist/cjs/geo/tiles.js +146 -0
- package/dist/cjs/geo/tiles.js.map +1 -0
- package/dist/cjs/geo.d.ts +20 -0
- package/dist/cjs/geo.d.ts.map +1 -0
- package/dist/cjs/geo.js +35 -0
- package/dist/cjs/geo.js.map +1 -0
- package/dist/cjs/given.d.ts +15 -0
- package/dist/cjs/given.d.ts.map +1 -0
- package/dist/cjs/given.js +25 -0
- package/dist/cjs/given.js.map +1 -0
- package/dist/cjs/network.d.ts +23 -0
- package/dist/cjs/network.d.ts.map +1 -0
- package/dist/cjs/network.js +56 -0
- package/dist/cjs/network.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/protocol.d.ts +40 -0
- package/dist/cjs/protocol.d.ts.map +1 -0
- package/dist/cjs/protocol.js +54 -0
- package/dist/cjs/protocol.js.map +1 -0
- package/dist/cjs/rubric/bridge.d.ts +428 -0
- package/dist/cjs/rubric/bridge.d.ts.map +1 -0
- package/dist/cjs/rubric/bridge.js +917 -0
- package/dist/cjs/rubric/bridge.js.map +1 -0
- package/dist/cjs/rubric/call.d.ts +73 -0
- package/dist/cjs/rubric/call.d.ts.map +1 -0
- package/dist/cjs/rubric/call.js +132 -0
- package/dist/cjs/rubric/call.js.map +1 -0
- package/dist/cjs/rubric/card.d.ts +74 -0
- package/dist/cjs/rubric/card.d.ts.map +1 -0
- package/dist/cjs/rubric/card.js +45 -0
- package/dist/cjs/rubric/card.js.map +1 -0
- package/dist/cjs/rubric/chain.d.ts +44 -0
- package/dist/cjs/rubric/chain.d.ts.map +1 -0
- package/dist/cjs/rubric/chain.js +52 -0
- package/dist/cjs/rubric/chain.js.map +1 -0
- package/dist/cjs/rubric/claimForm.d.ts +142 -0
- package/dist/cjs/rubric/claimForm.d.ts.map +1 -0
- package/dist/cjs/rubric/claimForm.js +112 -0
- package/dist/cjs/rubric/claimForm.js.map +1 -0
- package/dist/cjs/rubric/claimFormResource.d.ts +34 -0
- package/dist/cjs/rubric/claimFormResource.d.ts.map +1 -0
- package/dist/cjs/rubric/claimFormResource.js +38 -0
- package/dist/cjs/rubric/claimFormResource.js.map +1 -0
- package/dist/cjs/rubric/compose.d.ts +99 -0
- package/dist/cjs/rubric/compose.d.ts.map +1 -0
- package/dist/cjs/rubric/compose.js +229 -0
- package/dist/cjs/rubric/compose.js.map +1 -0
- package/dist/cjs/rubric/confidence.d.ts +81 -0
- package/dist/cjs/rubric/confidence.d.ts.map +1 -0
- package/dist/cjs/rubric/confidence.js +87 -0
- package/dist/cjs/rubric/confidence.js.map +1 -0
- package/dist/cjs/rubric/draft.d.ts +224 -0
- package/dist/cjs/rubric/draft.d.ts.map +1 -0
- package/dist/cjs/rubric/draft.js +214 -0
- package/dist/cjs/rubric/draft.js.map +1 -0
- package/dist/cjs/rubric/gateMet.d.ts +46 -0
- package/dist/cjs/rubric/gateMet.d.ts.map +1 -0
- package/dist/cjs/rubric/gateMet.js +110 -0
- package/dist/cjs/rubric/gateMet.js.map +1 -0
- package/dist/cjs/rubric/leg.d.ts +106 -0
- package/dist/cjs/rubric/leg.d.ts.map +1 -0
- package/dist/cjs/rubric/leg.js +147 -0
- package/dist/cjs/rubric/leg.js.map +1 -0
- package/dist/cjs/rubric/publish.d.ts +39 -0
- package/dist/cjs/rubric/publish.d.ts.map +1 -0
- package/dist/cjs/rubric/publish.js +34 -0
- package/dist/cjs/rubric/publish.js.map +1 -0
- package/dist/cjs/rubric/reanchor.d.ts +79 -0
- package/dist/cjs/rubric/reanchor.d.ts.map +1 -0
- package/dist/cjs/rubric/reanchor.js +154 -0
- package/dist/cjs/rubric/reanchor.js.map +1 -0
- package/dist/cjs/rubric/receipt.d.ts +96 -0
- package/dist/cjs/rubric/receipt.d.ts.map +1 -0
- package/dist/cjs/rubric/receipt.js +28 -0
- package/dist/cjs/rubric/receipt.js.map +1 -0
- package/dist/cjs/rubric/roundTrips.d.ts +17 -0
- package/dist/cjs/rubric/roundTrips.d.ts.map +1 -0
- package/dist/cjs/rubric/roundTrips.js +24 -0
- package/dist/cjs/rubric/roundTrips.js.map +1 -0
- package/dist/cjs/rubric/terms.d.ts +611 -0
- package/dist/cjs/rubric/terms.d.ts.map +1 -0
- package/dist/cjs/rubric/terms.js +777 -0
- package/dist/cjs/rubric/terms.js.map +1 -0
- package/dist/cjs/rubric/wants.d.ts +36 -0
- package/dist/cjs/rubric/wants.d.ts.map +1 -0
- package/dist/cjs/rubric/wants.js +57 -0
- package/dist/cjs/rubric/wants.js.map +1 -0
- package/dist/cjs/rubric.d.ts +30 -0
- package/dist/cjs/rubric.d.ts.map +1 -0
- package/dist/cjs/rubric.js +71 -0
- package/dist/cjs/rubric.js.map +1 -0
- package/dist/cjs/udid/base58.d.ts +8 -0
- package/dist/cjs/udid/base58.d.ts.map +1 -0
- package/dist/cjs/udid/base58.js +57 -0
- package/dist/cjs/udid/base58.js.map +1 -0
- package/dist/cjs/udid/canonical.d.ts +17 -0
- package/dist/cjs/udid/canonical.d.ts.map +1 -0
- package/dist/cjs/udid/canonical.js +34 -0
- package/dist/cjs/udid/canonical.js.map +1 -0
- package/dist/cjs/udid/cid.d.ts +22 -0
- package/dist/cjs/udid/cid.d.ts.map +1 -0
- package/dist/cjs/udid/cid.js +54 -0
- package/dist/cjs/udid/cid.js.map +1 -0
- package/dist/cjs/udid/key.d.ts +41 -0
- package/dist/cjs/udid/key.d.ts.map +1 -0
- package/dist/cjs/udid/key.js +64 -0
- package/dist/cjs/udid/key.js.map +1 -0
- package/dist/cjs/udid/resolve.d.ts +56 -0
- package/dist/cjs/udid/resolve.d.ts.map +1 -0
- package/dist/cjs/udid/resolve.js +168 -0
- package/dist/cjs/udid/resolve.js.map +1 -0
- package/dist/cjs/udid/schema.d.ts +150 -0
- package/dist/cjs/udid/schema.d.ts.map +1 -0
- package/dist/cjs/udid/schema.js +155 -0
- package/dist/cjs/udid/schema.js.map +1 -0
- package/dist/cjs/udid/verify.d.ts +35 -0
- package/dist/cjs/udid/verify.d.ts.map +1 -0
- package/dist/cjs/udid/verify.js +97 -0
- package/dist/cjs/udid/verify.js.map +1 -0
- package/dist/cjs/udid/wrapper.d.ts +90 -0
- package/dist/cjs/udid/wrapper.d.ts.map +1 -0
- package/dist/cjs/udid/wrapper.js +41 -0
- package/dist/cjs/udid/wrapper.js.map +1 -0
- package/dist/cjs/udid.d.ts +17 -0
- package/dist/cjs/udid.d.ts.map +1 -0
- package/dist/cjs/udid.js +33 -0
- package/dist/cjs/udid.js.map +1 -0
- package/dist/esm/board.d.ts +20 -0
- package/dist/esm/board.d.ts.map +1 -0
- package/dist/esm/board.js +23 -0
- package/dist/esm/board.js.map +1 -0
- package/dist/esm/campaign/badges.d.ts +30 -0
- package/dist/esm/campaign/badges.d.ts.map +1 -0
- package/dist/esm/campaign/badges.js +65 -0
- package/dist/esm/campaign/badges.js.map +1 -0
- package/dist/esm/campaign/bands.d.ts +161 -0
- package/dist/esm/campaign/bands.d.ts.map +1 -0
- package/dist/esm/campaign/bands.js +176 -0
- package/dist/esm/campaign/bands.js.map +1 -0
- package/dist/esm/campaign/campaign.d.ts +50 -0
- package/dist/esm/campaign/campaign.d.ts.map +1 -0
- package/dist/esm/campaign/campaign.js +147 -0
- package/dist/esm/campaign/campaign.js.map +1 -0
- package/dist/esm/campaign/campaigns.d.ts +2 -0
- package/dist/esm/campaign/campaigns.d.ts.map +1 -0
- package/dist/esm/campaign/campaigns.js +34 -0
- package/dist/esm/campaign/campaigns.js.map +1 -0
- package/dist/esm/campaign/cleanable.d.ts +13 -0
- package/dist/esm/campaign/cleanable.d.ts.map +1 -0
- package/dist/esm/campaign/cleanable.js +2 -0
- package/dist/esm/campaign/cleanable.js.map +1 -0
- package/dist/esm/campaign/cleanup.d.ts +78 -0
- package/dist/esm/campaign/cleanup.d.ts.map +1 -0
- package/dist/esm/campaign/cleanup.js +129 -0
- package/dist/esm/campaign/cleanup.js.map +1 -0
- package/dist/esm/campaign/commit.d.ts +39 -0
- package/dist/esm/campaign/commit.d.ts.map +1 -0
- package/dist/esm/campaign/commit.js +37 -0
- package/dist/esm/campaign/commit.js.map +1 -0
- package/dist/esm/campaign/field.d.ts +50 -0
- package/dist/esm/campaign/field.d.ts.map +1 -0
- package/dist/esm/campaign/field.js +88 -0
- package/dist/esm/campaign/field.js.map +1 -0
- package/dist/esm/campaign/fold.d.ts +227 -0
- package/dist/esm/campaign/fold.d.ts.map +1 -0
- package/dist/esm/campaign/fold.js +403 -0
- package/dist/esm/campaign/fold.js.map +1 -0
- package/dist/esm/campaign/funding.d.ts +153 -0
- package/dist/esm/campaign/funding.d.ts.map +1 -0
- package/dist/esm/campaign/funding.js +160 -0
- package/dist/esm/campaign/funding.js.map +1 -0
- package/dist/esm/campaign/landing.d.ts +20 -0
- package/dist/esm/campaign/landing.d.ts.map +1 -0
- package/dist/esm/campaign/landing.js +49 -0
- package/dist/esm/campaign/landing.js.map +1 -0
- package/dist/esm/campaign/pledges.d.ts +237 -0
- package/dist/esm/campaign/pledges.d.ts.map +1 -0
- package/dist/esm/campaign/pledges.js +210 -0
- package/dist/esm/campaign/pledges.js.map +1 -0
- package/dist/esm/campaign/pledgesChain.d.ts +58 -0
- package/dist/esm/campaign/pledgesChain.d.ts.map +1 -0
- package/dist/esm/campaign/pledgesChain.js +96 -0
- package/dist/esm/campaign/pledgesChain.js.map +1 -0
- package/dist/esm/campaign/pool.d.ts +137 -0
- package/dist/esm/campaign/pool.d.ts.map +1 -0
- package/dist/esm/campaign/pool.js +194 -0
- package/dist/esm/campaign/pool.js.map +1 -0
- package/dist/esm/campaign/record.d.ts +115 -0
- package/dist/esm/campaign/record.d.ts.map +1 -0
- package/dist/esm/campaign/record.js +252 -0
- package/dist/esm/campaign/record.js.map +1 -0
- package/dist/esm/campaign/rule.d.ts +311 -0
- package/dist/esm/campaign/rule.d.ts.map +1 -0
- package/dist/esm/campaign/rule.js +197 -0
- package/dist/esm/campaign/rule.js.map +1 -0
- package/dist/esm/campaign/spot.d.ts +37 -0
- package/dist/esm/campaign/spot.d.ts.map +1 -0
- package/dist/esm/campaign/spot.js +167 -0
- package/dist/esm/campaign/spot.js.map +1 -0
- package/dist/esm/campaign/spots.d.ts +437 -0
- package/dist/esm/campaign/spots.d.ts.map +1 -0
- package/dist/esm/campaign/spots.js +735 -0
- package/dist/esm/campaign/spots.js.map +1 -0
- package/dist/esm/campaign/standings.d.ts +236 -0
- package/dist/esm/campaign/standings.d.ts.map +1 -0
- package/dist/esm/campaign/standings.js +357 -0
- package/dist/esm/campaign/standings.js.map +1 -0
- package/dist/esm/campaign/treasurySends.d.ts +116 -0
- package/dist/esm/campaign/treasurySends.d.ts.map +1 -0
- package/dist/esm/campaign/treasurySends.js +190 -0
- package/dist/esm/campaign/treasurySends.js.map +1 -0
- package/dist/esm/campaign.d.ts +29 -0
- package/dist/esm/campaign.d.ts.map +1 -0
- package/dist/esm/campaign.js +28 -0
- package/dist/esm/campaign.js.map +1 -0
- package/dist/esm/chain/account.d.ts +47 -0
- package/dist/esm/chain/account.d.ts.map +1 -0
- package/dist/esm/chain/account.js +156 -0
- package/dist/esm/chain/account.js.map +1 -0
- package/dist/esm/chain/accountProof.d.ts +135 -0
- package/dist/esm/chain/accountProof.d.ts.map +1 -0
- package/dist/esm/chain/accountProof.js +153 -0
- package/dist/esm/chain/accountProof.js.map +1 -0
- package/dist/esm/chain/allowance.d.ts +17 -0
- package/dist/esm/chain/allowance.d.ts.map +1 -0
- package/dist/esm/chain/allowance.js +74 -0
- package/dist/esm/chain/allowance.js.map +1 -0
- package/dist/esm/chain/allowanceRead.d.ts +2 -0
- package/dist/esm/chain/allowanceRead.d.ts.map +1 -0
- package/dist/esm/chain/allowanceRead.js +56 -0
- package/dist/esm/chain/allowanceRead.js.map +1 -0
- package/dist/esm/chain/ask.d.ts +211 -0
- package/dist/esm/chain/ask.d.ts.map +1 -0
- package/dist/esm/chain/ask.js +509 -0
- package/dist/esm/chain/ask.js.map +1 -0
- package/dist/esm/chain/bridge.d.ts +50 -0
- package/dist/esm/chain/bridge.d.ts.map +1 -0
- package/dist/esm/chain/bridge.js +78 -0
- package/dist/esm/chain/bridge.js.map +1 -0
- package/dist/esm/chain/broadcast.d.ts +40 -0
- package/dist/esm/chain/broadcast.d.ts.map +1 -0
- package/dist/esm/chain/broadcast.js +147 -0
- package/dist/esm/chain/broadcast.js.map +1 -0
- package/dist/esm/chain/delegate.d.ts +154 -0
- package/dist/esm/chain/delegate.d.ts.map +1 -0
- package/dist/esm/chain/delegate.js +230 -0
- package/dist/esm/chain/delegate.js.map +1 -0
- package/dist/esm/chain/encoding.d.ts +7 -0
- package/dist/esm/chain/encoding.d.ts.map +1 -0
- package/dist/esm/chain/encoding.js +22 -0
- package/dist/esm/chain/encoding.js.map +1 -0
- package/dist/esm/chain/env.d.ts +50 -0
- package/dist/esm/chain/env.d.ts.map +1 -0
- package/dist/esm/chain/env.js +83 -0
- package/dist/esm/chain/env.js.map +1 -0
- package/dist/esm/chain/gate.d.ts +12 -0
- package/dist/esm/chain/gate.d.ts.map +1 -0
- package/dist/esm/chain/gate.js +52 -0
- package/dist/esm/chain/gate.js.map +1 -0
- package/dist/esm/chain/grantPending.d.ts +31 -0
- package/dist/esm/chain/grantPending.d.ts.map +1 -0
- package/dist/esm/chain/grantPending.js +50 -0
- package/dist/esm/chain/grantPending.js.map +1 -0
- package/dist/esm/chain/guest.d.ts +97 -0
- package/dist/esm/chain/guest.d.ts.map +1 -0
- package/dist/esm/chain/guest.js +168 -0
- package/dist/esm/chain/guest.js.map +1 -0
- package/dist/esm/chain/iid.d.ts +26 -0
- package/dist/esm/chain/iid.d.ts.map +1 -0
- package/dist/esm/chain/iid.js +62 -0
- package/dist/esm/chain/iid.js.map +1 -0
- package/dist/esm/chain/money.d.ts +48 -0
- package/dist/esm/chain/money.d.ts.map +1 -0
- package/dist/esm/chain/money.js +65 -0
- package/dist/esm/chain/money.js.map +1 -0
- package/dist/esm/chain/oracle.d.ts +24 -0
- package/dist/esm/chain/oracle.d.ts.map +1 -0
- package/dist/esm/chain/oracle.js +41 -0
- package/dist/esm/chain/oracle.js.map +1 -0
- package/dist/esm/chain/pendingTransact.d.ts +31 -0
- package/dist/esm/chain/pendingTransact.d.ts.map +1 -0
- package/dist/esm/chain/pendingTransact.js +59 -0
- package/dist/esm/chain/pendingTransact.js.map +1 -0
- package/dist/esm/chain/query.d.ts +75 -0
- package/dist/esm/chain/query.d.ts.map +1 -0
- package/dist/esm/chain/query.js +160 -0
- package/dist/esm/chain/query.js.map +1 -0
- package/dist/esm/chain/send.d.ts +42 -0
- package/dist/esm/chain/send.d.ts.map +1 -0
- package/dist/esm/chain/send.js +48 -0
- package/dist/esm/chain/send.js.map +1 -0
- package/dist/esm/chain/session.d.ts +109 -0
- package/dist/esm/chain/session.d.ts.map +1 -0
- package/dist/esm/chain/session.js +133 -0
- package/dist/esm/chain/session.js.map +1 -0
- package/dist/esm/chain/signWith.d.ts +69 -0
- package/dist/esm/chain/signWith.d.ts.map +1 -0
- package/dist/esm/chain/signWith.js +238 -0
- package/dist/esm/chain/signWith.js.map +1 -0
- package/dist/esm/chain/signer.d.ts +38 -0
- package/dist/esm/chain/signer.d.ts.map +1 -0
- package/dist/esm/chain/signer.js +73 -0
- package/dist/esm/chain/signer.js.map +1 -0
- package/dist/esm/chain/signx.d.ts +233 -0
- package/dist/esm/chain/signx.d.ts.map +1 -0
- package/dist/esm/chain/signx.js +475 -0
- package/dist/esm/chain/signx.js.map +1 -0
- package/dist/esm/chain/sponsor.d.ts +2 -0
- package/dist/esm/chain/sponsor.d.ts.map +1 -0
- package/dist/esm/chain/sponsor.js +73 -0
- package/dist/esm/chain/sponsor.js.map +1 -0
- package/dist/esm/chain/store.d.ts +115 -0
- package/dist/esm/chain/store.d.ts.map +1 -0
- package/dist/esm/chain/store.js +164 -0
- package/dist/esm/chain/store.js.map +1 -0
- package/dist/esm/chain/subscription.d.ts +73 -0
- package/dist/esm/chain/subscription.d.ts.map +1 -0
- package/dist/esm/chain/subscription.js +206 -0
- package/dist/esm/chain/subscription.js.map +1 -0
- package/dist/esm/chain/takeBack.d.ts +114 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -0
- package/dist/esm/chain/takeBack.js +177 -0
- package/dist/esm/chain/takeBack.js.map +1 -0
- package/dist/esm/chain/union.d.ts +125 -0
- package/dist/esm/chain/union.d.ts.map +1 -0
- package/dist/esm/chain/union.js +295 -0
- package/dist/esm/chain/union.js.map +1 -0
- package/dist/esm/chain/webauthn.d.ts +22 -0
- package/dist/esm/chain/webauthn.d.ts.map +1 -0
- package/dist/esm/chain/webauthn.js +65 -0
- package/dist/esm/chain/webauthn.js.map +1 -0
- package/dist/esm/chain.d.ts +35 -0
- package/dist/esm/chain.d.ts.map +1 -0
- package/dist/esm/chain.js +50 -0
- package/dist/esm/chain.js.map +1 -0
- package/dist/esm/config.d.ts +120 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +115 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/data/accept.d.ts +69 -0
- package/dist/esm/data/accept.d.ts.map +1 -0
- package/dist/esm/data/accept.js +151 -0
- package/dist/esm/data/accept.js.map +1 -0
- package/dist/esm/data/agent.d.ts +87 -0
- package/dist/esm/data/agent.d.ts.map +1 -0
- package/dist/esm/data/agent.js +108 -0
- package/dist/esm/data/agent.js.map +1 -0
- package/dist/esm/data/askFilter.d.ts +45 -0
- package/dist/esm/data/askFilter.d.ts.map +1 -0
- package/dist/esm/data/askFilter.js +45 -0
- package/dist/esm/data/askFilter.js.map +1 -0
- package/dist/esm/data/authenticators.d.ts +35 -0
- package/dist/esm/data/authenticators.d.ts.map +1 -0
- package/dist/esm/data/authenticators.js +71 -0
- package/dist/esm/data/authenticators.js.map +1 -0
- package/dist/esm/data/balance.d.ts +39 -0
- package/dist/esm/data/balance.d.ts.map +1 -0
- package/dist/esm/data/balance.js +111 -0
- package/dist/esm/data/balance.js.map +1 -0
- package/dist/esm/data/board/assemble.d.ts +140 -0
- package/dist/esm/data/board/assemble.d.ts.map +1 -0
- package/dist/esm/data/board/assemble.js +539 -0
- package/dist/esm/data/board/assemble.js.map +1 -0
- package/dist/esm/data/board/coverage.d.ts +112 -0
- package/dist/esm/data/board/coverage.d.ts.map +1 -0
- package/dist/esm/data/board/coverage.js +180 -0
- package/dist/esm/data/board/coverage.js.map +1 -0
- package/dist/esm/data/board/facts.d.ts +63 -0
- package/dist/esm/data/board/facts.d.ts.map +1 -0
- package/dist/esm/data/board/facts.js +127 -0
- package/dist/esm/data/board/facts.js.map +1 -0
- package/dist/esm/data/board/fixtures.d.ts +21 -0
- package/dist/esm/data/board/fixtures.d.ts.map +1 -0
- package/dist/esm/data/board/fixtures.js +40 -0
- package/dist/esm/data/board/fixtures.js.map +1 -0
- package/dist/esm/data/board/query.d.ts +12 -0
- package/dist/esm/data/board/query.d.ts.map +1 -0
- package/dist/esm/data/board/query.js +67 -0
- package/dist/esm/data/board/query.js.map +1 -0
- package/dist/esm/data/board/rank.d.ts +22 -0
- package/dist/esm/data/board/rank.d.ts.map +1 -0
- package/dist/esm/data/board/rank.js +45 -0
- package/dist/esm/data/board/rank.js.map +1 -0
- package/dist/esm/data/board/read.d.ts +102 -0
- package/dist/esm/data/board/read.d.ts.map +1 -0
- package/dist/esm/data/board/read.js +163 -0
- package/dist/esm/data/board/read.js.map +1 -0
- package/dist/esm/data/board/series.d.ts +50 -0
- package/dist/esm/data/board/series.d.ts.map +1 -0
- package/dist/esm/data/board/series.js +153 -0
- package/dist/esm/data/board/series.js.map +1 -0
- package/dist/esm/data/board/trust.d.ts +31 -0
- package/dist/esm/data/board/trust.d.ts.map +1 -0
- package/dist/esm/data/board/trust.js +47 -0
- package/dist/esm/data/board/trust.js.map +1 -0
- package/dist/esm/data/board/types.d.ts +338 -0
- package/dist/esm/data/board/types.d.ts.map +1 -0
- package/dist/esm/data/board/types.js +79 -0
- package/dist/esm/data/board/types.js.map +1 -0
- package/dist/esm/data/board/url.d.ts +22 -0
- package/dist/esm/data/board/url.d.ts.map +1 -0
- package/dist/esm/data/board/url.js +65 -0
- package/dist/esm/data/board/url.js.map +1 -0
- package/dist/esm/data/board/words.d.ts +25 -0
- package/dist/esm/data/board/words.d.ts.map +1 -0
- package/dist/esm/data/board/words.js +53 -0
- package/dist/esm/data/board/words.js.map +1 -0
- package/dist/esm/data/cid.d.ts +49 -0
- package/dist/esm/data/cid.d.ts.map +1 -0
- package/dist/esm/data/cid.js +82 -0
- package/dist/esm/data/cid.js.map +1 -0
- package/dist/esm/data/concurrency.d.ts +14 -0
- package/dist/esm/data/concurrency.d.ts.map +1 -0
- package/dist/esm/data/concurrency.js +29 -0
- package/dist/esm/data/concurrency.js.map +1 -0
- package/dist/esm/data/credentials.d.ts +28 -0
- package/dist/esm/data/credentials.d.ts.map +1 -0
- package/dist/esm/data/credentials.js +78 -0
- package/dist/esm/data/credentials.js.map +1 -0
- package/dist/esm/data/denoms.d.ts +11 -0
- package/dist/esm/data/denoms.d.ts.map +1 -0
- package/dist/esm/data/denoms.js +102 -0
- package/dist/esm/data/denoms.js.map +1 -0
- package/dist/esm/data/displayNames.d.ts +58 -0
- package/dist/esm/data/displayNames.d.ts.map +1 -0
- package/dist/esm/data/displayNames.js +94 -0
- package/dist/esm/data/displayNames.js.map +1 -0
- package/dist/esm/data/docPath.d.ts +28 -0
- package/dist/esm/data/docPath.d.ts.map +1 -0
- package/dist/esm/data/docPath.js +37 -0
- package/dist/esm/data/docPath.js.map +1 -0
- package/dist/esm/data/docUrls.d.ts +38 -0
- package/dist/esm/data/docUrls.d.ts.map +1 -0
- package/dist/esm/data/docUrls.js +46 -0
- package/dist/esm/data/docUrls.js.map +1 -0
- package/dist/esm/data/docs.d.ts +61 -0
- package/dist/esm/data/docs.d.ts.map +1 -0
- package/dist/esm/data/docs.js +177 -0
- package/dist/esm/data/docs.js.map +1 -0
- package/dist/esm/data/engine.d.ts +193 -0
- package/dist/esm/data/engine.d.ts.map +1 -0
- package/dist/esm/data/engine.js +362 -0
- package/dist/esm/data/engine.js.map +1 -0
- package/dist/esm/data/engineUrl.d.ts +19 -0
- package/dist/esm/data/engineUrl.d.ts.map +1 -0
- package/dist/esm/data/engineUrl.js +23 -0
- package/dist/esm/data/engineUrl.js.map +1 -0
- package/dist/esm/data/envelope.d.ts +69 -0
- package/dist/esm/data/envelope.d.ts.map +1 -0
- package/dist/esm/data/envelope.js +72 -0
- package/dist/esm/data/envelope.js.map +1 -0
- package/dist/esm/data/format.d.ts +122 -0
- package/dist/esm/data/format.d.ts.map +1 -0
- package/dist/esm/data/format.js +250 -0
- package/dist/esm/data/format.js.map +1 -0
- package/dist/esm/data/gql.d.ts +56 -0
- package/dist/esm/data/gql.d.ts.map +1 -0
- package/dist/esm/data/gql.js +100 -0
- package/dist/esm/data/gql.js.map +1 -0
- package/dist/esm/data/granters.d.ts +15 -0
- package/dist/esm/data/granters.d.ts.map +1 -0
- package/dist/esm/data/granters.js +71 -0
- package/dist/esm/data/granters.js.map +1 -0
- package/dist/esm/data/index.d.ts +18 -0
- package/dist/esm/data/index.d.ts.map +1 -0
- package/dist/esm/data/index.js +39 -0
- package/dist/esm/data/index.js.map +1 -0
- package/dist/esm/data/install.d.ts +95 -0
- package/dist/esm/data/install.d.ts.map +1 -0
- package/dist/esm/data/install.js +116 -0
- package/dist/esm/data/install.js.map +1 -0
- package/dist/esm/data/issueMessage.d.ts +20 -0
- package/dist/esm/data/issueMessage.d.ts.map +1 -0
- package/dist/esm/data/issueMessage.js +15 -0
- package/dist/esm/data/issueMessage.js.map +1 -0
- package/dist/esm/data/linked.d.ts +54 -0
- package/dist/esm/data/linked.d.ts.map +1 -0
- package/dist/esm/data/linked.js +136 -0
- package/dist/esm/data/linked.js.map +1 -0
- package/dist/esm/data/network.d.ts +21 -0
- package/dist/esm/data/network.d.ts.map +1 -0
- package/dist/esm/data/network.js +23 -0
- package/dist/esm/data/network.js.map +1 -0
- package/dist/esm/data/openness.d.ts +93 -0
- package/dist/esm/data/openness.d.ts.map +1 -0
- package/dist/esm/data/openness.js +140 -0
- package/dist/esm/data/openness.js.map +1 -0
- package/dist/esm/data/oracleInfo.d.ts +20 -0
- package/dist/esm/data/oracleInfo.d.ts.map +1 -0
- package/dist/esm/data/oracleInfo.js +35 -0
- package/dist/esm/data/oracleInfo.js.map +1 -0
- package/dist/esm/data/oracles.d.ts +44 -0
- package/dist/esm/data/oracles.d.ts.map +1 -0
- package/dist/esm/data/oracles.js +110 -0
- package/dist/esm/data/oracles.js.map +1 -0
- package/dist/esm/data/outbound.d.ts +50 -0
- package/dist/esm/data/outbound.d.ts.map +1 -0
- package/dist/esm/data/outbound.js +96 -0
- package/dist/esm/data/outbound.js.map +1 -0
- package/dist/esm/data/paged.d.ts +48 -0
- package/dist/esm/data/paged.d.ts.map +1 -0
- package/dist/esm/data/paged.js +75 -0
- package/dist/esm/data/paged.js.map +1 -0
- package/dist/esm/data/profiles.d.ts +3 -0
- package/dist/esm/data/profiles.d.ts.map +1 -0
- package/dist/esm/data/profiles.js +66 -0
- package/dist/esm/data/profiles.js.map +1 -0
- package/dist/esm/data/proof.d.ts +93 -0
- package/dist/esm/data/proof.d.ts.map +1 -0
- package/dist/esm/data/proof.js +128 -0
- package/dist/esm/data/proof.js.map +1 -0
- package/dist/esm/data/queue.d.ts +49 -0
- package/dist/esm/data/queue.d.ts.map +1 -0
- package/dist/esm/data/queue.js +115 -0
- package/dist/esm/data/queue.js.map +1 -0
- package/dist/esm/data/rates.d.ts +143 -0
- package/dist/esm/data/rates.d.ts.map +1 -0
- package/dist/esm/data/rates.js +249 -0
- package/dist/esm/data/rates.js.map +1 -0
- package/dist/esm/data/receipt.d.ts +207 -0
- package/dist/esm/data/receipt.d.ts.map +1 -0
- package/dist/esm/data/receipt.js +305 -0
- package/dist/esm/data/receipt.js.map +1 -0
- package/dist/esm/data/resources.d.ts +30 -0
- package/dist/esm/data/resources.d.ts.map +1 -0
- package/dist/esm/data/resources.js +24 -0
- package/dist/esm/data/resources.js.map +1 -0
- package/dist/esm/data/sametask.d.ts +35 -0
- package/dist/esm/data/sametask.d.ts.map +1 -0
- package/dist/esm/data/sametask.js +40 -0
- package/dist/esm/data/sametask.js.map +1 -0
- package/dist/esm/data/shortName.d.ts +52 -0
- package/dist/esm/data/shortName.d.ts.map +1 -0
- package/dist/esm/data/shortName.js +119 -0
- package/dist/esm/data/shortName.js.map +1 -0
- package/dist/esm/data/threads.d.ts +97 -0
- package/dist/esm/data/threads.d.ts.map +1 -0
- package/dist/esm/data/threads.js +177 -0
- package/dist/esm/data/threads.js.map +1 -0
- package/dist/esm/data/trace.d.ts +133 -0
- package/dist/esm/data/trace.d.ts.map +1 -0
- package/dist/esm/data/trace.js +122 -0
- package/dist/esm/data/trace.js.map +1 -0
- package/dist/esm/data/traceWords.d.ts +54 -0
- package/dist/esm/data/traceWords.d.ts.map +1 -0
- package/dist/esm/data/traceWords.js +178 -0
- package/dist/esm/data/traceWords.js.map +1 -0
- package/dist/esm/data/types.d.ts +50 -0
- package/dist/esm/data/types.d.ts.map +1 -0
- package/dist/esm/data/types.js +6 -0
- package/dist/esm/data/types.js.map +1 -0
- package/dist/esm/data/verdict.d.ts +37 -0
- package/dist/esm/data/verdict.d.ts.map +1 -0
- package/dist/esm/data/verdict.js +51 -0
- package/dist/esm/data/verdict.js.map +1 -0
- package/dist/esm/data/work.d.ts +46 -0
- package/dist/esm/data/work.d.ts.map +1 -0
- package/dist/esm/data/work.js +68 -0
- package/dist/esm/data/work.js.map +1 -0
- package/dist/esm/envRead.d.ts +15 -0
- package/dist/esm/envRead.d.ts.map +1 -0
- package/dist/esm/envRead.js +20 -0
- package/dist/esm/envRead.js.map +1 -0
- package/dist/esm/geo/box.d.ts +64 -0
- package/dist/esm/geo/box.d.ts.map +1 -0
- package/dist/esm/geo/box.js +85 -0
- package/dist/esm/geo/box.js.map +1 -0
- package/dist/esm/geo/exif.d.ts +20 -0
- package/dist/esm/geo/exif.d.ts.map +1 -0
- package/dist/esm/geo/exif.js +215 -0
- package/dist/esm/geo/exif.js.map +1 -0
- package/dist/esm/geo/exifcarry.d.ts +31 -0
- package/dist/esm/geo/exifcarry.d.ts.map +1 -0
- package/dist/esm/geo/exifcarry.js +77 -0
- package/dist/esm/geo/exifcarry.js.map +1 -0
- package/dist/esm/geo/exifnote.d.ts +86 -0
- package/dist/esm/geo/exifnote.d.ts.map +1 -0
- package/dist/esm/geo/exifnote.js +243 -0
- package/dist/esm/geo/exifnote.js.map +1 -0
- package/dist/esm/geo/mentions.d.ts +44 -0
- package/dist/esm/geo/mentions.d.ts.map +1 -0
- package/dist/esm/geo/mentions.js +190 -0
- package/dist/esm/geo/mentions.js.map +1 -0
- package/dist/esm/geo/osm.d.ts +112 -0
- package/dist/esm/geo/osm.d.ts.map +1 -0
- package/dist/esm/geo/osm.js +171 -0
- package/dist/esm/geo/osm.js.map +1 -0
- package/dist/esm/geo/place.d.ts +51 -0
- package/dist/esm/geo/place.d.ts.map +1 -0
- package/dist/esm/geo/place.js +99 -0
- package/dist/esm/geo/place.js.map +1 -0
- package/dist/esm/geo/search.d.ts +41 -0
- package/dist/esm/geo/search.d.ts.map +1 -0
- package/dist/esm/geo/search.js +182 -0
- package/dist/esm/geo/search.js.map +1 -0
- package/dist/esm/geo/sun.d.ts +39 -0
- package/dist/esm/geo/sun.d.ts.map +1 -0
- package/dist/esm/geo/sun.js +51 -0
- package/dist/esm/geo/sun.js.map +1 -0
- package/dist/esm/geo/tiles.d.ts +89 -0
- package/dist/esm/geo/tiles.d.ts.map +1 -0
- package/dist/esm/geo/tiles.js +136 -0
- package/dist/esm/geo/tiles.js.map +1 -0
- package/dist/esm/geo.d.ts +20 -0
- package/dist/esm/geo.d.ts.map +1 -0
- package/dist/esm/geo.js +19 -0
- package/dist/esm/geo.js.map +1 -0
- package/dist/esm/given.d.ts +15 -0
- package/dist/esm/given.d.ts.map +1 -0
- package/dist/esm/given.js +18 -0
- package/dist/esm/given.js.map +1 -0
- package/dist/esm/network.d.ts +23 -0
- package/dist/esm/network.d.ts.map +1 -0
- package/dist/esm/network.js +48 -0
- package/dist/esm/network.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/protocol.d.ts +40 -0
- package/dist/esm/protocol.d.ts.map +1 -0
- package/dist/esm/protocol.js +38 -0
- package/dist/esm/protocol.js.map +1 -0
- package/dist/esm/rubric/bridge.d.ts +428 -0
- package/dist/esm/rubric/bridge.d.ts.map +1 -0
- package/dist/esm/rubric/bridge.js +911 -0
- package/dist/esm/rubric/bridge.js.map +1 -0
- package/dist/esm/rubric/call.d.ts +73 -0
- package/dist/esm/rubric/call.d.ts.map +1 -0
- package/dist/esm/rubric/call.js +120 -0
- package/dist/esm/rubric/call.js.map +1 -0
- package/dist/esm/rubric/card.d.ts +74 -0
- package/dist/esm/rubric/card.d.ts.map +1 -0
- package/dist/esm/rubric/card.js +38 -0
- package/dist/esm/rubric/card.js.map +1 -0
- package/dist/esm/rubric/chain.d.ts +44 -0
- package/dist/esm/rubric/chain.d.ts.map +1 -0
- package/dist/esm/rubric/chain.js +49 -0
- package/dist/esm/rubric/chain.js.map +1 -0
- package/dist/esm/rubric/claimForm.d.ts +142 -0
- package/dist/esm/rubric/claimForm.d.ts.map +1 -0
- package/dist/esm/rubric/claimForm.js +109 -0
- package/dist/esm/rubric/claimForm.js.map +1 -0
- package/dist/esm/rubric/claimFormResource.d.ts +34 -0
- package/dist/esm/rubric/claimFormResource.d.ts.map +1 -0
- package/dist/esm/rubric/claimFormResource.js +33 -0
- package/dist/esm/rubric/claimFormResource.js.map +1 -0
- package/dist/esm/rubric/compose.d.ts +99 -0
- package/dist/esm/rubric/compose.d.ts.map +1 -0
- package/dist/esm/rubric/compose.js +225 -0
- package/dist/esm/rubric/compose.js.map +1 -0
- package/dist/esm/rubric/confidence.d.ts +81 -0
- package/dist/esm/rubric/confidence.d.ts.map +1 -0
- package/dist/esm/rubric/confidence.js +82 -0
- package/dist/esm/rubric/confidence.js.map +1 -0
- package/dist/esm/rubric/draft.d.ts +224 -0
- package/dist/esm/rubric/draft.d.ts.map +1 -0
- package/dist/esm/rubric/draft.js +206 -0
- package/dist/esm/rubric/draft.js.map +1 -0
- package/dist/esm/rubric/gateMet.d.ts +46 -0
- package/dist/esm/rubric/gateMet.d.ts.map +1 -0
- package/dist/esm/rubric/gateMet.js +104 -0
- package/dist/esm/rubric/gateMet.js.map +1 -0
- package/dist/esm/rubric/leg.d.ts +106 -0
- package/dist/esm/rubric/leg.d.ts.map +1 -0
- package/dist/esm/rubric/leg.js +138 -0
- package/dist/esm/rubric/leg.js.map +1 -0
- package/dist/esm/rubric/publish.d.ts +39 -0
- package/dist/esm/rubric/publish.d.ts.map +1 -0
- package/dist/esm/rubric/publish.js +29 -0
- package/dist/esm/rubric/publish.js.map +1 -0
- package/dist/esm/rubric/reanchor.d.ts +79 -0
- package/dist/esm/rubric/reanchor.d.ts.map +1 -0
- package/dist/esm/rubric/reanchor.js +146 -0
- package/dist/esm/rubric/reanchor.js.map +1 -0
- package/dist/esm/rubric/receipt.d.ts +96 -0
- package/dist/esm/rubric/receipt.d.ts.map +1 -0
- package/dist/esm/rubric/receipt.js +25 -0
- package/dist/esm/rubric/receipt.js.map +1 -0
- package/dist/esm/rubric/roundTrips.d.ts +17 -0
- package/dist/esm/rubric/roundTrips.d.ts.map +1 -0
- package/dist/esm/rubric/roundTrips.js +20 -0
- package/dist/esm/rubric/roundTrips.js.map +1 -0
- package/dist/esm/rubric/terms.d.ts +611 -0
- package/dist/esm/rubric/terms.d.ts.map +1 -0
- package/dist/esm/rubric/terms.js +755 -0
- package/dist/esm/rubric/terms.js.map +1 -0
- package/dist/esm/rubric/wants.d.ts +36 -0
- package/dist/esm/rubric/wants.d.ts.map +1 -0
- package/dist/esm/rubric/wants.js +52 -0
- package/dist/esm/rubric/wants.js.map +1 -0
- package/dist/esm/rubric.d.ts +30 -0
- package/dist/esm/rubric.d.ts.map +1 -0
- package/dist/esm/rubric.js +30 -0
- package/dist/esm/rubric.js.map +1 -0
- package/dist/esm/udid/base58.d.ts +8 -0
- package/dist/esm/udid/base58.d.ts.map +1 -0
- package/dist/esm/udid/base58.js +53 -0
- package/dist/esm/udid/base58.js.map +1 -0
- package/dist/esm/udid/canonical.d.ts +17 -0
- package/dist/esm/udid/canonical.d.ts.map +1 -0
- package/dist/esm/udid/canonical.js +28 -0
- package/dist/esm/udid/canonical.js.map +1 -0
- package/dist/esm/udid/cid.d.ts +22 -0
- package/dist/esm/udid/cid.d.ts.map +1 -0
- package/dist/esm/udid/cid.js +46 -0
- package/dist/esm/udid/cid.js.map +1 -0
- package/dist/esm/udid/key.d.ts +41 -0
- package/dist/esm/udid/key.d.ts.map +1 -0
- package/dist/esm/udid/key.js +58 -0
- package/dist/esm/udid/key.js.map +1 -0
- package/dist/esm/udid/resolve.d.ts +56 -0
- package/dist/esm/udid/resolve.d.ts.map +1 -0
- package/dist/esm/udid/resolve.js +162 -0
- package/dist/esm/udid/resolve.js.map +1 -0
- package/dist/esm/udid/schema.d.ts +150 -0
- package/dist/esm/udid/schema.d.ts.map +1 -0
- package/dist/esm/udid/schema.js +151 -0
- package/dist/esm/udid/schema.js.map +1 -0
- package/dist/esm/udid/verify.d.ts +35 -0
- package/dist/esm/udid/verify.d.ts.map +1 -0
- package/dist/esm/udid/verify.js +93 -0
- package/dist/esm/udid/verify.js.map +1 -0
- package/dist/esm/udid/wrapper.d.ts +90 -0
- package/dist/esm/udid/wrapper.d.ts.map +1 -0
- package/dist/esm/udid/wrapper.js +37 -0
- package/dist/esm/udid/wrapper.js.map +1 -0
- package/dist/esm/udid.d.ts +17 -0
- package/dist/esm/udid.d.ts.map +1 -0
- package/dist/esm/udid.js +17 -0
- package/dist/esm/udid.js.map +1 -0
- package/package.json +210 -4
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
2
|
+
export const SIGNX_RELAY = {
|
|
3
|
+
devnet: "https://signx.devnet.ixo.earth",
|
|
4
|
+
testnet: "https://signx.testnet.ixo.earth",
|
|
5
|
+
mainnet: "https://signx.ixo.earth"
|
|
6
|
+
};
|
|
7
|
+
/** The SDK's own constants. `login` is version 1; transact moved to v2. */
|
|
8
|
+
const LOGIN_VERSION = 1;
|
|
9
|
+
/*
|
|
10
|
+
* **The relay long-polls.** It holds the connection open waiting for the phone
|
|
11
|
+
* and only answers "not found" after about ten seconds — measured at 10.7s
|
|
12
|
+
* against signx.testnet.ixo.earth, 2026-08-16. A ten-second client timeout
|
|
13
|
+
* therefore aborts a request that was about to succeed, every single time, and
|
|
14
|
+
* the desktop reports the relay unreachable while the phone sits there having
|
|
15
|
+
* already approved. Thirty seconds clears the hold with room to spare.
|
|
16
|
+
*/
|
|
17
|
+
const RELAY_TIMEOUT_MS = 30_000;
|
|
18
|
+
const ROUTES = { loginFetch: "/login/fetch", matrixLoginFetch: "/matrix/login/fetch" };
|
|
19
|
+
/**
|
|
20
|
+
* The Matrix half is a **second ceremony**, not a field on the first.
|
|
21
|
+
*
|
|
22
|
+
* This cost a long afternoon. `login({ matrix: true })` returns a chain
|
|
23
|
+
* identity and, on some app versions, a `userId` — but never the access token
|
|
24
|
+
* or the encrypted vault. Those come from `matrixLogin()`, its own scan with
|
|
25
|
+
* its own hash, poll route and success event. The portal calls both, which is
|
|
26
|
+
* why buying works there and did not here; the `matrix` flag on login only
|
|
27
|
+
* tells the phone that Matrix is wanted, and the credentials arrive separately.
|
|
28
|
+
*
|
|
29
|
+
* Read from `@ixo/signx-sdk` 1.3.2 (`module/client.js` → `matrixLogin`), which
|
|
30
|
+
* is the only authoritative description of this wire — the same source the
|
|
31
|
+
* login deeplink was copied from field for field.
|
|
32
|
+
*/
|
|
33
|
+
const MATRIX_VERSION = 1;
|
|
34
|
+
const randomHash = () => randomBytes(32).toString("hex");
|
|
35
|
+
/**
|
|
36
|
+
* The nonce is derived, not remembered.
|
|
37
|
+
*
|
|
38
|
+
* Storing it meant one process had to hand it to another: `start` and `poll`
|
|
39
|
+
* are separate route modules, and in production separate serverless instances,
|
|
40
|
+
* so a Map between them is empty by the time it is read — a login that never
|
|
41
|
+
* completes rather than one that occasionally does.
|
|
42
|
+
*
|
|
43
|
+
* Deriving it from the hash under a server secret removes the state entirely.
|
|
44
|
+
* Any instance can recompute it, nobody without the secret can guess it, and
|
|
45
|
+
* `secureHash` stays exactly what the phone expects: sha256(hash + nonce).
|
|
46
|
+
*/
|
|
47
|
+
const nonceFor = (hash, secret) => createHash("sha256").update(`${secret}:${hash}`).digest("hex");
|
|
48
|
+
/** Whether a hash and secureHash pair is one this deployment actually issued. */
|
|
49
|
+
export const weIssued = (hash, secureHash, secret) => createHash("sha256").update(hash + nonceFor(hash, secret)).digest("hex") === secureHash;
|
|
50
|
+
/**
|
|
51
|
+
* A mark saying "we produced this string", for anything that has no hash pair
|
|
52
|
+
* of its own — a transact deeplink, most of all.
|
|
53
|
+
*
|
|
54
|
+
* The QR route exists to draw *our* codes. Without a mark it would draw
|
|
55
|
+
* anybody's: point it at a deeplink you control, embed it in a page wearing our
|
|
56
|
+
* name, and it is a phishing site with our server rendering the bait. A login
|
|
57
|
+
* proves itself through `weIssued`; a transact link has nothing to prove itself
|
|
58
|
+
* with, so it carries this instead.
|
|
59
|
+
*/
|
|
60
|
+
export const stampFor = (value, secret) => createHash("sha256").update(`${secret}:qr:${value}`).digest("hex").slice(0, 32);
|
|
61
|
+
export const stampOk = (value, stamp, secret) => stampFor(value, secret) === stamp;
|
|
62
|
+
/**
|
|
63
|
+
* Start a login.
|
|
64
|
+
*
|
|
65
|
+
* The QR carries `hash` and `secureHash`; the nonce between them is derived
|
|
66
|
+
* from the server secret and never appears anywhere a client can read it. So a
|
|
67
|
+
* hash scraped off somebody's screen cannot be turned into a login this
|
|
68
|
+
* deployment will accept, and `weIssued` can tell ours from a stranger's
|
|
69
|
+
* without either side remembering anything.
|
|
70
|
+
*/
|
|
71
|
+
export function startLogin(args) {
|
|
72
|
+
const hash = randomHash();
|
|
73
|
+
const nonce = nonceFor(hash, args.secret);
|
|
74
|
+
return {
|
|
75
|
+
request: {
|
|
76
|
+
hash,
|
|
77
|
+
secureHash: createHash("sha256").update(hash + nonce).digest("hex"),
|
|
78
|
+
type: "SIGN_X_LOGIN",
|
|
79
|
+
sitename: args.sitename,
|
|
80
|
+
timeout: new Date(Date.now() + (args.timeoutMs ?? 2 * 60 * 1000)).toISOString(),
|
|
81
|
+
network: args.network,
|
|
82
|
+
matrix: args.matrix ?? false,
|
|
83
|
+
version: LOGIN_VERSION
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* What the QR encodes — the deeplink the IXO Mobile app opens.
|
|
89
|
+
*
|
|
90
|
+
* **Flat query parameters, one per field.** This is not a style choice: the app
|
|
91
|
+
* parses the link with `Linking.parse(url)` and hands `queryParams` straight to
|
|
92
|
+
* the screen as its route params, which then waits for `route.params.hash`. A
|
|
93
|
+
* link carrying one opaque blob gives it `{ data: "eyJ…" }`, no `hash`, and the
|
|
94
|
+
* phone sits on "Preparing SIGN X…" until it is closed — no error, because
|
|
95
|
+
* nothing ever got as far as validating.
|
|
96
|
+
*
|
|
97
|
+
* That is exactly what ours did. The shape below is copied field for field from
|
|
98
|
+
* `@ixo/signx-sdk` 1.3.2, `module/utils/encoding.js` → `convertDataToDeeplink`,
|
|
99
|
+
* which is the only description of this wire that is actually authoritative.
|
|
100
|
+
*
|
|
101
|
+
* Values are percent-encoded, which the SDK does not bother with. `Linking.parse`
|
|
102
|
+
* decodes them, so the phone sees the same strings either way — and a sitename
|
|
103
|
+
* with a space in it stops being a malformed URL.
|
|
104
|
+
*
|
|
105
|
+
* The `impactsx` scheme is the app's registered URL scheme, not its name. The
|
|
106
|
+
* app is called IXO Mobile everywhere a person can read it; renaming this
|
|
107
|
+
* string would open nothing.
|
|
108
|
+
*/
|
|
109
|
+
export function deeplinkFor(request, scheme = "impactsx") {
|
|
110
|
+
/*
|
|
111
|
+
* Every field below is required, so a blank one is a broken link — and the
|
|
112
|
+
* old code quietly dropped blanks instead of saying so. A deployment whose
|
|
113
|
+
* `NEXT_PUBLIC_CHAIN_NETWORK` was an empty string therefore drew a perfectly
|
|
114
|
+
* valid QR with no `network` in it: the phone scanned, parsed, and refused,
|
|
115
|
+
* and the only place that refusal appeared was on somebody else's screen.
|
|
116
|
+
*
|
|
117
|
+
* Failing here costs a 500 on a route we watch. Failing there costs a person
|
|
118
|
+
* a trip to their phone to discover it, and tells them nothing about why.
|
|
119
|
+
*/
|
|
120
|
+
const query = (fields) => {
|
|
121
|
+
const missing = fields.filter(([, value]) => value === undefined || value === "").map(([key]) => key);
|
|
122
|
+
if (missing.length > 0)
|
|
123
|
+
throw new Error(`SignX deeplink is missing ${missing.join(", ")}. Check this deployment's environment`);
|
|
124
|
+
return fields.map(([key, value]) => `${key}=${encodeURIComponent(String(value))}`).join("&");
|
|
125
|
+
};
|
|
126
|
+
if (request.type === "SIGN_X_LOGIN") {
|
|
127
|
+
const login = request;
|
|
128
|
+
return `${scheme}://signx?${query([
|
|
129
|
+
["hash", login.hash],
|
|
130
|
+
["secureHash", login.secureHash],
|
|
131
|
+
["type", login.type],
|
|
132
|
+
["sitename", login.sitename],
|
|
133
|
+
["timeout", login.timeout],
|
|
134
|
+
["network", login.network],
|
|
135
|
+
["matrix", login.matrix],
|
|
136
|
+
["version", login.version]
|
|
137
|
+
])}`;
|
|
138
|
+
}
|
|
139
|
+
/* The Matrix scan is a login without the `matrix` flag: being Matrix is what
|
|
140
|
+
the type says, so repeating it as a field would be a second opinion. */
|
|
141
|
+
if (request.type === "SIGN_X_MATRIX_LOGIN") {
|
|
142
|
+
const matrix = request;
|
|
143
|
+
return `${scheme}://signx?${query([
|
|
144
|
+
["hash", matrix.hash],
|
|
145
|
+
["secureHash", matrix.secureHash],
|
|
146
|
+
["type", matrix.type],
|
|
147
|
+
["sitename", matrix.sitename],
|
|
148
|
+
["timeout", matrix.timeout],
|
|
149
|
+
["network", matrix.network],
|
|
150
|
+
["version", matrix.version]
|
|
151
|
+
])}`;
|
|
152
|
+
}
|
|
153
|
+
/* Transact carries no secureHash and no timeout — the session holds both. */
|
|
154
|
+
const transact = request;
|
|
155
|
+
return `${scheme}://signx?${query([
|
|
156
|
+
["hash", transact.hash],
|
|
157
|
+
["type", transact.type],
|
|
158
|
+
["sitename", transact.sitename],
|
|
159
|
+
["network", transact.network],
|
|
160
|
+
["version", transact.version],
|
|
161
|
+
["sessionHash", transact.sessionHash]
|
|
162
|
+
])}`;
|
|
163
|
+
}
|
|
164
|
+
/** Start the Matrix ceremony. Same envelope as a login, different type. */
|
|
165
|
+
export function startMatrixLogin(args) {
|
|
166
|
+
const hash = randomHash();
|
|
167
|
+
const nonce = nonceFor(hash, args.secret);
|
|
168
|
+
return {
|
|
169
|
+
request: {
|
|
170
|
+
hash,
|
|
171
|
+
secureHash: createHash("sha256").update(hash + nonce).digest("hex"),
|
|
172
|
+
type: "SIGN_X_MATRIX_LOGIN",
|
|
173
|
+
sitename: args.sitename,
|
|
174
|
+
timeout: new Date(Date.now() + (args.timeoutMs ?? 2 * 60 * 1000)).toISOString(),
|
|
175
|
+
network: args.network,
|
|
176
|
+
version: MATRIX_VERSION
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Has the phone answered the Matrix scan?
|
|
182
|
+
*
|
|
183
|
+
* `accessToken` is the test for "answered", exactly as the SDK has it — a reply
|
|
184
|
+
* without one is the relay still waiting in its own dialect, not a session.
|
|
185
|
+
*/
|
|
186
|
+
export async function fetchMatrixLogin(network, hash, secret) {
|
|
187
|
+
const response = await fetch(`${SIGNX_RELAY[network]}${ROUTES.matrixLoginFetch}`, {
|
|
188
|
+
method: "POST",
|
|
189
|
+
headers: { "content-type": "application/json" },
|
|
190
|
+
body: JSON.stringify({ hash, secureNonce: nonceFor(hash, secret) }),
|
|
191
|
+
signal: AbortSignal.timeout(RELAY_TIMEOUT_MS),
|
|
192
|
+
cache: "no-store"
|
|
193
|
+
});
|
|
194
|
+
if (response.status >= 500)
|
|
195
|
+
throw new Error(`signx relay answered ${response.status}`);
|
|
196
|
+
const body = (await response.json().catch(() => null));
|
|
197
|
+
if (!body)
|
|
198
|
+
throw new Error("the signing relay answered with nothing");
|
|
199
|
+
if (stillWaiting(body))
|
|
200
|
+
return null;
|
|
201
|
+
const refused = refusalIn(body);
|
|
202
|
+
if (refused)
|
|
203
|
+
throw new SignXRefused(refused);
|
|
204
|
+
const matrix = unwrap(body);
|
|
205
|
+
return matrix?.accessToken ? matrix : null;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Dig the payload out of the relay's envelope.
|
|
209
|
+
*
|
|
210
|
+
* It nests twice — `{ success, data: { data: {…} } }` — and the SDK reads
|
|
211
|
+
* `response.data.data?.data ?? {}` before checking any field
|
|
212
|
+
* (`main/client.js`, `startPolling`). Reading one level short returns an object
|
|
213
|
+
* with none of the fields we look for, which is indistinguishable from "not yet"
|
|
214
|
+
* and polls forever. Both depths are accepted so a relay that ever flattens does
|
|
215
|
+
* not lock everybody out.
|
|
216
|
+
*/
|
|
217
|
+
/**
|
|
218
|
+
* **The status is in the body, not the status line.**
|
|
219
|
+
*
|
|
220
|
+
* The relay answers `201` for everything, including "nobody has answered yet",
|
|
221
|
+
* and puts the real outcome inside: `{"success":false,"code":418,"data":{…}}`.
|
|
222
|
+
* So branching on `response.status` reads a refusal as an answer and an answer
|
|
223
|
+
* as a refusal, depending on which way you guessed. Observed directly against
|
|
224
|
+
* `signx.testnet.ixo.earth`, 2026-08-16.
|
|
225
|
+
*/
|
|
226
|
+
/*
|
|
227
|
+
* **And `418` is the only code that means "not yet".**
|
|
228
|
+
*
|
|
229
|
+
* This read *every* `success:false` as waiting, so a session the relay had
|
|
230
|
+
* dropped, a nonce it refused and a transaction the phone declined were all
|
|
231
|
+
* indistinguishable from a person who had not picked their phone up yet — the
|
|
232
|
+
* QR simply stayed on screen until the whole request timed out minutes later,
|
|
233
|
+
* saying nothing. The relay's own contract is written in the SDK's
|
|
234
|
+
* `startPolling`: keep polling on 418, throw on anything else.
|
|
235
|
+
*/
|
|
236
|
+
const WAITING_CODE = 418;
|
|
237
|
+
/** Still waiting — and only this. Everything else is an answer of some kind. */
|
|
238
|
+
const stillWaiting = (body) => {
|
|
239
|
+
const envelope = body;
|
|
240
|
+
return Boolean(envelope && typeof envelope === "object" && envelope.success === false && envelope.code === WAITING_CODE);
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* A refusal the relay is telling us about, or `null` if this is a real answer.
|
|
244
|
+
*
|
|
245
|
+
* Two shapes carry one, and the SDK checks both: the outer envelope saying
|
|
246
|
+
* `success:false` with a code that is not 418 (the session is gone, the nonce
|
|
247
|
+
* was wrong), and an outer success wrapping an inner `success:false` — which is
|
|
248
|
+
* how a phone that **declined** comes back. A body we cannot parse at all is
|
|
249
|
+
* not a refusal: that is a relay we could not read, which the caller treats as
|
|
250
|
+
* a blip rather than an answer.
|
|
251
|
+
*/
|
|
252
|
+
const refusalIn = (body) => {
|
|
253
|
+
const envelope = body;
|
|
254
|
+
if (!envelope || typeof envelope !== "object")
|
|
255
|
+
return null;
|
|
256
|
+
const inner = envelope.data;
|
|
257
|
+
const spoken = inner?.data?.message ?? inner?.message;
|
|
258
|
+
if (envelope.success === false)
|
|
259
|
+
return spoken ?? `the signing relay would not answer (code ${envelope.code ?? "?"})`;
|
|
260
|
+
if (inner && inner.success === false)
|
|
261
|
+
return spoken ?? "your phone declined this";
|
|
262
|
+
return null;
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Something the relay told us, as opposed to a relay we could not reach.
|
|
266
|
+
*
|
|
267
|
+
* The distinction is the whole point: a refusal is final and should end the
|
|
268
|
+
* wait with its own words on screen, while an unreachable relay is worth one
|
|
269
|
+
* more try. Collapsing the two is what left people looking at a dead QR.
|
|
270
|
+
*/
|
|
271
|
+
export class SignXRefused extends Error {
|
|
272
|
+
}
|
|
273
|
+
const unwrap = (body) => {
|
|
274
|
+
const outer = body && typeof body === "object" && "data" in body ? body.data : body;
|
|
275
|
+
const inner = outer && typeof outer === "object" && "data" in outer ? outer.data : outer;
|
|
276
|
+
return (inner ?? outer);
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Ask the relay whether the phone has answered yet.
|
|
280
|
+
*
|
|
281
|
+
* `null` means "not yet", which is the ordinary case and not an error — a
|
|
282
|
+
* person takes seconds to find their phone. Only a relay that refuses or
|
|
283
|
+
* answers nonsense throws.
|
|
284
|
+
*/
|
|
285
|
+
export async function fetchLogin(network, hash, secret) {
|
|
286
|
+
const response = await fetch(`${SIGNX_RELAY[network]}${ROUTES.loginFetch}`, {
|
|
287
|
+
method: "POST",
|
|
288
|
+
headers: { "content-type": "application/json" },
|
|
289
|
+
/*
|
|
290
|
+
* **`secureNonce`, not just the hash.** The phone only ever saw
|
|
291
|
+
* `secureHash = sha256(hash + nonce)`; the nonce itself is the secret that
|
|
292
|
+
* proves we are the site that issued this login, and the relay will not
|
|
293
|
+
* release the account details without it. Polling with the hash alone gets
|
|
294
|
+
* a polite "nothing here" forever — the login succeeds on the phone and the
|
|
295
|
+
* desktop never finds out.
|
|
296
|
+
*
|
|
297
|
+
* Derived rather than remembered, which is the whole trick that lets start
|
|
298
|
+
* and poll be different serverless instances.
|
|
299
|
+
*/
|
|
300
|
+
body: JSON.stringify({ hash, secureNonce: nonceFor(hash, secret) }),
|
|
301
|
+
signal: AbortSignal.timeout(RELAY_TIMEOUT_MS),
|
|
302
|
+
cache: "no-store"
|
|
303
|
+
});
|
|
304
|
+
/* Only a transport-level failure is a failure; everything else is in the body. */
|
|
305
|
+
if (response.status >= 500)
|
|
306
|
+
throw new Error(`signx relay answered ${response.status}`);
|
|
307
|
+
const body = (await response.json().catch(() => null));
|
|
308
|
+
if (!body)
|
|
309
|
+
throw new Error("the signing relay answered with nothing");
|
|
310
|
+
if (stillWaiting(body))
|
|
311
|
+
return null;
|
|
312
|
+
const refused = refusalIn(body);
|
|
313
|
+
if (refused)
|
|
314
|
+
throw new SignXRefused(refused);
|
|
315
|
+
const user = unwrap(body);
|
|
316
|
+
/* An answer without an address is the relay saying "still waiting" in its own
|
|
317
|
+
dialect, not a user we can sign in. */
|
|
318
|
+
return user?.address && user.did ? user : null;
|
|
319
|
+
}
|
|
320
|
+
// ------------------------------------------------------------------ transact
|
|
321
|
+
/**
|
|
322
|
+
* Asking the phone to sign and broadcast.
|
|
323
|
+
*
|
|
324
|
+
* Every shape here was read out of `@ixo/signx-sdk` 1.3.2's own compiled
|
|
325
|
+
* source (`main/client.js`, `main/utils/encoding.js`) rather than from prose,
|
|
326
|
+
* because the phone recomputes the per-transaction hash and rejects anything
|
|
327
|
+
* that does not match byte for byte. Transact is **version 2**; login is still
|
|
328
|
+
* version 1. (INFRA §1.1 says the SDK uses v1 transact shapes — that is wrong
|
|
329
|
+
* for 1.3.2, whose own constants route through `/transaction/v2/*`.)
|
|
330
|
+
*
|
|
331
|
+
* The phone decodes the body, renders the messages on its own screen, signs,
|
|
332
|
+
* **and broadcasts itself**. So we never hold a key and never see one — what
|
|
333
|
+
* comes back is a result, not a signature.
|
|
334
|
+
*/
|
|
335
|
+
const TRANSACT_VERSION = 2;
|
|
336
|
+
const TRANSACT_ROUTES = {
|
|
337
|
+
create: "/transaction/v2/create",
|
|
338
|
+
add: "/transaction/v2/add",
|
|
339
|
+
response: "/transaction/v2/response",
|
|
340
|
+
next: "/transaction/v2/next"
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* The per-transaction hash the phone recomputes.
|
|
344
|
+
*
|
|
345
|
+
* Keys are sorted before stringify — the SDK does this deliberately so both
|
|
346
|
+
* ends agree regardless of property order. Reproduce it exactly or the phone
|
|
347
|
+
* silently refuses the transaction.
|
|
348
|
+
*/
|
|
349
|
+
export function hashTransactData(data) {
|
|
350
|
+
const formatted = { address: data.address, did: data.did, pubkey: data.pubkey, txBodyHex: data.txBodyHex, timestamp: data.timestamp };
|
|
351
|
+
return createHash("sha256").update(JSON.stringify(formatted, Object.keys(formatted).sort())).digest("hex");
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Open a transact session on the relay and return what the QR should carry.
|
|
355
|
+
*
|
|
356
|
+
* `secureNonce` is derived from the session hash under the server secret, the
|
|
357
|
+
* same trick login uses: `start` and `poll` are different route modules and,
|
|
358
|
+
* in production, different serverless instances, so anything remembered
|
|
359
|
+
* between them is gone by the time it is read.
|
|
360
|
+
*/
|
|
361
|
+
export async function startTransact(args) {
|
|
362
|
+
if (!args.account.address || !args.account.did || !args.account.pubkey)
|
|
363
|
+
throw new Error("account details missing");
|
|
364
|
+
if (args.txBodyHexes.length === 0)
|
|
365
|
+
throw new Error("no transactions to sign");
|
|
366
|
+
const timestamp = args.timestamp ?? new Date().toISOString();
|
|
367
|
+
const transactions = args.txBodyHexes.map((txBodyHex, index) => ({
|
|
368
|
+
hash: hashTransactData({ ...args.account, txBodyHex, timestamp }),
|
|
369
|
+
txBodyHex,
|
|
370
|
+
timestamp,
|
|
371
|
+
sequence: index + 1
|
|
372
|
+
}));
|
|
373
|
+
/*
|
|
374
|
+
* **The session hash is derived, not invented.**
|
|
375
|
+
*
|
|
376
|
+
* `sessionHash = sha256(firstTransactionHash + secureNonce)` — the SDK's
|
|
377
|
+
* `transact()`, and the relay checks it: a session hash that is not that
|
|
378
|
+
* function of the transaction it carries is refused with "Invalid request,
|
|
379
|
+
* hash mismatch". We used a random hash, so the session was never created at
|
|
380
|
+
* all, and the phone scanned a QR pointing at nothing: "Transaction session
|
|
381
|
+
* not found".
|
|
382
|
+
*
|
|
383
|
+
* The nonce comes off the **transaction** hash rather than the session hash,
|
|
384
|
+
* which it has to — the session hash is downstream of it. That keeps the
|
|
385
|
+
* stateless trick intact: `poll` recomputes the same nonce from the same
|
|
386
|
+
* transaction hash without either route remembering anything.
|
|
387
|
+
*/
|
|
388
|
+
const firstHash = transactions[0].hash;
|
|
389
|
+
const secureNonce = nonceFor(firstHash, args.secret);
|
|
390
|
+
const sessionHash = createHash("sha256").update(firstHash + secureNonce).digest("hex");
|
|
391
|
+
const response = await fetch(`${SIGNX_RELAY[args.network]}${TRANSACT_ROUTES.create}`, {
|
|
392
|
+
method: "POST",
|
|
393
|
+
headers: { "content-type": "application/json" },
|
|
394
|
+
body: JSON.stringify({
|
|
395
|
+
hash: sessionHash,
|
|
396
|
+
address: args.account.address,
|
|
397
|
+
did: args.account.did,
|
|
398
|
+
pubkey: args.account.pubkey,
|
|
399
|
+
transactions: { hash: sessionHash, secureNonce, transactions }
|
|
400
|
+
}),
|
|
401
|
+
signal: AbortSignal.timeout(RELAY_TIMEOUT_MS),
|
|
402
|
+
cache: "no-store"
|
|
403
|
+
});
|
|
404
|
+
if (response.status >= 500)
|
|
405
|
+
throw new Error(`signx relay refused the transaction: ${response.status}`);
|
|
406
|
+
/*
|
|
407
|
+
* The relay answers 201 whether it accepted the session or not, and says
|
|
408
|
+
* which in the body. Trusting the status line meant every refusal read as a
|
|
409
|
+
* success and the failure only surfaced later, on somebody's phone.
|
|
410
|
+
*/
|
|
411
|
+
const body = (await response.json().catch(() => null));
|
|
412
|
+
if (!body?.success)
|
|
413
|
+
throw new Error(body?.data?.message ?? "the signing relay would not open a session");
|
|
414
|
+
/*
|
|
415
|
+
* **The relay says which transaction the phone will be shown, and it has to
|
|
416
|
+
* be ours.** The SDK polls `activeTransaction.hash` rather than the hash it
|
|
417
|
+
* computed itself, which only matters when the two differ — a relay still
|
|
418
|
+
* holding an earlier session for this account hands that one back, the phone
|
|
419
|
+
* signs it, and we poll a hash nobody is ever going to answer. There is no
|
|
420
|
+
* symptom for that beyond a QR that never goes away, so it is named here.
|
|
421
|
+
*/
|
|
422
|
+
const active = body.data?.activeTransaction?.hash;
|
|
423
|
+
if (active && active !== firstHash)
|
|
424
|
+
throw new Error("the signing relay is still holding an earlier request. Give it a moment and try again");
|
|
425
|
+
return {
|
|
426
|
+
sessionHash,
|
|
427
|
+
transactionHash: firstHash,
|
|
428
|
+
request: {
|
|
429
|
+
sessionHash,
|
|
430
|
+
hash: firstHash,
|
|
431
|
+
type: "SIGN_X_TRANSACT",
|
|
432
|
+
sitename: args.sitename,
|
|
433
|
+
network: args.network,
|
|
434
|
+
version: TRANSACT_VERSION
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Poll for what the phone did.
|
|
440
|
+
*
|
|
441
|
+
* `null` is "not yet" — the relay answers **418** for that, which is the one
|
|
442
|
+
* status here that is neither success nor failure.
|
|
443
|
+
*
|
|
444
|
+
* The trap worth naming: **a broadcast that landed with `code ≠ 0` still
|
|
445
|
+
* arrives on the success channel** (INFRA §1.1, from the mobile source). So a
|
|
446
|
+
* caller must check `code`, and `signWithSession` does.
|
|
447
|
+
*/
|
|
448
|
+
export async function pollTransact(args) {
|
|
449
|
+
const response = await fetch(`${SIGNX_RELAY[args.network]}${TRANSACT_ROUTES.response}`, {
|
|
450
|
+
method: "POST",
|
|
451
|
+
headers: { "content-type": "application/json" },
|
|
452
|
+
body: JSON.stringify({ hash: args.transactionHash, secureNonce: nonceFor(args.transactionHash, args.secret) }),
|
|
453
|
+
signal: AbortSignal.timeout(RELAY_TIMEOUT_MS),
|
|
454
|
+
cache: "no-store"
|
|
455
|
+
});
|
|
456
|
+
if (response.status >= 500)
|
|
457
|
+
throw new Error(`signx relay answered ${response.status}`);
|
|
458
|
+
const body = (await response.json().catch(() => null));
|
|
459
|
+
if (!body)
|
|
460
|
+
throw new Error("the signing relay answered with nothing");
|
|
461
|
+
/* 418 is "not signed yet" and arrives in the body with success:false. */
|
|
462
|
+
if (stillWaiting(body))
|
|
463
|
+
return null;
|
|
464
|
+
const refused = refusalIn(body);
|
|
465
|
+
if (refused)
|
|
466
|
+
throw new SignXRefused(refused);
|
|
467
|
+
const data = unwrap(body);
|
|
468
|
+
/* An answer with no code is not "not yet" — it is an answer we cannot read,
|
|
469
|
+
and returning null for it dropped the caller back into a silent wait. The
|
|
470
|
+
relay has spoken by here; if we cannot make sense of it, say so. */
|
|
471
|
+
if (!data || typeof data.code !== "number")
|
|
472
|
+
throw new SignXRefused("the relay answered without a signing result");
|
|
473
|
+
return data;
|
|
474
|
+
}
|
|
475
|
+
//# sourceMappingURL=signx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signx.js","sourceRoot":"","sources":["../../../src/chain/signx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sponsor.d.ts","sourceRoot":"","sources":["../../../src/chain/sponsor.ts"],"names":[],"mappings":"AAyCA,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAK,EAAE,WAAW,GAAE,MAAM,EAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CA+BtH"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { getFeegrantGranter, getUixoBalance } from "./query.js";
|
|
2
|
+
/**
|
|
3
|
+
* Gas for somebody who holds money but not the gas coin.
|
|
4
|
+
*
|
|
5
|
+
* Gas is `uixo` on every network, whatever an ask pays in. So on a PAY board
|
|
6
|
+
* the person who just bought credit with a card holds money and **cannot
|
|
7
|
+
* sign** — not the draw that brings it to their key, not the ask they bought
|
|
8
|
+
* it for. On testnet the faucet hides this (`ensureGas`); on mainnet there is
|
|
9
|
+
* no faucet and the whole path dies at the first signature.
|
|
10
|
+
*
|
|
11
|
+
* `broadcast.ts` already spends a feegrant when one exists, so nothing
|
|
12
|
+
* downstream changes: this only makes sure one exists before the first
|
|
13
|
+
* signature of a money path. The gate decides whether to give it — and refuses
|
|
14
|
+
* anybody who cannot prove they hold PAY or have credit waiting.
|
|
15
|
+
*
|
|
16
|
+
* Silent by design at every failure. This is a **convenience over the top of**
|
|
17
|
+
* the ordinary path: on testnet the faucet still runs, and a refusal here must
|
|
18
|
+
* never be what stops somebody who could have signed anyway. The transaction
|
|
19
|
+
* that follows is the real test, and it says its own error properly.
|
|
20
|
+
*/
|
|
21
|
+
/** Enough gas to not need help. Matches `ensureGas`'s own threshold. */
|
|
22
|
+
const ENOUGH_UIXO = 100_000;
|
|
23
|
+
const WAIT_MS = 800;
|
|
24
|
+
const TRIES = 12;
|
|
25
|
+
/**
|
|
26
|
+
* `site` is for callers that are not a browser — the MCP server runs in Node,
|
|
27
|
+
* where a relative URL has nothing to be relative to. Empty (the browser's
|
|
28
|
+
* case) keeps the same-origin fetch every other app route uses.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* What the sponsorship must be able to pay for when the caller does not say.
|
|
32
|
+
*
|
|
33
|
+
* "Some granter exists" is not "sponsored": this granter stands behind three
|
|
34
|
+
* doors, and the gate's submit-only gas or a union grant cannot pay to post
|
|
35
|
+
* an ask. Callers about to sign something else — a draw, a pledge — say so.
|
|
36
|
+
*/
|
|
37
|
+
const POSTS_ASKS = ["/ixo.entity.v1beta1.MsgCreateEntity"];
|
|
38
|
+
export async function ensureSponsored(address, site = "", forMessages = POSTS_ASKS) {
|
|
39
|
+
if (!address)
|
|
40
|
+
return false;
|
|
41
|
+
try {
|
|
42
|
+
/* Already able to pay, or already sponsored by someone. Either way, done —
|
|
43
|
+
and asking again would have the gate pay twice for one person's gas. */
|
|
44
|
+
if ((await getUixoBalance(address)) > ENOUGH_UIXO)
|
|
45
|
+
return false;
|
|
46
|
+
if (await getFeegrantGranter(address, forMessages))
|
|
47
|
+
return true;
|
|
48
|
+
const response = await fetch(`${site}/api/grant`, {
|
|
49
|
+
method: "POST",
|
|
50
|
+
headers: { "content-type": "application/json" },
|
|
51
|
+
body: JSON.stringify({ kind: "poster", address }),
|
|
52
|
+
signal: AbortSignal.timeout(60_000)
|
|
53
|
+
});
|
|
54
|
+
if (!response.ok)
|
|
55
|
+
return false;
|
|
56
|
+
/*
|
|
57
|
+
* Wait for the grant to be readable, not just broadcast. The signature
|
|
58
|
+
* that follows reads the feegrant itself, and a block that has not been
|
|
59
|
+
* indexed yet reads exactly like no grant at all — which would send the
|
|
60
|
+
* caller down the faucet path it just paid to avoid.
|
|
61
|
+
*/
|
|
62
|
+
for (let attempt = 0; attempt < TRIES; attempt += 1) {
|
|
63
|
+
if (await getFeegrantGranter(address, forMessages))
|
|
64
|
+
return true;
|
|
65
|
+
await new Promise((wait) => setTimeout(wait, WAIT_MS));
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=sponsor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sponsor.js","sourceRoot":"","sources":["../../../src/chain/sponsor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wEAAwE;AACxE,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,KAAK,GAAG,EAAE,CAAC;AAEjB;;;;GAIG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,IAAI,GAAG,EAAE,EAAE,cAAwB,UAAU;IAClG,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,IAAI,CAAC;QACH;kFAC0E;QAC1E,IAAI,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW;YAAE,OAAO,KAAK,CAAC;QAChE,IAAI,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE/B;;;;;WAKG;QACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChE,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|