tenzro-wallet 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +10 -5
  2. package/dist/ports/attested-clock/adapter.d.ts +13 -0
  3. package/dist/ports/attested-clock/adapter.d.ts.map +1 -0
  4. package/dist/ports/attested-clock/adapter.js +20 -0
  5. package/dist/ports/attested-clock/adapter.js.map +1 -0
  6. package/dist/ports/attested-clock/attested-clock.d.ts +20 -0
  7. package/dist/ports/attested-clock/attested-clock.d.ts.map +1 -0
  8. package/dist/ports/attested-clock/attested-clock.js +12 -0
  9. package/dist/ports/attested-clock/attested-clock.js.map +1 -0
  10. package/dist/ports/attested-clock/index.d.ts +4 -0
  11. package/dist/ports/attested-clock/index.d.ts.map +1 -0
  12. package/dist/ports/attested-clock/index.js +2 -0
  13. package/dist/ports/attested-clock/index.js.map +1 -0
  14. package/dist/ports/bridge-fee/adapter.d.ts +18 -0
  15. package/dist/ports/bridge-fee/adapter.d.ts.map +1 -0
  16. package/dist/ports/bridge-fee/adapter.js +94 -0
  17. package/dist/ports/bridge-fee/adapter.js.map +1 -0
  18. package/dist/ports/bridge-fee/bridge-fee.d.ts +87 -0
  19. package/dist/ports/bridge-fee/bridge-fee.d.ts.map +1 -0
  20. package/dist/ports/bridge-fee/bridge-fee.js +15 -0
  21. package/dist/ports/bridge-fee/bridge-fee.js.map +1 -0
  22. package/dist/ports/bridge-fee/index.d.ts +4 -0
  23. package/dist/ports/bridge-fee/index.d.ts.map +1 -0
  24. package/dist/ports/bridge-fee/index.js +2 -0
  25. package/dist/ports/bridge-fee/index.js.map +1 -0
  26. package/dist/ports/erc7683/erc7683.d.ts +17 -0
  27. package/dist/ports/erc7683/erc7683.d.ts.map +1 -1
  28. package/dist/ports/erc7683/index.d.ts +1 -1
  29. package/dist/ports/erc7683/index.d.ts.map +1 -1
  30. package/dist/ports/erc7683/index.js.map +1 -1
  31. package/dist/ports/index.d.ts +7 -0
  32. package/dist/ports/index.d.ts.map +1 -1
  33. package/dist/ports/index.js +20 -0
  34. package/dist/ports/index.js.map +1 -1
  35. package/dist/ports/ivms101/adapter.d.ts +12 -0
  36. package/dist/ports/ivms101/adapter.d.ts.map +1 -0
  37. package/dist/ports/ivms101/adapter.js +21 -0
  38. package/dist/ports/ivms101/adapter.js.map +1 -0
  39. package/dist/ports/ivms101/index.d.ts +4 -0
  40. package/dist/ports/ivms101/index.d.ts.map +1 -0
  41. package/dist/ports/ivms101/index.js +2 -0
  42. package/dist/ports/ivms101/index.js.map +1 -0
  43. package/dist/ports/ivms101/ivms101.d.ts +25 -0
  44. package/dist/ports/ivms101/ivms101.d.ts.map +1 -0
  45. package/dist/ports/ivms101/ivms101.js +11 -0
  46. package/dist/ports/ivms101/ivms101.js.map +1 -0
  47. package/dist/ports/signed-agent-card/adapter.d.ts +13 -0
  48. package/dist/ports/signed-agent-card/adapter.d.ts.map +1 -0
  49. package/dist/ports/signed-agent-card/adapter.js +21 -0
  50. package/dist/ports/signed-agent-card/adapter.js.map +1 -0
  51. package/dist/ports/signed-agent-card/index.d.ts +4 -0
  52. package/dist/ports/signed-agent-card/index.d.ts.map +1 -0
  53. package/dist/ports/signed-agent-card/index.js +2 -0
  54. package/dist/ports/signed-agent-card/index.js.map +1 -0
  55. package/dist/ports/signed-agent-card/signed-agent-card.d.ts +28 -0
  56. package/dist/ports/signed-agent-card/signed-agent-card.d.ts.map +1 -0
  57. package/dist/ports/signed-agent-card/signed-agent-card.js +11 -0
  58. package/dist/ports/signed-agent-card/signed-agent-card.js.map +1 -0
  59. package/dist/ports/urwa/adapter.d.ts +16 -0
  60. package/dist/ports/urwa/adapter.d.ts.map +1 -0
  61. package/dist/ports/urwa/adapter.js +63 -0
  62. package/dist/ports/urwa/adapter.js.map +1 -0
  63. package/dist/ports/urwa/index.d.ts +4 -0
  64. package/dist/ports/urwa/index.d.ts.map +1 -0
  65. package/dist/ports/urwa/index.js +2 -0
  66. package/dist/ports/urwa/index.js.map +1 -0
  67. package/dist/ports/urwa/urwa.d.ts +58 -0
  68. package/dist/ports/urwa/urwa.d.ts.map +1 -0
  69. package/dist/ports/urwa/urwa.js +10 -0
  70. package/dist/ports/urwa/urwa.js.map +1 -0
  71. package/dist/ports/wormhole-ntt/adapter.d.ts +13 -0
  72. package/dist/ports/wormhole-ntt/adapter.d.ts.map +1 -0
  73. package/dist/ports/wormhole-ntt/adapter.js +23 -0
  74. package/dist/ports/wormhole-ntt/adapter.js.map +1 -0
  75. package/dist/ports/wormhole-ntt/index.d.ts +4 -0
  76. package/dist/ports/wormhole-ntt/index.d.ts.map +1 -0
  77. package/dist/ports/wormhole-ntt/index.js +2 -0
  78. package/dist/ports/wormhole-ntt/index.js.map +1 -0
  79. package/dist/ports/wormhole-ntt/wormhole-ntt.d.ts +22 -0
  80. package/dist/ports/wormhole-ntt/wormhole-ntt.d.ts.map +1 -0
  81. package/dist/ports/wormhole-ntt/wormhole-ntt.js +10 -0
  82. package/dist/ports/wormhole-ntt/wormhole-ntt.js.map +1 -0
  83. package/package.json +3 -3
package/README.md CHANGED
@@ -11,7 +11,9 @@ The official wallet for [Tenzro Network](https://tenzro.com) — a browser-clean
11
11
  - **First-class Canton / DAML support.** Three surfaces for regulated-finance flows (`cantonInternalSurface` for single-party flows, `cantonExternalSurface` for multi-party flows across synchronizers, `cantonOnboardingSurface` for external-party onboarding) backed by `CantonValidatorPort` + `CantonIdentityPort` + `LedgerApiAdapter` (Canton JSON Ledger API v2). The kernel signs Canton `prepare` / `execute` submissions through its passkey-quorum custody, computes the prepared-transaction hash and topology-bundle hash itself, and surfaces every Canton flow alongside EVM / SVM / native flows in the same router.
12
12
  - **Agent payments built-in** — AP2 (Google), x402 (Coinbase), Visa TAP, Mastercard Agent Pay, OpenAI ACP, ERC-8004 trustless agent identity, ERC-7802 cross-chain mint/burn.
13
13
  - **Capital markets + multi-party workflows** — Capital Intents (open / quote / assign / execute / verify / compensate / settle), reserve attestations + attested mints, saga workflows with AP2 / x402 / MPP / Stripe SPT / Visa TAP / Mastercard Agent Pay mandate binding.
14
- - **EVM primitives, first-class** — EIP-7702 (Pectra Type-4) delegation, Permit2 SignatureTransfer with optional ERC-7683-witness binding, Secure-Mint registry (1:1 reserve invariant for tokenized RWAs), ERC-7683 cross-chain intents.
14
+ - **EVM primitives, first-class** — EIP-7702 (Pectra Type-4) delegation, Permit2 SignatureTransfer with optional ERC-7683-witness binding, Secure-Mint registry (1:1 reserve invariant for tokenized RWAs), ERC-7683 cross-chain intents with optional `BridgeFeeHint` so one signed order is fungible across the 6 supported bridges.
15
+ - **Bridge fee in TNZO + Chainlink-backed oracle.** `BridgeFeeAdapter` lets the wallet quote destination-native bridge fees in TNZO, surface per-adapter sponsorship-pool state, sponsor a previously-quoted envelope, and read the caller's own Compute Unit consumption + per-method counters. The operator's node enables a live Chainlink-backed oracle when configured; otherwise quotes fall back to the governance-set rate table. Admin-only paths (rate registration, refill-threshold tuning, cross-tenant analytics) gated by `X-Tenzro-Admin-Token`.
16
+ - **Compliance + identity primitives.** `UrwaAdapter` (ERC-7943 uRWA kill-switch + frozen-tokens reads for the signing UI; admin-token-gated mutations), `Ivms101Adapter` (FATF Travel Rule IVMS101 v1.1.0 envelope canonical-hash binding), `AttestedClockAdapter` (TEE-attested timestamp envelope for saga step deadlines + AP2 mandate validity windows + parametric-insurance trigger windows), `SignedAgentCardAdapter` (A2A v1.0 SignedAgentCard canonical-hash for issuer-signed agent cards), `WormholeNttAdapter` (NTT chain catalog + transceiver registry).
15
17
  - **Eight-vendor bridge router** — LI.FI, Chainlink CCIP, LayerZero V2, Wormhole, deBridge, Canton HTLC, Hyperlane V3 (sovereign Tenzro-ISM), Axelar GMP (Cosmos / Move / Stellar / XRPL). The kernel never picks a vendor for you; it surfaces all available quotes.
16
18
  - **Chain-agnostic discovery (CAIP)** — CAIP-2 / CAIP-10 / CAIP-19 per the submitted `tenzro` CASA namespace (`ChainAgnostic/namespaces#184`), so every dApp connect + agent handshake returns unambiguous chain + account + asset labels.
17
19
  - **Babylon BTC-secured staking, surfaced.** Read-side surface for staking dashboards (list finality providers, sum BTC delegations, list delegations) plus validator-operator write paths so a validator host can use the wallet kernel as the EOTS signing surface.
@@ -95,6 +97,10 @@ Six independent VM surfaces — Tenzro native, EVM-on-Tenzro, SVM-on-Tenzro, Can
95
97
  | Discovery port | `CaipAdapter` — `caip2()` / `caip10(address)` / `caip19({ kind, token_id?, collection_id?, nft_token_id? })` per the submitted `tenzro` CASA namespace. |
96
98
  | Shared-security port | `BabylonAdapter` — read surface for staking dashboards (`listFinalityProviders` / `totalStakeForProvider` / `listDelegations`) + validator-operator write paths (`registerFinalityProvider` / `submitFinalitySignature`) so a validator host can use the wallet kernel as the signing surface. |
97
99
  | Distributed-training port | `TrainingAdapter(read[, write])` — read + write surface for the Tenzro Train protocol layer. Read methods inspect active runs, sealed receipts, and Confidential-tier sealed-shard manifests. Write methods (gated on a `TrainingClient`) post tasks, enroll trainers (with `ConfidentialEnrollment` for Phase 4 TEE-attested enrollment), submit outer gradients, finalize rounds, install sealed-shard manifests. |
100
+ | Bridge-fee + Chainlink port | `BridgeFeeAdapter` — cross-chain bridge fees in TNZO. `quote()` for destination-native fees, `listSponsorshipPools()` for per-adapter vault state, `sponsor()` against a previously-quoted envelope, `getAnalytics()` for subject self-read of CU consumption + per-method counters. Admin-only paths (`setRate()`, `setRefillThreshold()`, `listAnalytics()`) gated by `X-Tenzro-Admin-Token`. Read paths consult the operator's configured Chainlink-backed fee oracle when enabled; otherwise fall back to the governance-set rate table. Per-tenant rate-limiting + Compute Unit attribution applies — the read paths require a `chainlink`-scoped API key on the node. |
101
+ | Compliance + identity ports | `UrwaAdapter` (ERC-7943 — `isKillSwitched` / `getFrozenTokens` reads for the signing UI; admin-token-gated `setFrozenTokens` / `triggerKillSwitch` / `clearKillSwitch` mutations), `Ivms101Adapter` (FATF Travel Rule IVMS101 v1.1.0 envelope canonical-hash for cross-border transfer binding), `SignedAgentCardAdapter` (A2A v1.0 SignedAgentCard canonical-hash for issuer-signed agent cards), `AttestedClockAdapter` (TEE-attested timestamp envelope for saga step deadlines + obligation expiries + AP2 mandate validity windows + parametric-insurance trigger windows). |
102
+ | Wormhole NTT port | `WormholeNttAdapter` — Native Token Transfers chain catalog + multi-transceiver registry (Wormhole / Axelar / LayerZero / custom). Surfaces NTT chain reach so the signing UI shows which destination chains an NTT-deployed token can reach. |
103
+ | ERC-7683 `BridgeFeeHint` | Optional addition to `TenzroOrderData` that makes a single user-signed order fungible across the 6 supported bridges. The TNZO ceiling bounds the solver's destination-native fee commitment; the wallet UI surfaces the ceiling to the signer. |
98
104
  | Surfaces | `tenzroNativeSurface`, `evmOnTenzroSurface`, `svmOnTenzroSurface`, `cantonInternalSurface`, `cantonExternalSurface`, `cantonOnboardingSurface`. |
99
105
  | Router | `routeIntent()` — chooses the right surface (or bridge) for an intent and returns a typed plan. |
100
106
  | Balance aggregator | `BalanceAggregator` — single-pass cross-surface balance read. |
@@ -128,10 +134,9 @@ Testnet-functional today against the live Tenzro testnet at `rpc.tenzro.network`
128
134
  | M7 | Settlement (Visa TAP, Mastercard Agent Pay, x402) | Settle-side shipped (`payVisaTap`, `payMastercard`, `payX402`); issuance-side hooks declared, SDK-pending |
129
135
  | M8 | Bridge router | Eight per-vendor adapters live (`lifi`, `ccip`, `layerzero`, `wormhole`, `debridge`, `canton`, `hyperlane`, `axelar`); SDK-shipped — all forward to the same `client.bridge` with `vendor:BridgeAdapterId` multiplexing |
130
136
  | M9 | TDIP integration (delegate sets, recovery flows) | Kernel orchestrators shipped |
131
- | M10 | Capital markets + workflows + EVM primitives + extended cross-chain reach + CAIP discovery | Ports + nine adapters shipped against `tenzro-sdk@^0.4.2` |
132
- | M11 | Babylon Bitcoin staking + Tenzro Train protocol port (Phase 4 Confidential-tier) | Babylon port (read + validator-write surface) + Training port (`TrainingAdapter(read)` for monitoring, `TrainingAdapter(read, write)` for full custodial enrollment + sealed-shard manifest install) against `tenzro-sdk@^0.4.2` |
133
- | M12 | Canton 3.5+ JSON Ledger API extension | `CantonClient` extended with 10 new methods through the Tenzro node (`uploadDar`, `listParties`, `health`, `version`, `getMyUser`, `cantonCoinBalance`, `feeSchedule`, `connectedSynchronizers`, `listPackages`, `getTransaction`). Verified against Canton 3.5.1 DevNet: live `activeAtOffset` Long fetched per query, FQ party id resolved via CIP-26 (`GET /v2/users/<client_id>@clients`), DAR upload via `POST /v2/packages` with a single Content-Type. |
134
- | M13 | Canton multi-tenant isolation (Stage 1) | `CantonClient` extended with `allocateParty`, `grantUserRights`, `listUserRights`, `getMyAnalytics`, `listApiKeyAnalytics` against `tenzro-sdk@^0.4.3`. The Tenzro node binds each API key to a Canton User Management Service user id at issuance; canton-scoped calls auto-forward `actAs` as the bound user's `primaryParty`. Canton's AuthService enforces per-user CanActAs server-side; per-tenant call counters persist in RocksDB (`CF_CANTON_ANALYTICS`). |
137
+ | M10 | Capital markets + workflows + EVM primitives + extended cross-chain reach + CAIP discovery | Ports + nine adapters shipped against `tenzro-sdk@^0.4.1` |
138
+ | M11 | Babylon Bitcoin staking + Tenzro Train protocol port (Phase 4 Confidential-tier) | Babylon port (read + validator-write surface) + Training port (`TrainingAdapter(read)` for monitoring, `TrainingAdapter(read, write)` for full custodial enrollment + sealed-shard manifest install) against `tenzro-sdk@^0.4.1` |
139
+ | M12 | Cross-chain bridge fee in TNZO + Chainlink-backed oracle + ERC-7683 `BridgeFeeHint` + ERC-7943 uRWA compliance + FATF IVMS101 + A2A SignedAgentCard + TEE-attested clock + Wormhole NTT | Six new ports + adapters (`BridgeFeeAdapter`, `UrwaAdapter`, `Ivms101Adapter`, `AttestedClockAdapter`, `SignedAgentCardAdapter`, `WormholeNttAdapter`) plus `BridgeFeeHint` on `Erc7683` against `tenzro-sdk@^0.4.7`. Per-tenant Compute Unit attribution + GCRA rate-limit on `chainlink`-scoped methods at the node layer. |
135
140
 
136
141
  **407 unit tests** pass; 5 env-gated integration smokes exercise the live testnet end-to-end.
137
142
 
@@ -0,0 +1,13 @@
1
+ /**
2
+ * AttestedClockAdapter — `AttestedClockPort` backed by `tenzro-sdk`
3
+ * `AttestedClockClient`.
4
+ */
5
+ import type { AttestedClockClient } from 'tenzro-sdk';
6
+ import type { AttestedClockPort, AttestedTimestamp } from './attested-clock.js';
7
+ export type AttestedClockClientLike = Pick<AttestedClockClient, 'now'>;
8
+ export declare class AttestedClockAdapter implements AttestedClockPort {
9
+ private readonly client;
10
+ constructor(client: AttestedClockClientLike);
11
+ now(): Promise<AttestedTimestamp>;
12
+ }
13
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/attested-clock/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AAEvE,qBAAa,oBAAqB,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,uBAAuB;IAEtD,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;CASxC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * AttestedClockAdapter — `AttestedClockPort` backed by `tenzro-sdk`
3
+ * `AttestedClockClient`.
4
+ */
5
+ export class AttestedClockAdapter {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ async now() {
11
+ const r = await this.client.now();
12
+ return {
13
+ wallMs: r.wall_ms,
14
+ monotonicNs: r.monotonic_ns,
15
+ teeVendor: r.tee_vendor,
16
+ ...(r.note !== undefined ? { note: r.note } : {}),
17
+ };
18
+ }
19
+ }
20
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/attested-clock/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAEhE,KAAK,CAAC,GAAG;QACP,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * AttestedClockPort — TEE-attested timestamp envelope.
3
+ *
4
+ * Wallet usage: long-running operations (saga step deadlines,
5
+ * obligation expiries, AP2 mandate validity windows, parametric
6
+ * insurance trigger windows, margin-call grace periods) need a
7
+ * tamper-resistant timestamp. The wallet asks the node for an
8
+ * attested-clock envelope, surfaces `wallMs` to the user, and binds
9
+ * the envelope into the operation it's signing.
10
+ */
11
+ export interface AttestedTimestamp {
12
+ readonly wallMs: number;
13
+ readonly monotonicNs: number;
14
+ readonly teeVendor: string | null;
15
+ readonly note?: string;
16
+ }
17
+ export interface AttestedClockPort {
18
+ now(): Promise<AttestedTimestamp>;
19
+ }
20
+ //# sourceMappingURL=attested-clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attested-clock.d.ts","sourceRoot":"","sources":["../../../src/ports/attested-clock/attested-clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACnC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AttestedClockPort — TEE-attested timestamp envelope.
3
+ *
4
+ * Wallet usage: long-running operations (saga step deadlines,
5
+ * obligation expiries, AP2 mandate validity windows, parametric
6
+ * insurance trigger windows, margin-call grace periods) need a
7
+ * tamper-resistant timestamp. The wallet asks the node for an
8
+ * attested-clock envelope, surfaces `wallMs` to the user, and binds
9
+ * the envelope into the operation it's signing.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=attested-clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attested-clock.js","sourceRoot":"","sources":["../../../src/ports/attested-clock/attested-clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,4 @@
1
+ export type { AttestedClockPort, AttestedTimestamp } from './attested-clock.js';
2
+ export { AttestedClockAdapter } from './adapter.js';
3
+ export type { AttestedClockClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/attested-clock/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AttestedClockAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/attested-clock/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * BridgeFeeAdapter — `BridgeFeePort` backed by `tenzro-sdk` `BridgeFeeClient`.
3
+ */
4
+ import type { BridgeFeeClient } from 'tenzro-sdk';
5
+ import type { BridgeFeePort, BridgeFeeQuote, BridgeKeyAnalytics, BridgeSponsorshipPool, BridgeSponsorshipReceipt, QuoteBridgeFeeRequest, SetBridgeFeeRateRequest, SponsorBridgeFeeRequest } from './bridge-fee.js';
6
+ export type BridgeFeeClientLike = Pick<BridgeFeeClient, 'quote' | 'listSponsorshipPools' | 'sponsor' | 'getAnalytics' | 'setRate' | 'setRefillThreshold' | 'listAnalytics'>;
7
+ export declare class BridgeFeeAdapter implements BridgeFeePort {
8
+ private readonly client;
9
+ constructor(client: BridgeFeeClientLike);
10
+ quote(req: QuoteBridgeFeeRequest): Promise<BridgeFeeQuote>;
11
+ listSponsorshipPools(): Promise<readonly BridgeSponsorshipPool[]>;
12
+ sponsor(req: SponsorBridgeFeeRequest): Promise<BridgeSponsorshipReceipt>;
13
+ getAnalytics(): Promise<BridgeKeyAnalytics>;
14
+ setRate(req: SetBridgeFeeRateRequest): Promise<unknown>;
15
+ setRefillThreshold(adapter: string, refillThresholdBps: number): Promise<unknown>;
16
+ listAnalytics(_keyId?: string): Promise<readonly BridgeKeyAnalytics[]>;
17
+ }
18
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/bridge-fee/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACb,OAAO,GACP,sBAAsB,GACtB,SAAS,GACT,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,eAAe,CAClB,CAAC;AA0BF,qBAAa,gBAAiB,YAAW,aAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAElD,KAAK,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAe1D,oBAAoB,IAAI,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC;IAajE,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0BxE,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKjD,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvD,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC;IAIb,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC;CAI7E"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * BridgeFeeAdapter — `BridgeFeePort` backed by `tenzro-sdk` `BridgeFeeClient`.
3
+ */
4
+ function toAnalytics(o) {
5
+ return {
6
+ keyId: o.key_id,
7
+ callsTotal: o.calls_total,
8
+ errorsTotal: o.errors_total,
9
+ callsByMethod: o.calls_by_method,
10
+ errorsByMethod: o.errors_by_method,
11
+ cuConsumedTotal: o.cu_consumed_total,
12
+ ...(o.first_seen_at !== undefined ? { firstSeenAt: o.first_seen_at } : {}),
13
+ ...(o.last_called_at !== undefined ? { lastCalledAt: o.last_called_at } : {}),
14
+ rateLimitRejections: o.rate_limit_rejections,
15
+ };
16
+ }
17
+ export class BridgeFeeAdapter {
18
+ client;
19
+ constructor(client) {
20
+ this.client = client;
21
+ }
22
+ async quote(req) {
23
+ const r = await this.client.quote({
24
+ adapter: req.adapter,
25
+ dest_chain: req.destChain,
26
+ native_fee_smallest_unit: req.nativeFeeSmallestUnit,
27
+ });
28
+ return {
29
+ adapter: r.adapter,
30
+ destChain: r.dest_chain,
31
+ nativeFeeSmallestUnit: r.native_fee_smallest_unit,
32
+ tnzoAmountWei: r.tnzo_amount_wei,
33
+ oracleBacking: r.oracle_backing,
34
+ };
35
+ }
36
+ async listSponsorshipPools() {
37
+ const r = await this.client.listSponsorshipPools();
38
+ return r.pools.map((p) => ({
39
+ adapter: p.adapter,
40
+ vaultAddressHex: p.vault_address_hex,
41
+ tnzoBalanceWei: p.tnzo_balance_wei,
42
+ nativeOutstandingSmallestUnit: p.native_outstanding_smallest_unit,
43
+ ...(p.refill_threshold_bps !== undefined
44
+ ? { refillThresholdBps: p.refill_threshold_bps }
45
+ : {}),
46
+ }));
47
+ }
48
+ async sponsor(req) {
49
+ const r = await this.client.sponsor({
50
+ quote_id_hex: req.quoteIdHex,
51
+ adapter: req.adapter,
52
+ dest_chain: req.destChain,
53
+ native_fee_smallest_unit: req.nativeFeeSmallestUnit,
54
+ tnzo_amount_wei: req.tnzoAmountWei,
55
+ rate_q18_hex: req.rateQ18Hex,
56
+ issued_at_ms: req.issuedAtMs,
57
+ valid_until_ms: req.validUntilMs,
58
+ ...(req.oracleBacking !== undefined ? { oracle_backing: req.oracleBacking } : {}),
59
+ payer_did: req.payerDid,
60
+ });
61
+ return {
62
+ sponsorshipIdHex: r.sponsorship_id_hex,
63
+ quoteIdHex: r.quote_id_hex,
64
+ adapter: r.adapter,
65
+ destChain: r.dest_chain,
66
+ payerDid: r.payer_did,
67
+ tnzoPaidWei: r.tnzo_paid_wei,
68
+ nativeCommittedSmallestUnit: r.native_committed_smallest_unit,
69
+ sponsoredAtMs: r.sponsored_at_ms,
70
+ poolAddressHex: r.pool_address_hex,
71
+ };
72
+ }
73
+ async getAnalytics() {
74
+ const r = await this.client.getAnalytics();
75
+ return toAnalytics(r);
76
+ }
77
+ setRate(req) {
78
+ return this.client.setRate({
79
+ adapter: req.adapter,
80
+ dest_chain: req.destChain,
81
+ rate_q18: req.rateQ18,
82
+ markup_bps: req.markupBps,
83
+ valid_window_ms: req.validWindowMs,
84
+ });
85
+ }
86
+ setRefillThreshold(adapter, refillThresholdBps) {
87
+ return this.client.setRefillThreshold(adapter, refillThresholdBps);
88
+ }
89
+ async listAnalytics(_keyId) {
90
+ const r = await this.client.listAnalytics();
91
+ return r.analytics.map(toAnalytics);
92
+ }
93
+ }
94
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/bridge-fee/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * BridgeFeePort — destination-native bridge fees paid in TNZO.
3
+ *
4
+ * Wallet usage:
5
+ * 1. Quote: ask the node for the TNZO-denominated cost of a
6
+ * destination-native bridge fee, surface it to the signer.
7
+ * 2. Sponsor: debit TNZO from the user, credit the per-adapter
8
+ * sponsorship-pool vault.
9
+ * 3. Analytics: subject self-read of CU consumption + counters.
10
+ *
11
+ * Admin paths (`setRate`, `setRefillThreshold`, `listAnalytics`) are
12
+ * operator-only and gated by `X-Tenzro-Admin-Token` at the node layer.
13
+ */
14
+ export interface QuoteBridgeFeeRequest {
15
+ readonly adapter: string;
16
+ readonly destChain: string;
17
+ readonly nativeFeeSmallestUnit: string;
18
+ }
19
+ export interface BridgeFeeQuote {
20
+ readonly adapter: string;
21
+ readonly destChain: string;
22
+ readonly nativeFeeSmallestUnit: string;
23
+ readonly tnzoAmountWei: string;
24
+ readonly oracleBacking: string;
25
+ }
26
+ export interface BridgeSponsorshipPool {
27
+ readonly adapter: string;
28
+ readonly vaultAddressHex: string;
29
+ readonly tnzoBalanceWei: string;
30
+ readonly nativeOutstandingSmallestUnit: string;
31
+ readonly refillThresholdBps?: number;
32
+ }
33
+ export interface SetBridgeFeeRateRequest {
34
+ readonly adapter: string;
35
+ readonly destChain: string;
36
+ readonly rateQ18: string;
37
+ readonly markupBps: number;
38
+ readonly validWindowMs: number;
39
+ }
40
+ export interface SponsorBridgeFeeRequest {
41
+ readonly quoteIdHex: string;
42
+ readonly adapter: string;
43
+ readonly destChain: string;
44
+ readonly nativeFeeSmallestUnit: string;
45
+ readonly tnzoAmountWei: string;
46
+ readonly rateQ18Hex: string;
47
+ readonly issuedAtMs: number;
48
+ readonly validUntilMs: number;
49
+ readonly oracleBacking?: string;
50
+ readonly payerDid: string;
51
+ }
52
+ export interface BridgeSponsorshipReceipt {
53
+ readonly sponsorshipIdHex: string;
54
+ readonly quoteIdHex: string;
55
+ readonly adapter: string;
56
+ readonly destChain: string;
57
+ readonly payerDid: string;
58
+ readonly tnzoPaidWei: string;
59
+ readonly nativeCommittedSmallestUnit: string;
60
+ readonly sponsoredAtMs: number;
61
+ readonly poolAddressHex: string;
62
+ }
63
+ export interface BridgeKeyAnalytics {
64
+ readonly keyId: string;
65
+ readonly callsTotal: number;
66
+ readonly errorsTotal: number;
67
+ readonly callsByMethod: Readonly<Record<string, number>>;
68
+ readonly errorsByMethod: Readonly<Record<string, number>>;
69
+ /** Compute Units consumed (sum of per-method weights on success). */
70
+ readonly cuConsumedTotal: number;
71
+ readonly firstSeenAt?: number;
72
+ readonly lastCalledAt?: number;
73
+ readonly rateLimitRejections: number;
74
+ }
75
+ export interface BridgeFeePort {
76
+ quote(req: QuoteBridgeFeeRequest): Promise<BridgeFeeQuote>;
77
+ listSponsorshipPools(): Promise<readonly BridgeSponsorshipPool[]>;
78
+ sponsor(req: SponsorBridgeFeeRequest): Promise<BridgeSponsorshipReceipt>;
79
+ /** Subject self-read of the caller's own analytics. */
80
+ getAnalytics(): Promise<BridgeKeyAnalytics>;
81
+ /** Admin-token-gated. */
82
+ setRate(req: SetBridgeFeeRateRequest): Promise<unknown>;
83
+ setRefillThreshold(adapter: string, refillThresholdBps: number): Promise<unknown>;
84
+ /** Admin-token-gated cross-tenant read. */
85
+ listAnalytics(keyId?: string): Promise<readonly BridgeKeyAnalytics[]>;
86
+ }
87
+ //# sourceMappingURL=bridge-fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-fee.d.ts","sourceRoot":"","sources":["../../../src/ports/bridge-fee/bridge-fee.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * BridgeFeePort — destination-native bridge fees paid in TNZO.
3
+ *
4
+ * Wallet usage:
5
+ * 1. Quote: ask the node for the TNZO-denominated cost of a
6
+ * destination-native bridge fee, surface it to the signer.
7
+ * 2. Sponsor: debit TNZO from the user, credit the per-adapter
8
+ * sponsorship-pool vault.
9
+ * 3. Analytics: subject self-read of CU consumption + counters.
10
+ *
11
+ * Admin paths (`setRate`, `setRefillThreshold`, `listAnalytics`) are
12
+ * operator-only and gated by `X-Tenzro-Admin-Token` at the node layer.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=bridge-fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-fee.js","sourceRoot":"","sources":["../../../src/ports/bridge-fee/bridge-fee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,4 @@
1
+ export type { BridgeFeePort, BridgeFeeQuote, BridgeKeyAnalytics, BridgeSponsorshipPool, BridgeSponsorshipReceipt, QuoteBridgeFeeRequest, SetBridgeFeeRateRequest, SponsorBridgeFeeRequest, } from './bridge-fee.js';
2
+ export { BridgeFeeAdapter } from './adapter.js';
3
+ export type { BridgeFeeClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/bridge-fee/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BridgeFeeAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/bridge-fee/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -31,6 +31,23 @@ export interface ListOrdersOpts {
31
31
  readonly destChain?: number;
32
32
  readonly limit?: number;
33
33
  }
34
+ /**
35
+ * BridgeFeeHint — optional addition to TenzroOrderData that lets a
36
+ * single user-signed order be filled by any of the 6 supported
37
+ * bridges. The TNZO ceiling bounds the solver's destination-native
38
+ * fee commitment. The wallet UI surfaces this so the signer can
39
+ * see what TNZO ceiling they're authorizing.
40
+ */
41
+ export interface BridgeFeeHint {
42
+ /** Reference quote id from the BridgeFeeOracle (auditable). */
43
+ readonly quoteIdHex: string;
44
+ /** TNZO ceiling the swapper authorized for the destination fee. */
45
+ readonly tnzoAmountWei: string;
46
+ /** Wall-clock expiry — solvers MUST NOT execute fills after expiry. */
47
+ readonly validUntilMs: number;
48
+ /** Adapter the swapper had in mind at quote time (advisory). */
49
+ readonly preferredAdapter: string;
50
+ }
34
51
  export interface Erc7683Port {
35
52
  getOrder(orderId: string): Promise<unknown>;
36
53
  listOrders(opts?: ListOrdersOpts): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"erc7683.d.ts","sourceRoot":"","sources":["../../../src/ports/erc7683/erc7683.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"erc7683.d.ts","sourceRoot":"","sources":["../../../src/ports/erc7683/erc7683.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B"}
@@ -1,4 +1,4 @@
1
- export type { Erc7683Port, Erc7683Output, RecordFillRequest, ListOrdersOpts, } from './erc7683.js';
1
+ export type { Erc7683Port, Erc7683Output, RecordFillRequest, ListOrdersOpts, BridgeFeeHint, } from './erc7683.js';
2
2
  export { Erc7683Adapter } from './adapter.js';
3
3
  export type { Erc7683ClientLike } from './adapter.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/erc7683/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/erc7683/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/erc7683/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/erc7683/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -26,4 +26,11 @@ export * from './erc7683/index.js';
26
26
  export * from './caip/index.js';
27
27
  export * from './babylon/index.js';
28
28
  export * from './training/index.js';
29
+ export * from './bridge-fee/index.js';
30
+ export type { UrwaPort, UrwaKillSwitchState, UrwaFrozenAmount, SetFrozenTokensRequest, UrwaFrozenRecord, UrwaKillSwitchTriggerRequest, UrwaKillSwitchTriggered, UrwaKillSwitchCleared, UrwaClientLike, } from './urwa/index.js';
31
+ export { UrwaAdapter } from './urwa/index.js';
32
+ export * from './ivms101/index.js';
33
+ export * from './attested-clock/index.js';
34
+ export * from './signed-agent-card/index.js';
35
+ export * from './wormhole-ntt/index.js';
29
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAChG,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,mBAAmB,CAAC;AAKlC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,qBAAqB,CAAC;AAKpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAKvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,iBAAiB,CAAC;AAMhC,cAAc,oBAAoB,CAAC;AAOnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAChG,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,mBAAmB,CAAC;AAKlC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,qBAAqB,CAAC;AAKpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAKvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,iBAAiB,CAAC;AAMhC,cAAc,oBAAoB,CAAC;AAOnC,cAAc,qBAAqB,CAAC;AAMpC,cAAc,uBAAuB,CAAC;AAOtC,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK9C,cAAc,oBAAoB,CAAC;AAKnC,cAAc,2BAA2B,CAAC;AAI1C,cAAc,8BAA8B,CAAC;AAI7C,cAAc,yBAAyB,CAAC"}
@@ -43,4 +43,24 @@ export * from "./babylon/index.js";
43
43
  // agents, or `(read, write)` for full custodial enrollment +
44
44
  // gradient submission flows.
45
45
  export * from "./training/index.js";
46
+ // ── Cross-chain bridge fee in TNZO + Chainlink-backed oracle ──
47
+ // Quote / sponsor / per-tenant analytics for the bridge fee surface.
48
+ // Operator-only paths (set-rate, set-refill, list-analytics) are
49
+ // gated by admin token at the node layer.
50
+ export * from "./bridge-fee/index.js";
51
+ export { UrwaAdapter } from "./urwa/index.js";
52
+ // ── FATF Travel Rule (IVMS101 v1.1.0) canonical-hash helper ──
53
+ // Compute the canonical hash of an IVMS101 payload so the wallet
54
+ // can bind it to a cross-border transfer envelope before signing.
55
+ export * from "./ivms101/index.js";
56
+ // ── TEE-attested timestamp envelope ──
57
+ // For saga step deadlines, obligation expiries, and AP2 mandate
58
+ // validity windows.
59
+ export * from "./attested-clock/index.js";
60
+ // ── A2A v1.0 Signed Agent Card canonical-hash helper ──
61
+ // Issuer signs the hash; verifier recomputes + checks.
62
+ export * from "./signed-agent-card/index.js";
63
+ // ── Wormhole NTT (Native Token Transfers) registry ──
64
+ // Chain catalog + multi-transceiver kinds.
65
+ export * from "./wormhole-ntt/index.js";
46
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9E,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAyBvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,cAAc,kBAAkB,CAAC;AAEjC,qEAAqE;AACrE,cAAc,mBAAmB,CAAC;AAElC,yCAAyC;AACzC,uEAAuE;AACvE,yCAAyC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,8CAA8C;AAC9C,iEAAiE;AACjE,wCAAwC;AACxC,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,kEAAkE;AAClE,mEAAmE;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAEvC,oDAAoD;AACpD,mEAAmE;AACnE,mEAAmE;AACnE,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,iDAAiD;AACjD,uEAAuE;AACvE,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,gDAAgD;AAChD,oEAAoE;AACpE,qEAAqE;AACrE,WAAW;AACX,cAAc,oBAAoB,CAAC;AAEnC,8CAA8C;AAC9C,mEAAmE;AACnE,oEAAoE;AACpE,6DAA6D;AAC7D,6BAA6B;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9E,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAyBvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,cAAc,kBAAkB,CAAC;AAEjC,qEAAqE;AACrE,cAAc,mBAAmB,CAAC;AAElC,yCAAyC;AACzC,uEAAuE;AACvE,yCAAyC;AACzC,cAAc,oBAAoB,CAAC;AAEnC,8CAA8C;AAC9C,iEAAiE;AACjE,wCAAwC;AACxC,cAAc,qBAAqB,CAAC;AAEpC,uCAAuC;AACvC,kEAAkE;AAClE,mEAAmE;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAEvC,oDAAoD;AACpD,mEAAmE;AACnE,mEAAmE;AACnE,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,iDAAiD;AACjD,uEAAuE;AACvE,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,gDAAgD;AAChD,oEAAoE;AACpE,qEAAqE;AACrE,WAAW;AACX,cAAc,oBAAoB,CAAC;AAEnC,8CAA8C;AAC9C,mEAAmE;AACnE,oEAAoE;AACpE,6DAA6D;AAC7D,6BAA6B;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,iEAAiE;AACjE,qEAAqE;AACrE,iEAAiE;AACjE,0CAA0C;AAC1C,cAAc,uBAAuB,CAAC;AAkBtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,gEAAgE;AAChE,iEAAiE;AACjE,kEAAkE;AAClE,cAAc,oBAAoB,CAAC;AAEnC,wCAAwC;AACxC,gEAAgE;AAChE,oBAAoB;AACpB,cAAc,2BAA2B,CAAC;AAE1C,yDAAyD;AACzD,uDAAuD;AACvD,cAAc,8BAA8B,CAAC;AAE7C,uDAAuD;AACvD,2CAA2C;AAC3C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Ivms101Adapter — `Ivms101Port` backed by `tenzro-sdk` `Ivms101Client`.
3
+ */
4
+ import type { Ivms101Client } from 'tenzro-sdk';
5
+ import type { Ivms101HashRequest, Ivms101HashResult, Ivms101Port } from './ivms101.js';
6
+ export type Ivms101ClientLike = Pick<Ivms101Client, 'canonicalHash'>;
7
+ export declare class Ivms101Adapter implements Ivms101Port {
8
+ private readonly client;
9
+ constructor(client: Ivms101ClientLike);
10
+ canonicalHash(req: Ivms101HashRequest): Promise<Ivms101HashResult>;
11
+ }
12
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/ivms101/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAErE,qBAAa,cAAe,YAAW,WAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEhD,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAWzE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Ivms101Adapter — `Ivms101Port` backed by `tenzro-sdk` `Ivms101Client`.
3
+ */
4
+ export class Ivms101Adapter {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async canonicalHash(req) {
10
+ const r = await this.client.canonicalHash(req.payload);
11
+ return {
12
+ envelopeHashHex: r.envelope_hash_hex,
13
+ specVersion: r.spec_version,
14
+ originatingVaspDid: r.originating_vasp_did,
15
+ beneficiaryVaspDid: r.beneficiary_vasp_did,
16
+ assetCaip19: r.asset_caip19,
17
+ amountSmallestUnit: r.amount_smallest_unit,
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/ivms101/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,KAAK,CAAC,aAAa,CAAC,GAAuB;QACzC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO;YACL,eAAe,EAAE,CAAC,CAAC,iBAAiB;YACpC,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,kBAAkB,EAAE,CAAC,CAAC,oBAAoB;YAC1C,kBAAkB,EAAE,CAAC,CAAC,oBAAoB;YAC1C,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,kBAAkB,EAAE,CAAC,CAAC,oBAAoB;SAC3C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { Ivms101Port, Ivms101HashRequest, Ivms101HashResult } from './ivms101.js';
2
+ export { Ivms101Adapter } from './adapter.js';
3
+ export type { Ivms101ClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/ivms101/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Ivms101Adapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/ivms101/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Ivms101Port — FATF Travel Rule IVMS101 v1.1.0 canonical envelope.
3
+ *
4
+ * Wallet usage: cross-border transfers that fall under the FATF Travel
5
+ * Rule (typically >$1000 equivalent crossing VASP boundaries) require an
6
+ * IVMS101 KYC payload attached to the transfer. The wallet computes the
7
+ * canonical hash of the payload, binds it to the transfer envelope,
8
+ * and surfaces the hash to the user before signing.
9
+ */
10
+ export interface Ivms101HashRequest {
11
+ /** Canonical IVMS101 v1.1.0 JSON payload (envelope shape). */
12
+ readonly payload: Record<string, unknown>;
13
+ }
14
+ export interface Ivms101HashResult {
15
+ readonly envelopeHashHex: string;
16
+ readonly specVersion: string;
17
+ readonly originatingVaspDid: string | null;
18
+ readonly beneficiaryVaspDid: string | null;
19
+ readonly assetCaip19: string;
20
+ readonly amountSmallestUnit: string;
21
+ }
22
+ export interface Ivms101Port {
23
+ canonicalHash(req: Ivms101HashRequest): Promise<Ivms101HashResult>;
24
+ }
25
+ //# sourceMappingURL=ivms101.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ivms101.d.ts","sourceRoot":"","sources":["../../../src/ports/ivms101/ivms101.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpE"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Ivms101Port — FATF Travel Rule IVMS101 v1.1.0 canonical envelope.
3
+ *
4
+ * Wallet usage: cross-border transfers that fall under the FATF Travel
5
+ * Rule (typically >$1000 equivalent crossing VASP boundaries) require an
6
+ * IVMS101 KYC payload attached to the transfer. The wallet computes the
7
+ * canonical hash of the payload, binds it to the transfer envelope,
8
+ * and surfaces the hash to the user before signing.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=ivms101.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ivms101.js","sourceRoot":"","sources":["../../../src/ports/ivms101/ivms101.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SignedAgentCardAdapter — `SignedAgentCardPort` backed by `tenzro-sdk`
3
+ * `SignedAgentCardClient`.
4
+ */
5
+ import type { SignedAgentCardClient } from 'tenzro-sdk';
6
+ import type { AgentCard, CanonicalHashResult, SignedAgentCardPort } from './signed-agent-card.js';
7
+ export type SignedAgentCardClientLike = Pick<SignedAgentCardClient, 'canonicalHash'>;
8
+ export declare class SignedAgentCardAdapter implements SignedAgentCardPort {
9
+ private readonly client;
10
+ constructor(client: SignedAgentCardClientLike);
11
+ canonicalHash(card: AgentCard): Promise<CanonicalHashResult>;
12
+ }
13
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,qBAAqB,EACrB,eAAe,CAChB,CAAC;AAEF,qBAAa,sBAAuB,YAAW,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,yBAAyB;IAExD,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUnE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SignedAgentCardAdapter — `SignedAgentCardPort` backed by `tenzro-sdk`
3
+ * `SignedAgentCardClient`.
4
+ */
5
+ export class SignedAgentCardAdapter {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ async canonicalHash(card) {
11
+ const r = await this.client.canonicalHash(card);
12
+ return {
13
+ canonicalHashHex: r.canonical_hash_hex,
14
+ agentCardName: r.agent_card_name,
15
+ agentCardUrl: r.agent_card_url,
16
+ protocolVersion: r.protocol_version,
17
+ skillsCount: r.skills_count,
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,MAAiC;QAAjC,WAAM,GAAN,MAAM,CAA2B;IAAG,CAAC;IAElE,KAAK,CAAC,aAAa,CAAC,IAAe;QACjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,aAAa,EAAE,CAAC,CAAC,eAAe;YAChC,YAAY,EAAE,CAAC,CAAC,cAAc;YAC9B,eAAe,EAAE,CAAC,CAAC,gBAAgB;YACnC,WAAW,EAAE,CAAC,CAAC,YAAY;SAC5B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { SignedAgentCardPort, AgentCard, CanonicalHashResult, } from './signed-agent-card.js';
2
+ export { SignedAgentCardAdapter } from './adapter.js';
3
+ export type { SignedAgentCardClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SignedAgentCardAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * SignedAgentCardPort — A2A v1.0 Signed Agent Card.
3
+ *
4
+ * Wallet usage: when an agent publishes its Agent Card under a domain
5
+ * the agent owns, it signs the canonical SHA-256 hash of the card with
6
+ * its JWS key. Relying parties recompute the hash and verify the
7
+ * signature before trusting the card's claims (skills, endpoints,
8
+ * identity).
9
+ */
10
+ export interface AgentCard {
11
+ readonly name: string;
12
+ readonly description?: string;
13
+ readonly version?: string;
14
+ readonly url?: string;
15
+ readonly skills?: readonly unknown[];
16
+ readonly [key: string]: unknown;
17
+ }
18
+ export interface CanonicalHashResult {
19
+ readonly canonicalHashHex: string;
20
+ readonly agentCardName: string;
21
+ readonly agentCardUrl: string;
22
+ readonly protocolVersion: string;
23
+ readonly skillsCount: number;
24
+ }
25
+ export interface SignedAgentCardPort {
26
+ canonicalHash(card: AgentCard): Promise<CanonicalHashResult>;
27
+ }
28
+ //# sourceMappingURL=signed-agent-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signed-agent-card.d.ts","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/signed-agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SignedAgentCardPort — A2A v1.0 Signed Agent Card.
3
+ *
4
+ * Wallet usage: when an agent publishes its Agent Card under a domain
5
+ * the agent owns, it signs the canonical SHA-256 hash of the card with
6
+ * its JWS key. Relying parties recompute the hash and verify the
7
+ * signature before trusting the card's claims (skills, endpoints,
8
+ * identity).
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=signed-agent-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signed-agent-card.js","sourceRoot":"","sources":["../../../src/ports/signed-agent-card/signed-agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * UrwaAdapter — `UrwaPort` backed by `tenzro-sdk` `UrwaClient`.
3
+ */
4
+ import type { UrwaClient } from 'tenzro-sdk';
5
+ import type { SetFrozenTokensRequest, UrwaFrozenAmount, UrwaFrozenRecord, UrwaKillSwitchCleared, UrwaKillSwitchState, UrwaKillSwitchTriggered, UrwaKillSwitchTriggerRequest, UrwaPort } from './urwa.js';
6
+ export type UrwaClientLike = Pick<UrwaClient, 'isKillSwitched' | 'getFrozenTokens' | 'setFrozenTokens' | 'triggerKillSwitch' | 'clearKillSwitch'>;
7
+ export declare class UrwaAdapter implements UrwaPort {
8
+ private readonly client;
9
+ constructor(client: UrwaClientLike);
10
+ isKillSwitched(tokenIdHex: string): Promise<UrwaKillSwitchState>;
11
+ getFrozenTokens(tokenIdHex: string, accountHex: string): Promise<UrwaFrozenAmount>;
12
+ setFrozenTokens(req: SetFrozenTokensRequest): Promise<UrwaFrozenRecord>;
13
+ triggerKillSwitch(req: UrwaKillSwitchTriggerRequest): Promise<UrwaKillSwitchTriggered>;
14
+ clearKillSwitch(tokenIdHex: string): Promise<UrwaKillSwitchCleared>;
15
+ }
16
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/urwa/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,QAAQ,EACT,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,UAAU,EACR,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,CACpB,CAAC;AAEF,qBAAa,WAAY,YAAW,QAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUhE,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC;IAStB,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBvE,iBAAiB,CACrB,GAAG,EAAE,4BAA4B,GAChC,OAAO,CAAC,uBAAuB,CAAC;IAe7B,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAO1E"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * UrwaAdapter — `UrwaPort` backed by `tenzro-sdk` `UrwaClient`.
3
+ */
4
+ export class UrwaAdapter {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async isKillSwitched(tokenIdHex) {
10
+ const r = await this.client.isKillSwitched(tokenIdHex);
11
+ return {
12
+ tokenIdHex: r.token_id_hex,
13
+ active: r.active,
14
+ selectors: r.selectors,
15
+ precompileAddresses: r.precompile_addresses,
16
+ };
17
+ }
18
+ async getFrozenTokens(tokenIdHex, accountHex) {
19
+ const r = await this.client.getFrozenTokens(tokenIdHex, accountHex);
20
+ return {
21
+ tokenIdHex: r.token_id_hex,
22
+ accountHex: r.account_hex,
23
+ frozenAmount: r.frozen_amount,
24
+ };
25
+ }
26
+ async setFrozenTokens(req) {
27
+ const r = await this.client.setFrozenTokens({
28
+ token_id_hex: req.tokenIdHex,
29
+ account_hex: req.accountHex,
30
+ amount: req.amount,
31
+ ...(req.reason !== undefined ? { reason: req.reason } : {}),
32
+ });
33
+ return {
34
+ tokenIdHex: r.token_id_hex,
35
+ accountHex: r.account_hex,
36
+ amount: r.amount,
37
+ reason: r.reason,
38
+ setAtMs: r.set_at_ms,
39
+ };
40
+ }
41
+ async triggerKillSwitch(req) {
42
+ const r = await this.client.triggerKillSwitch({
43
+ token_id_hex: req.tokenIdHex,
44
+ ...(req.triggeredByDid !== undefined ? { triggered_by_did: req.triggeredByDid } : {}),
45
+ ...(req.reason !== undefined ? { reason: req.reason } : {}),
46
+ });
47
+ return {
48
+ tokenIdHex: r.token_id_hex,
49
+ active: r.active,
50
+ triggeredByDid: r.triggered_by_did,
51
+ reason: r.reason,
52
+ triggeredAtMs: r.triggered_at_ms,
53
+ };
54
+ }
55
+ async clearKillSwitch(tokenIdHex) {
56
+ const r = await this.client.clearKillSwitch(tokenIdHex);
57
+ return {
58
+ tokenIdHex: r.token_id_hex,
59
+ active: r.active,
60
+ };
61
+ }
62
+ }
63
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/urwa/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,mBAAmB,EAAE,CAAC,CAAC,oBAAoB;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,UAAkB;QAElB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,YAAY,EAAE,CAAC,CAAC,aAAa;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAA2B;QAC/C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC1C,YAAY,EAAE,GAAG,CAAC,UAAU;YAC5B,WAAW,EAAE,GAAG,CAAC,UAAU;YAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,SAAS;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,GAAiC;QAEjC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC5C,YAAY,EAAE,GAAG,CAAC,UAAU;YAC5B,GAAG,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,cAAc,EAAE,CAAC,CAAC,gBAAgB;YAClC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,aAAa,EAAE,CAAC,CAAC,eAAe;SACjC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { UrwaPort, UrwaKillSwitchState, UrwaFrozenAmount, SetFrozenTokensRequest, UrwaFrozenRecord, UrwaKillSwitchTriggerRequest, UrwaKillSwitchTriggered, UrwaKillSwitchCleared, } from './urwa.js';
2
+ export { UrwaAdapter } from './adapter.js';
3
+ export type { UrwaClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/urwa/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { UrwaAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/urwa/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * UrwaPort — ERC-7943 (uRWA) compliance surface for tokenized RWAs.
3
+ *
4
+ * Wallet usage: surfaces compliance status (kill-switch active,
5
+ * frozen-tokens record) to the user before they sign any transfer
6
+ * of an affected asset. Mutations are admin-token-gated at the
7
+ * node layer.
8
+ */
9
+ export interface UrwaKillSwitchState {
10
+ readonly tokenIdHex: string;
11
+ readonly active: boolean;
12
+ readonly selectors: Readonly<Record<string, string>>;
13
+ readonly precompileAddresses: Readonly<Record<string, string>>;
14
+ }
15
+ export interface UrwaFrozenAmount {
16
+ readonly tokenIdHex: string;
17
+ readonly accountHex: string;
18
+ readonly frozenAmount: string;
19
+ }
20
+ export interface SetFrozenTokensRequest {
21
+ readonly tokenIdHex: string;
22
+ readonly accountHex: string;
23
+ readonly amount: string;
24
+ readonly reason?: string;
25
+ }
26
+ export interface UrwaFrozenRecord {
27
+ readonly tokenIdHex: string;
28
+ readonly accountHex: string;
29
+ readonly amount: string;
30
+ readonly reason: string | null;
31
+ readonly setAtMs: number;
32
+ }
33
+ export interface UrwaKillSwitchTriggerRequest {
34
+ readonly tokenIdHex: string;
35
+ readonly triggeredByDid?: string;
36
+ readonly reason?: string;
37
+ }
38
+ export interface UrwaKillSwitchTriggered {
39
+ readonly tokenIdHex: string;
40
+ readonly active: boolean;
41
+ readonly triggeredByDid: string | null;
42
+ readonly reason: string | null;
43
+ readonly triggeredAtMs: number;
44
+ }
45
+ export interface UrwaKillSwitchCleared {
46
+ readonly tokenIdHex: string;
47
+ readonly active: boolean;
48
+ }
49
+ export interface UrwaPort {
50
+ /** Read: surface kill-switch + frozen state to the signing UI. */
51
+ isKillSwitched(tokenIdHex: string): Promise<UrwaKillSwitchState>;
52
+ getFrozenTokens(tokenIdHex: string, accountHex: string): Promise<UrwaFrozenAmount>;
53
+ /** Admin-token-gated mutations. */
54
+ setFrozenTokens(req: SetFrozenTokensRequest): Promise<UrwaFrozenRecord>;
55
+ triggerKillSwitch(req: UrwaKillSwitchTriggerRequest): Promise<UrwaKillSwitchTriggered>;
56
+ clearKillSwitch(tokenIdHex: string): Promise<UrwaKillSwitchCleared>;
57
+ }
58
+ //# sourceMappingURL=urwa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urwa.d.ts","sourceRoot":"","sources":["../../../src/ports/urwa/urwa.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,kEAAkE;IAClE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnF,mCAAmC;IACnC,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxE,iBAAiB,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvF,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrE"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * UrwaPort — ERC-7943 (uRWA) compliance surface for tokenized RWAs.
3
+ *
4
+ * Wallet usage: surfaces compliance status (kill-switch active,
5
+ * frozen-tokens record) to the user before they sign any transfer
6
+ * of an affected asset. Mutations are admin-token-gated at the
7
+ * node layer.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=urwa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urwa.js","sourceRoot":"","sources":["../../../src/ports/urwa/urwa.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * WormholeNttAdapter — `WormholeNttPort` backed by `tenzro-sdk`
3
+ * `WormholeNttClient`.
4
+ */
5
+ import type { WormholeNttClient } from 'tenzro-sdk';
6
+ import type { WormholeNttCatalog, WormholeNttPort } from './wormhole-ntt.js';
7
+ export type WormholeNttClientLike = Pick<WormholeNttClient, 'listChains'>;
8
+ export declare class WormholeNttAdapter implements WormholeNttPort {
9
+ private readonly client;
10
+ constructor(client: WormholeNttClientLike);
11
+ listChains(): Promise<WormholeNttCatalog>;
12
+ }
13
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAE1E,qBAAa,kBAAmB,YAAW,eAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAEpD,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAYhD"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * WormholeNttAdapter — `WormholeNttPort` backed by `tenzro-sdk`
3
+ * `WormholeNttClient`.
4
+ */
5
+ export class WormholeNttAdapter {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ async listChains() {
11
+ const r = await this.client.listChains();
12
+ return {
13
+ chains: r.chains.map((c) => ({
14
+ wormholeChainId: c.wormhole_chain_id,
15
+ name: c.name,
16
+ })),
17
+ transceiverKinds: r.transceiver_kinds,
18
+ scaffolding: r.scaffolding,
19
+ ...(r.note !== undefined ? { note: r.note } : {}),
20
+ };
21
+ }
22
+ }
23
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAE9D,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,eAAe,EAAE,CAAC,CAAC,iBAAiB;gBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;YACrC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { WormholeNttPort, WormholeNttCatalog, WormholeNttChain, } from './wormhole-ntt.js';
2
+ export { WormholeNttAdapter } from './adapter.js';
3
+ export type { WormholeNttClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { WormholeNttAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * WormholeNttPort — Wormhole Native Token Transfers (NTT) registry.
3
+ *
4
+ * Wallet usage: surfaces the registered NTT chain catalog + supported
5
+ * transceiver kinds (Wormhole / Axelar / LayerZero / custom) so the
6
+ * user can see which destination chains an NTT-deployed token can
7
+ * reach before they sign.
8
+ */
9
+ export interface WormholeNttChain {
10
+ readonly wormholeChainId: number;
11
+ readonly name: string;
12
+ }
13
+ export interface WormholeNttCatalog {
14
+ readonly chains: readonly WormholeNttChain[];
15
+ readonly transceiverKinds: readonly string[];
16
+ readonly scaffolding: boolean;
17
+ readonly note?: string;
18
+ }
19
+ export interface WormholeNttPort {
20
+ listChains(): Promise<WormholeNttCatalog>;
21
+ }
22
+ //# sourceMappingURL=wormhole-ntt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wormhole-ntt.d.ts","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/wormhole-ntt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WormholeNttPort — Wormhole Native Token Transfers (NTT) registry.
3
+ *
4
+ * Wallet usage: surfaces the registered NTT chain catalog + supported
5
+ * transceiver kinds (Wormhole / Axelar / LayerZero / custom) so the
6
+ * user can see which destination chains an NTT-deployed token can
7
+ * reach before they sign.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=wormhole-ntt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wormhole-ntt.js","sourceRoot":"","sources":["../../../src/ports/wormhole-ntt/wormhole-ntt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tenzro-wallet",
3
- "version": "0.2.4",
4
- "description": "Tenzro Wallet kernel — one identity, four VM surfaces (Tenzro native, EVM, SVM, Canton). Passkey-quorum custody, post-quantum signing, agent-payment ports, capital intents + multi-party workflows, EVM primitives (EIP-7702 / Permit2 / Secure-Mint / ERC-7683), eight-vendor bridge router, CAIP discovery, Babylon Bitcoin staking, Tenzro Train protocol port (Phase 4 Confidential-tier).",
3
+ "version": "0.2.6",
4
+ "description": "Tenzro Wallet kernel — one identity, four VM surfaces (Tenzro native, EVM, SVM, Canton). Passkey-quorum custody, post-quantum signing, agent-payment ports, capital intents + multi-party workflows, EVM primitives (EIP-7702 / Permit2 / Secure-Mint / ERC-7683 + BridgeFeeHint), eight-vendor bridge router, cross-chain bridge fee in TNZO + Chainlink-backed oracle + per-tenant analytics, CAIP discovery, Babylon Bitcoin staking, Tenzro Train protocol port (Phase 4 Confidential-tier), ERC-7943 uRWA compliance, FATF Travel Rule (IVMS101), TEE-attested clock, A2A v1.0 SignedAgentCard, Wormhole NTT.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "prepublishOnly": "pnpm build"
32
32
  },
33
33
  "dependencies": {
34
- "tenzro-sdk": "^0.4.3"
34
+ "tenzro-sdk": "^0.4.7"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "22.10.5",