@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 +31 -2
- package/lib/chaining.d.ts.map +1 -1
- package/lib/chaining.js +152 -9
- package/lib/chaining.js.map +1 -1
- package/npm-shrinkwrap.json +5 -5
- package/package.json +2 -2
- package/services/asset-movement/client.d.ts +5 -2
- package/services/asset-movement/client.d.ts.map +1 -1
- package/services/asset-movement/client.js +23 -1
- package/services/asset-movement/client.js.map +1 -1
- package/services/asset-movement/server.js +1 -1
- package/services/asset-movement/server.js.map +1 -1
- package/services/fx/client.d.ts +3 -2
- package/services/fx/client.d.ts.map +1 -1
- package/services/fx/client.js +16 -1
- package/services/fx/client.js.map +1 -1
package/lib/chaining.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
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;
|
package/lib/chaining.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/lib/chaining.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAA8D,iBAAiB,EAAE,IAAI,EAAiC,iBAAiB,EAAsC,MAAM,sCAAsC,CAAC;AAEpR,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAK1G,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,8BAA8B,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAElF,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/G,KAAK,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjI,KAAK,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC5F,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE3E,UAAU,uBAAuB,CAAC,IAAI,SAAS,IAAI,GAAG,eAAe,GAAG,WAAW;IAClF,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,SAAS,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,UAAU,qBAAsB,SAAQ,uBAAuB,CAAC,IAAI,CAAC;IACpE,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;CAC1B;AAED,KAAK,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAEhE,UAAU,gCAAiC,SAAQ,uBAAuB,CAAC,eAAe,CAAC;IAC1F,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,qBAAqB,CAAC;CAChC;AAED,UAAU,4BAA6B,SAAQ,uBAAuB,CAAC,WAAW,CAAC;IAClF,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,EAAE;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,gCAAgC,GAAG,4BAA4B,CAAC;AAE1H,KAAK,8BAA8B,GAAG;IACrC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,cAAc,GAAG;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,gCAAgC,CAAC;CACvC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,4BAA4B,CAAC;CACnC,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAE9F,MAAM,MAAM,+BAA+B,GAAG;IAC7C,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAChC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,YAAY,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,+BAA+B,CAAA;CAAE,GAChE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,YAAY,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,UAAU,gCAAgC,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE;IACrH,IAAI,EAAE,UAAU,CAAC;IAEjB,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,EAAE,aAAa,CAAC;CACtB;AAGD,UAAU,kCAAmC,SAAQ,gCAAgC,CAAC,oCAAoC,EAAE;IAAE,qBAAqB,EAAE,qBAAqB,CAAC;CAAE,EAAE,EAAE,CAAC;CAAG;AAGrL,UAAU,8BAA+B,SAAQ,gCAAgC,CAAC,uBAAuB,EAAE;IAC1G,aAAa,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,EAAE,CAAE;IAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;CAAE,CAAC,CAAC;CAAG;AAExC,KAAK,4BAA4B,GAAG,8BAA8B,GAAG,kCAAkC,CAAC;AAExG,KAAK,0BAA0B,GAAG;IACjC,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAClF,eAAe,EAAE,CAAC,4BAA4B,CAAC,CAAC;CAChD,CAAA;AAED,UAAU,8BAA8B,CAAC,SAAS,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,QAAQ,SAAS,iBAAiB,GAAG,iBAAiB;IAC3J,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAEf;AAED,UAAU,yBAA0B,SAAQ,8BAA8B;IACzE,SAAS,EAAE,iBAAiB,CAAC;CAC7B;AAED,UAAU,uBAAuB;IAChC,MAAM,EAAE,8BAA8B,CAAC;IACvC,WAAW,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB,CAAC,IAAI,SAAS,IAAI,GAAG,eAAe,EAAE,SAAS,SAAS,mBAAmB;IACrG,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAChD,EAAE,EAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;CAC9C;AAGD,UAAU,WAAY,SAAQ,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;CAAG;AAE1G,UAAU,sBAAuB,SAAQ,iBAAiB,CAAC,eAAe,EAAE,mBAAmB,CAAC;CAAG;AACnG,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,sBAAsB,CAAC;AAEjE,KAAK,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,eAAe,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC1G,UAAU,iBAAiB;IAC1B,IAAI,EAAE,WAAW,CAAC;IAElB,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB,IAAI,EAAE,8BAA8B,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC7E,EAAE,EAAE,8BAA8B,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;CAC3E;AAED,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAgEtF,MAAM,MAAM,kCAAkC,GAAG;IAChD,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GACvC,CAAC;IAAE,IAAI,EAAE,kCAAkC,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,8BAA8B,CAAC,GAC3F,CAAC;IAAE,EAAE,EAAE,kCAAkC,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,8BAA8B,CAAC,GAC3F,CAAC;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,8BAA8B,CAAC,CAAC;AAEnE,MAAM,MAAM,iCAAiC,GAAG;IAC/C,IAAI,CAAC,EAAE,kCAAkC,CAAC;IAC1C,EAAE,CAAC,EAAE,kCAAkC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iCAAiC;IACjD,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,EAAE,EAAE,uBAAuB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE;QACN,OAAO,EAAE,IAAI,EAAE,CAAC;QAChB,QAAQ,EAAE,IAAI,EAAE,CAAC;KACjB,CAAC;IAEF,QAAQ,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;CACT;AAED,KAAK,0BAA0B,GAAG;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CACjC,GAAG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,qBAAqB,CAAC;CACtC,CAAA;AAED,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,qBAAqB,EAAE,0BAA0B,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAC9J,UAAU,8BAA8B;IACvC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,cAAM,WAAW;;IAChB,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAIhB,IAAI,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE;IA4P7F,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAe7C,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;IAoFrE,aAAa,CAAC,MAAM,GAAE,iCAAsC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IA2NzG,UAAU,CAAC,MAAM,GAAE,8BAAmC,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAWjG;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC3C;AAED,qBAAa,kBAAkB;IAC9B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,KAAK,EAAE;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,IAAI,EAAE,sBAAsB,EAAE,CAAC;QAC/B,MAAM,EAAE,cAAc,CAAC;KACvB;cAMe,cAAc,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;cAwB7H,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,EAAE,SAAS,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CAQtO;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;;IAQzD,OAAO;IAKP,IAAI,IAAI,IAAI,8BAA8B,CAMzC;WA0VY,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMxG,IAAI,KAAK,IAAI,uBAAuB,CAEnC;IAED,EAAE,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAS1H,GAAG,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAS3H,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAoIK,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAkHhG;AAED,KAAK,4BAA4B,GAAG,CAAC,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;CAAE,CAAC,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC;CAAE,CAAC,CAAC;AAE3J,qBAAa,cAAc;IAC1B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,EAAE,oBAAoB;IAalC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAyC9E,QAAQ,CAAC,KAAK,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG;QAAE,gBAAgB,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC3I,QAAQ,CAAC,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,kBAAkB,GAAG;QAAE,gBAAgB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC;CAuCxJ"}
|
|
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;
|