@keetanetwork/anchor 0.0.61 → 0.0.62
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 +29 -6
- package/lib/chaining.d.ts.map +1 -1
- package/lib/chaining.js +61 -24
- package/lib/chaining.js.map +1 -1
- package/lib/queue/drivers/queue_postgres.d.ts.map +1 -1
- package/lib/queue/drivers/queue_postgres.js +47 -43
- package/lib/queue/drivers/queue_postgres.js.map +1 -1
- package/lib/token-metadata.d.ts.map +1 -1
- package/lib/token-metadata.js +1 -1
- package/lib/token-metadata.js.map +1 -1
- package/npm-shrinkwrap.json +18 -18
- package/package.json +2 -2
- package/services/fx/client.d.ts +2 -1
- package/services/fx/client.d.ts.map +1 -1
- package/services/fx/client.js +5 -3
- package/services/fx/client.js.map +1 -1
- package/services/storage/clients/contacts.d.ts +5 -11
- package/services/storage/clients/contacts.d.ts.map +1 -1
- package/services/storage/clients/contacts.js +1 -1
- package/services/storage/clients/contacts.js.map +1 -1
package/lib/chaining.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type lib as KeetaNetLib } from '@keetanetwork/keetanet-client';
|
|
2
2
|
import { KeetaNet } from "../client/index.js";
|
|
3
3
|
import type { AssetLocationLike, AssetTransferInstructions, PickChainLocation, Rail, RecipientResolved } from "../services/asset-movement/common.js";
|
|
4
4
|
import type { Resolver } from "./index.js";
|
|
@@ -187,10 +187,15 @@ export interface AnchorChainingAssetInfo {
|
|
|
187
187
|
type GetAccountForActionPayload = {
|
|
188
188
|
type: 'assetMovement';
|
|
189
189
|
providerMethod: 'initiateTransfer';
|
|
190
|
-
provider
|
|
190
|
+
provider?: AssetMovementProvider;
|
|
191
|
+
} | {
|
|
192
|
+
type: 'fx';
|
|
193
|
+
providerMethod: 'getAccountForAction';
|
|
191
194
|
};
|
|
195
|
+
type AccountLike = InstanceType<typeof KeetaNetLib.Account> | undefined | ((providerMethodPayload: GetAccountForActionPayload) => Promise<Account> | Account);
|
|
192
196
|
interface AnchorChainingAccountOverrides {
|
|
193
|
-
account?:
|
|
197
|
+
account?: AccountLike;
|
|
198
|
+
signer?: AccountLike;
|
|
194
199
|
}
|
|
195
200
|
declare class AnchorGraph {
|
|
196
201
|
#private;
|
|
@@ -207,7 +212,7 @@ declare class AnchorGraph {
|
|
|
207
212
|
resolveAssets(filter?: AnchorChainingResolveAssetsFilter): Promise<AnchorChainingResolveAssetsResult>;
|
|
208
213
|
listAssets(filter?: AnchorChainingListAssetsFilter): Promise<AnchorChainingAssetInfo[]>;
|
|
209
214
|
}
|
|
210
|
-
interface ComputePlanOptions {
|
|
215
|
+
export interface ComputePlanOptions {
|
|
211
216
|
overrides?: AnchorChainingAccountOverrides;
|
|
212
217
|
}
|
|
213
218
|
export declare class AnchorChainingPath {
|
|
@@ -219,7 +224,11 @@ export declare class AnchorChainingPath {
|
|
|
219
224
|
path: AnchorChainingStepLike[];
|
|
220
225
|
parent: AnchorChaining;
|
|
221
226
|
});
|
|
222
|
-
protected
|
|
227
|
+
protected getAccountLike(action: GetAccountForActionPayload, override?: AccountLike): Promise<InstanceType<typeof KeetaNetLib.Account>>;
|
|
228
|
+
protected getAccountsForAction(action: GetAccountForActionPayload, overrides?: AnchorChainingAccountOverrides): Promise<{
|
|
229
|
+
account: InstanceType<typeof KeetaNetLib.Account>;
|
|
230
|
+
signer: InstanceType<typeof KeetaNetLib.Account>;
|
|
231
|
+
}>;
|
|
223
232
|
}
|
|
224
233
|
export declare class AnchorChainingPlan extends AnchorChainingPath {
|
|
225
234
|
#private;
|
|
@@ -234,6 +243,15 @@ export declare class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
234
243
|
requireSendAuth?: boolean;
|
|
235
244
|
}): Promise<AnchorChainingPathExecuteResult>;
|
|
236
245
|
}
|
|
246
|
+
type AnchorChainingFullPlanResult = (({
|
|
247
|
+
success: true;
|
|
248
|
+
plan: AnchorChainingPlan;
|
|
249
|
+
} | {
|
|
250
|
+
success: false;
|
|
251
|
+
error: unknown;
|
|
252
|
+
}) & {
|
|
253
|
+
path: AnchorChainingPath;
|
|
254
|
+
});
|
|
237
255
|
export declare class AnchorChaining {
|
|
238
256
|
private client;
|
|
239
257
|
private resolver;
|
|
@@ -241,7 +259,12 @@ export declare class AnchorChaining {
|
|
|
241
259
|
private logger?;
|
|
242
260
|
constructor(config: AnchorChainingConfig);
|
|
243
261
|
getPaths(input: AnchorChainingPathInput): Promise<AnchorChainingPath[] | null>;
|
|
244
|
-
getPlans(input: AnchorChainingPathInput, options?: ComputePlanOptions
|
|
262
|
+
getPlans(input: AnchorChainingPathInput, options?: ComputePlanOptions & {
|
|
263
|
+
includeAllOutput?: false;
|
|
264
|
+
}): Promise<AnchorChainingPlan[] | null>;
|
|
265
|
+
getPlans(input: AnchorChainingPathInput, options: ComputePlanOptions & {
|
|
266
|
+
includeAllOutput: true;
|
|
267
|
+
}): Promise<AnchorChainingFullPlanResult[] | null>;
|
|
245
268
|
}
|
|
246
269
|
export {};
|
|
247
270
|
//# sourceMappingURL=chaining.d.ts.map
|
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,KAAK,
|
|
1
|
+
{"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../src/lib/chaining.ts"],"names":[],"mappings":"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"}
|
package/lib/chaining.js
CHANGED
|
@@ -540,32 +540,44 @@ export class AnchorChainingPath {
|
|
|
540
540
|
this.path = input.path;
|
|
541
541
|
this.parent = input.parent;
|
|
542
542
|
}
|
|
543
|
-
async
|
|
544
|
-
let found;
|
|
543
|
+
async getAccountLike(action, override) {
|
|
544
|
+
let found = undefined;
|
|
545
545
|
if (this.parent['client'].account.isAccount()) {
|
|
546
546
|
found = this.parent['client'].account;
|
|
547
547
|
}
|
|
548
548
|
else if (this.parent['client'].signer !== null) {
|
|
549
549
|
found = this.parent['client'].signer;
|
|
550
550
|
}
|
|
551
|
-
if (
|
|
552
|
-
if (typeof
|
|
553
|
-
found = await
|
|
551
|
+
if (override) {
|
|
552
|
+
if (typeof override === 'function') {
|
|
553
|
+
found = await override(action);
|
|
554
554
|
}
|
|
555
555
|
else {
|
|
556
|
-
found =
|
|
556
|
+
found = override;
|
|
557
557
|
}
|
|
558
558
|
}
|
|
559
|
+
if (!found) {
|
|
560
|
+
throw (new Error(`Could not get account for ${action.type} action ${action.providerMethod}`));
|
|
561
|
+
}
|
|
559
562
|
return (found);
|
|
560
563
|
}
|
|
564
|
+
async getAccountsForAction(action, overrides) {
|
|
565
|
+
const [signer, account] = await Promise.all([
|
|
566
|
+
this.getAccountLike(action, overrides?.signer),
|
|
567
|
+
this.getAccountLike(action, overrides?.account)
|
|
568
|
+
]);
|
|
569
|
+
return ({ signer, account });
|
|
570
|
+
}
|
|
561
571
|
}
|
|
562
572
|
export class AnchorChainingPlan extends AnchorChainingPath {
|
|
563
573
|
#_plan = null;
|
|
564
574
|
#state = { status: 'idle' };
|
|
565
575
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
566
576
|
#listeners = new Map();
|
|
567
|
-
|
|
577
|
+
#options = undefined;
|
|
578
|
+
constructor(path, options) {
|
|
568
579
|
super({ ...path });
|
|
580
|
+
this.#options = options;
|
|
569
581
|
}
|
|
570
582
|
get plan() {
|
|
571
583
|
if (!this.#_plan) {
|
|
@@ -573,7 +585,7 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
573
585
|
}
|
|
574
586
|
return (this.#_plan);
|
|
575
587
|
}
|
|
576
|
-
async #computePlan(
|
|
588
|
+
async #computePlan() {
|
|
577
589
|
if (this.#_plan) {
|
|
578
590
|
throw (new Error(`Steps have already been computed`));
|
|
579
591
|
}
|
|
@@ -647,7 +659,11 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
647
659
|
else {
|
|
648
660
|
assertNever(affinity);
|
|
649
661
|
}
|
|
650
|
-
const
|
|
662
|
+
const fxAccountOptions = await this.getAccountsForAction({
|
|
663
|
+
type: 'fx',
|
|
664
|
+
providerMethod: 'getAccountForAction'
|
|
665
|
+
}, this.#options?.overrides);
|
|
666
|
+
const quotesOrEstimates = await fxClient.getQuotesOrEstimates({ from: step.from.asset, to: step.to.asset, amount, affinity }, fxAccountOptions, { providerIDs: [step.providerID] });
|
|
651
667
|
if (!quotesOrEstimates?.[0] || quotesOrEstimates.length === 0) {
|
|
652
668
|
throw (new Error(`Could not get FX quote/estimate for provider ${step.providerID}`));
|
|
653
669
|
}
|
|
@@ -742,12 +758,13 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
742
758
|
depositValue = previous.valueOut;
|
|
743
759
|
}
|
|
744
760
|
}
|
|
761
|
+
const { signer } = await this.getAccountsForAction({
|
|
762
|
+
type: 'assetMovement',
|
|
763
|
+
providerMethod: 'initiateTransfer',
|
|
764
|
+
provider: providers[0]
|
|
765
|
+
}, this.#options?.overrides);
|
|
745
766
|
const transfer = await providers[0].initiateTransfer({
|
|
746
|
-
account:
|
|
747
|
-
type: 'assetMovement',
|
|
748
|
-
providerMethod: 'initiateTransfer',
|
|
749
|
-
provider: providers[0]
|
|
750
|
-
}, options?.overrides),
|
|
767
|
+
account: signer,
|
|
751
768
|
asset: assetPair,
|
|
752
769
|
from: { location: step.from.location },
|
|
753
770
|
to: {
|
|
@@ -764,7 +781,11 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
764
781
|
value: depositValue
|
|
765
782
|
});
|
|
766
783
|
const usingInstruction = findInstruction(transfer.instructions, step.from.rail);
|
|
767
|
-
|
|
784
|
+
let totalReceiveAmount = usingInstruction.totalReceiveAmount;
|
|
785
|
+
if (totalReceiveAmount === undefined && 'value' in usingInstruction) {
|
|
786
|
+
totalReceiveAmount = usingInstruction.value;
|
|
787
|
+
}
|
|
788
|
+
if (totalReceiveAmount === undefined) {
|
|
768
789
|
throw (new Error(`totalReceiveAmount must be defined for chaining`));
|
|
769
790
|
}
|
|
770
791
|
return ({
|
|
@@ -774,7 +795,7 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
774
795
|
usingInstruction: usingInstruction,
|
|
775
796
|
transfer: transfer,
|
|
776
797
|
sendingTo: sendingToType,
|
|
777
|
-
valueOut: BigInt(
|
|
798
|
+
valueOut: BigInt(totalReceiveAmount)
|
|
778
799
|
});
|
|
779
800
|
}
|
|
780
801
|
else if (step.type === 'keetaSend') {
|
|
@@ -867,8 +888,8 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
867
888
|
});
|
|
868
889
|
}
|
|
869
890
|
static async create(path, options) {
|
|
870
|
-
const instance = new this(path);
|
|
871
|
-
instance.#_plan = await instance.#computePlan(
|
|
891
|
+
const instance = new this(path, options);
|
|
892
|
+
instance.#_plan = await instance.#computePlan();
|
|
872
893
|
return (instance);
|
|
873
894
|
}
|
|
874
895
|
get state() {
|
|
@@ -957,7 +978,8 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
957
978
|
}
|
|
958
979
|
});
|
|
959
980
|
}
|
|
960
|
-
await this.
|
|
981
|
+
const { account } = await this.getAccountsForAction({ type: 'assetMovement', providerMethod: 'initiateTransfer' }, this.#options?.overrides);
|
|
982
|
+
await this.parent['client'].send(sendToAddress, value, token, external, { account });
|
|
961
983
|
}
|
|
962
984
|
async #pollTransferStatus(transfer, options) {
|
|
963
985
|
const intervalMs = options?.intervalMs ?? 2000;
|
|
@@ -965,7 +987,7 @@ export class AnchorChainingPlan extends AnchorChainingPath {
|
|
|
965
987
|
const deadline = Date.now() + timeoutMs;
|
|
966
988
|
while (true) {
|
|
967
989
|
const status = await transfer.getTransferStatus();
|
|
968
|
-
if (status.transaction.status === '
|
|
990
|
+
if (status.transaction.status === 'COMPLETE') {
|
|
969
991
|
return (status);
|
|
970
992
|
}
|
|
971
993
|
if (Date.now() >= deadline) {
|
|
@@ -1173,12 +1195,27 @@ export class AnchorChaining {
|
|
|
1173
1195
|
return (await AnchorChainingPlan.create(path, options));
|
|
1174
1196
|
}));
|
|
1175
1197
|
const ret = [];
|
|
1176
|
-
for (
|
|
1177
|
-
|
|
1178
|
-
|
|
1198
|
+
for (let i = 0; i < paths.length; i++) {
|
|
1199
|
+
const path = paths[i];
|
|
1200
|
+
const plan = result[i];
|
|
1201
|
+
if (!path || !plan) {
|
|
1202
|
+
continue;
|
|
1203
|
+
}
|
|
1204
|
+
if (options?.includeAllOutput) {
|
|
1205
|
+
if (plan.status === 'rejected') {
|
|
1206
|
+
ret.push({ success: false, error: plan.reason, path });
|
|
1207
|
+
}
|
|
1208
|
+
else {
|
|
1209
|
+
ret.push({ success: true, plan: plan.value, path });
|
|
1210
|
+
}
|
|
1179
1211
|
}
|
|
1180
1212
|
else {
|
|
1181
|
-
|
|
1213
|
+
if (plan.status === 'rejected') {
|
|
1214
|
+
this.logger?.debug(`AnchorChaining::getPlans`, `Error computing plan for a path:`, plan.reason);
|
|
1215
|
+
}
|
|
1216
|
+
else {
|
|
1217
|
+
ret.push(plan.value);
|
|
1218
|
+
}
|
|
1182
1219
|
}
|
|
1183
1220
|
}
|
|
1184
1221
|
return (ret);
|