@keetanetwork/anchor 0.0.66 → 0.0.68

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/lib/chaining.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { type lib as KeetaNetLib } from '@keetanetwork/keetanet-client';
1
+ import type { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';
2
2
  import { KeetaNet } from "../client/index.js";
3
- import type { AssetLocationLike, AssetTransferInstructions, PickChainLocation, Rail, RecipientResolved } from "../services/asset-movement/common.js";
3
+ import type { AnchorTokenLocationMetadata, AssetLocationLike, AssetTransferInstructions, PickChainLocation, Rail, RecipientResolved } from "../services/asset-movement/common.js";
4
4
  import type { Resolver } from "./index.js";
5
5
  import type { ISOCurrencyCode } from '@keetanetwork/currency-info';
6
6
  import type { Account, GenericAccount, TokenAddress } from '@keetanetwork/keetanet-client/lib/account.js';
@@ -9,6 +9,7 @@ import KeetaAssetMovementAnchorClient from '../services/asset-movement/client.js
9
9
  import type { ExternalChainAsset } from './asset.js';
10
10
  import type { Logger } from './log/index.js';
11
11
  import type { BlockHash } from '@keetanetwork/keetanet-client/lib/block/index.js';
12
+ import type { AnchorMetadataLegalField } from './metadata.types.js';
12
13
  type FXQuoteOrEstimate = NonNullable<Awaited<ReturnType<KeetaFXAnchorClient['getQuotesOrEstimates']>>>[number];
13
14
  type AssetMovementProvider = NonNullable<Awaited<ReturnType<KeetaAssetMovementAnchorClient['getProvidersForTransfer']>>>[number];
14
15
  type AssetMovementTransfer = Awaited<ReturnType<AssetMovementProvider['initiateTransfer']>>;
@@ -36,6 +37,12 @@ interface ChainStepResolutionKeetaSend extends ChainStepResolutionBase<'keetaSen
36
37
  type: 'KEETA_SEND';
37
38
  }>;
38
39
  }
40
+ export type Disclaimer = Exclude<AnchorMetadataLegalField['disclaimers'], undefined>[number];
41
+ type ProviderDisclaimers = {
42
+ providerID: string;
43
+ disclaimers: Disclaimer[];
44
+ };
45
+ type PlanDisclaimers = ProviderDisclaimers[];
39
46
  export type ChainStepResolution = ChainStepResolutionFX | ChainStepResolutionAssetMovement | ChainStepResolutionKeetaSend;
40
47
  type AnchorChainingPathComputedPlan = {
41
48
  steps: ChainStepResolution[];
@@ -184,6 +191,16 @@ export interface AnchorChainingAssetInfo {
184
191
  pathLength: number;
185
192
  } | null;
186
193
  }
194
+ type AnchorChainingAssetInfoWithMetadata = AnchorChainingAssetInfo & {
195
+ metadata?: AnchorTokenLocationMetadata;
196
+ };
197
+ interface AnchorChainingResolveAssetsWithMetadataResult {
198
+ from: AnchorChainingAssetInfoWithMetadata[];
199
+ to: AnchorChainingAssetInfoWithMetadata[];
200
+ }
201
+ type AnchorChainingWithMetadataOptions = {
202
+ providerID?: string;
203
+ };
187
204
  type GetAccountForActionPayload = {
188
205
  type: 'assetMovement';
189
206
  providerMethod: 'initiateTransfer';
@@ -202,15 +219,25 @@ declare class AnchorGraph {
202
219
  client: KeetaNet.UserClient;
203
220
  resolver: Resolver;
204
221
  logger?: Logger | undefined;
222
+ readonly assetMovementClient: KeetaAssetMovementAnchorClient;
223
+ readonly fxClient: KeetaFXAnchorClient;
205
224
  constructor(args: {
206
225
  client: KeetaNet.UserClient;
207
226
  resolver: Resolver;
208
227
  logger?: Logger | undefined;
209
228
  });
229
+ getAssetMovementProviderById(providerID: string): Promise<AssetMovementProvider | null>;
230
+ getAssetMovementProvidersForAsset(asset: AnchorChainingAsset, location: AssetLocationLike): Promise<null | {
231
+ [providerID: string]: {
232
+ provider: AssetMovementProvider;
233
+ };
234
+ }>;
210
235
  computeGraphNodes(): Promise<GraphNodeLike[]>;
211
236
  findPaths(input: AnchorChainingPathInput): Promise<GraphNodeLike[][]>;
212
237
  resolveAssets(filter?: AnchorChainingResolveAssetsFilter): Promise<AnchorChainingResolveAssetsResult>;
213
238
  listAssets(filter?: AnchorChainingListAssetsFilter): Promise<AnchorChainingAssetInfo[]>;
239
+ resolveAssetsWithMetadata(filter?: AnchorChainingResolveAssetsFilter, options?: AnchorChainingWithMetadataOptions): Promise<AnchorChainingResolveAssetsWithMetadataResult>;
240
+ listAssetsWithMetadata(filter?: AnchorChainingListAssetsFilter, options?: AnchorChainingWithMetadataOptions): Promise<AnchorChainingAssetInfoWithMetadata[]>;
214
241
  }
215
242
  export interface ComputePlanOptions {
216
243
  overrides?: AnchorChainingAccountOverrides;
@@ -224,11 +251,13 @@ export declare class AnchorChainingPath {
224
251
  path: AnchorChainingStepLike[];
225
252
  parent: AnchorChaining;
226
253
  });
254
+ get logger(): Logger | undefined;
227
255
  protected getAccountLike(action: GetAccountForActionPayload, override?: AccountLike): Promise<InstanceType<typeof KeetaNetLib.Account>>;
228
256
  protected getAccountsForAction(action: GetAccountForActionPayload, overrides?: AnchorChainingAccountOverrides): Promise<{
229
257
  account: InstanceType<typeof KeetaNetLib.Account>;
230
258
  signer: InstanceType<typeof KeetaNetLib.Account>;
231
259
  }>;
260
+ getProviderLegalDisclaimers(): Promise<PlanDisclaimers | null>;
232
261
  }
233
262
  export declare class AnchorChainingPlan extends AnchorChainingPath {
234
263
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/lib/chaining.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/lib/chaining.ts"],"names":[],"mappings":"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"}
package/lib/chaining.js CHANGED
@@ -64,12 +64,59 @@ class AnchorGraph {
64
64
  client;
65
65
  resolver;
66
66
  logger;
67
+ assetMovementClient;
68
+ fxClient;
69
+ #assetMovementProviderCache = new Map();
67
70
  #assetNameCache = new Map();
68
71
  #graphNodePromise = null;
69
72
  constructor(args) {
70
73
  this.resolver = args.resolver;
71
74
  this.client = args.client;
72
75
  this.logger = args.logger;
76
+ this.assetMovementClient = new KeetaAssetMovementAnchorClient(this.client, {
77
+ resolver: this.resolver,
78
+ ...(this.logger ? { logger: this.logger } : {})
79
+ });
80
+ this.fxClient = new KeetaFXAnchorClient(this.client, {
81
+ resolver: this.resolver,
82
+ ...(this.logger ? { logger: this.logger } : {})
83
+ });
84
+ }
85
+ #assetLocationKey = (side) => {
86
+ return (`${convertAssetSearchInputToCanonical(side.asset)}@${convertAssetLocationToString(side.location)}`);
87
+ };
88
+ async getAssetMovementProviderById(providerID) {
89
+ let provider = this.#assetMovementProviderCache.get(providerID);
90
+ if (provider === undefined) {
91
+ provider = await this.assetMovementClient.getProviderByID(providerID);
92
+ }
93
+ this.#assetMovementProviderCache.set(providerID, provider);
94
+ return (provider);
95
+ }
96
+ async getAssetMovementProvidersForAsset(asset, location) {
97
+ let retval = null;
98
+ for (const node of await this.computeGraphNodes()) {
99
+ if (node.type !== 'assetMovement') {
100
+ continue;
101
+ }
102
+ for (const side of [node.from, node.to]) {
103
+ if (!isAnchorChainingAssetEqual(side.asset, asset) || convertAssetLocationToString(side.location) !== convertAssetLocationToString(location)) {
104
+ continue;
105
+ }
106
+ if (!retval) {
107
+ retval = {};
108
+ }
109
+ if (!retval[node.providerID]) {
110
+ const provider = await this.getAssetMovementProviderById(node.providerID);
111
+ if (!provider) {
112
+ this.logger?.debug('AnchorGraph::getAssetMovementProvidersForAsset', `No provider found for providerID ${node.providerID}, although provider was previously known to exist in the graph nodes`);
113
+ continue;
114
+ }
115
+ retval[node.providerID] = { provider };
116
+ }
117
+ }
118
+ }
119
+ return (retval);
73
120
  }
74
121
  async #computeFXNodes() {
75
122
  const fxServices = await this.resolver.lookup('fx', {});
@@ -369,9 +416,6 @@ class AnchorGraph {
369
416
  }
370
417
  }
371
418
  }
372
- const assetLocationKey = (side) => {
373
- return (`${convertAssetSearchInputToCanonical(side.asset)}@${convertAssetLocationToString(side.location)}`);
374
- };
375
419
  const sideMatchesFilter = (side, f) => {
376
420
  if (f.location !== undefined && convertAssetLocationToString(side.location) !== convertAssetLocationToString(f.location)) {
377
421
  return (false);
@@ -390,7 +434,7 @@ class AnchorGraph {
390
434
  const toReachable = new Set();
391
435
  const toDistances = new Map();
392
436
  const makeMarkFn = (reachable, distances) => (side, depth) => {
393
- const key = assetLocationKey(side);
437
+ const key = this.#assetLocationKey(side);
394
438
  reachable.add(key);
395
439
  if (depth !== undefined) {
396
440
  const existing = distances.get(key);
@@ -459,7 +503,7 @@ class AnchorGraph {
459
503
  const buildResultMap = (reachable, distances) => {
460
504
  const resultMap = new Map();
461
505
  const getOrCreate = (side) => {
462
- const key = assetLocationKey(side);
506
+ const key = this.#assetLocationKey(side);
463
507
  let resultObj = resultMap.get(key);
464
508
  if (!resultObj) {
465
509
  const distanceValue = distances.get(key);
@@ -477,13 +521,13 @@ class AnchorGraph {
477
521
  if (onlyAllowFXLike && !isFXLikeNode(node)) {
478
522
  continue;
479
523
  }
480
- if (reachable.has(assetLocationKey(node.to))) {
524
+ if (reachable.has(this.#assetLocationKey(node.to))) {
481
525
  const entry = getOrCreate(node.to);
482
526
  if (!entry.rails.inbound.includes(node.to.rail)) {
483
527
  entry.rails.inbound.push(node.to.rail);
484
528
  }
485
529
  }
486
- if (reachable.has(assetLocationKey(node.from))) {
530
+ if (reachable.has(this.#assetLocationKey(node.from))) {
487
531
  const entry = getOrCreate(node.from);
488
532
  if (!entry.rails.outbound.includes(node.from.rail)) {
489
533
  entry.rails.outbound.push(node.from.rail);
@@ -498,10 +542,10 @@ class AnchorGraph {
498
542
  // "what can USDC be swapped to?" doesn't include USDC itself via a round-trip.
499
543
  if (onlyAllowFXLike) {
500
544
  if (fromFilter?.asset !== undefined) {
501
- toResultMap.delete(assetLocationKey({ asset: fromFilter.asset, location: fromFilter.location ?? keetaNetworkLocation }));
545
+ toResultMap.delete(this.#assetLocationKey({ asset: fromFilter.asset, location: fromFilter.location ?? keetaNetworkLocation }));
502
546
  }
503
547
  if (toFilter?.asset !== undefined) {
504
- fromResultMap.delete(assetLocationKey({ asset: toFilter.asset, location: toFilter.location ?? keetaNetworkLocation }));
548
+ fromResultMap.delete(this.#assetLocationKey({ asset: toFilter.asset, location: toFilter.location ?? keetaNetworkLocation }));
505
549
  }
506
550
  }
507
551
  const filterMap = (map, f, railSide) => Array.from(map.values()).filter(info => {
@@ -536,6 +580,60 @@ class AnchorGraph {
536
580
  return (result.to);
537
581
  }
538
582
  }
583
+ async #attachMetadata(assetInfo, options) {
584
+ if (!isExternalChainAsset(assetInfo.asset)) {
585
+ return (assetInfo);
586
+ }
587
+ const providers = await this.getAssetMovementProvidersForAsset(assetInfo.asset, assetInfo.location);
588
+ if (!providers) {
589
+ return (assetInfo);
590
+ }
591
+ if (options?.providerID) {
592
+ const found = providers[options.providerID];
593
+ if (!found) {
594
+ return (assetInfo);
595
+ }
596
+ const metadata = found.provider.getAssetMetadataForLocation(assetInfo.location, assetInfo.asset);
597
+ if (!metadata) {
598
+ return (assetInfo);
599
+ }
600
+ return ({
601
+ ...assetInfo,
602
+ metadata
603
+ });
604
+ }
605
+ for (const { provider } of Object.values(providers)) {
606
+ const metadata = provider.getAssetMetadataForLocation(assetInfo.location, assetInfo.asset);
607
+ if (!metadata) {
608
+ continue;
609
+ }
610
+ return ({
611
+ ...assetInfo,
612
+ metadata
613
+ });
614
+ }
615
+ return (assetInfo);
616
+ }
617
+ async resolveAssetsWithMetadata(filter = {}, options) {
618
+ const result = await this.resolveAssets(filter);
619
+ const [from, to] = await Promise.all([
620
+ Promise.all(result.from.map((info) => this.#attachMetadata(info, options))),
621
+ Promise.all(result.to.map((info) => this.#attachMetadata(info, options)))
622
+ ]);
623
+ return ({ from, to });
624
+ }
625
+ async listAssetsWithMetadata(filter = {}, options) {
626
+ const result = await this.resolveAssetsWithMetadata(filter, options);
627
+ if (filter.from) {
628
+ return (result.to);
629
+ }
630
+ else if (filter.to) {
631
+ return (result.from);
632
+ }
633
+ else {
634
+ return (result.to);
635
+ }
636
+ }
539
637
  }
540
638
  export class AnchorChainingPath {
541
639
  request;
@@ -546,6 +644,9 @@ export class AnchorChainingPath {
546
644
  this.path = input.path;
547
645
  this.parent = input.parent;
548
646
  }
647
+ get logger() {
648
+ return (this.parent['logger']);
649
+ }
549
650
  async getAccountLike(action, override) {
550
651
  let found = undefined;
551
652
  if (this.parent['client'].account.isAccount()) {
@@ -574,6 +675,48 @@ export class AnchorChainingPath {
574
675
  ]);
575
676
  return ({ signer, account });
576
677
  }
678
+ async getProviderLegalDisclaimers() {
679
+ const legalDisclaimerPromises = [];
680
+ for (const step of this.path) {
681
+ if (step.type === 'keetaSend') {
682
+ continue;
683
+ }
684
+ const key = `${step.type}:${step.providerID}`;
685
+ if (legalDisclaimerPromises.find(entry => entry.key === key)) {
686
+ continue;
687
+ }
688
+ const promise = async () => {
689
+ try {
690
+ let disclaimers = null;
691
+ if (step.type === 'assetMovement') {
692
+ const provider = await this.parent.graph.getAssetMovementProviderById(step.providerID);
693
+ disclaimers = provider?.getLegalDisclaimers();
694
+ }
695
+ else {
696
+ disclaimers = await this.parent.graph.fxClient.getLegalDisclaimersById(step.providerID);
697
+ }
698
+ if (!disclaimers) {
699
+ return (null);
700
+ }
701
+ return ({ providerID: step.providerID, disclaimers });
702
+ }
703
+ catch (error) {
704
+ this.logger?.debug(`AnchorChainingPath::getProviderLegalDisclaimers`, `Error getting provider disclaimers for providerId: ${step.providerID}`, error);
705
+ throw (error);
706
+ }
707
+ };
708
+ legalDisclaimerPromises.push({ key, promise });
709
+ }
710
+ try {
711
+ const disclaimersOrNull = await Promise.all(legalDisclaimerPromises.map((entry) => entry.promise()));
712
+ const disclaimers = disclaimersOrNull.filter((entry) => entry !== null);
713
+ return (disclaimers);
714
+ }
715
+ catch (error) {
716
+ this.logger?.debug(`AnchorChainingPath::getProviderLegalDisclaimers`, 'Error getting legal disclaimers for path', error);
717
+ return (null);
718
+ }
719
+ }
577
720
  }
578
721
  export class AnchorChainingPlan extends AnchorChainingPath {
579
722
  #_plan = null;