@intent-engine/cli 0.1.41 → 0.1.43
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/dist/src/accounts.d.ts +4 -2
- package/dist/src/accounts.js +5 -4
- package/dist/src/accounts.js.map +1 -1
- package/dist/src/add-to.js +2 -2
- package/dist/src/add-to.js.map +1 -1
- package/dist/src/admin-commands.d.ts +22 -1
- package/dist/src/admin-commands.js +44 -12
- package/dist/src/admin-commands.js.map +1 -1
- package/dist/src/agent/actions.d.ts +1 -0
- package/dist/src/agent/actions.js +15 -1
- package/dist/src/agent/actions.js.map +1 -1
- package/dist/src/agent/budget.d.ts +5 -5
- package/dist/src/agent/budget.js +26 -6
- package/dist/src/agent/budget.js.map +1 -1
- package/dist/src/agent/claims.d.ts +2 -1
- package/dist/src/agent/claims.js +1 -1
- package/dist/src/agent/claims.js.map +1 -1
- package/dist/src/agent/create.d.ts +16 -7
- package/dist/src/agent/create.js +25 -3
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/jobs.js +11 -4
- package/dist/src/agent/jobs.js.map +1 -1
- package/dist/src/agent/mandate-agent.js +3 -2
- package/dist/src/agent/mandate-agent.js.map +1 -1
- package/dist/src/agent/mandate-revoke.js +1 -1
- package/dist/src/agent/mandate-revoke.js.map +1 -1
- package/dist/src/agent/owner.js +4 -2
- package/dist/src/agent/owner.js.map +1 -1
- package/dist/src/agent/prepare.d.ts +1 -1
- package/dist/src/agent/prepare.js +9 -2
- package/dist/src/agent/prepare.js.map +1 -1
- package/dist/src/agent/problems.d.ts +22 -0
- package/dist/src/agent/problems.js +33 -5
- package/dist/src/agent/problems.js.map +1 -1
- package/dist/src/agent/profile.d.ts +1 -0
- package/dist/src/agent/profile.js +30 -5
- package/dist/src/agent/profile.js.map +1 -1
- package/dist/src/agent/read.js +3 -4
- package/dist/src/agent/read.js.map +1 -1
- package/dist/src/agent/reputation.js +16 -7
- package/dist/src/agent/reputation.js.map +1 -1
- package/dist/src/agent/sales.js +17 -23
- package/dist/src/agent/sales.js.map +1 -1
- package/dist/src/agent/settle.js +1 -0
- package/dist/src/agent/settle.js.map +1 -1
- package/dist/src/agent/signed-prepare.js +3 -2
- package/dist/src/agent/signed-prepare.js.map +1 -1
- package/dist/src/agent/signed-relay.d.ts +1 -1
- package/dist/src/agent/signed-relay.js +2 -1
- package/dist/src/agent/signed-relay.js.map +1 -1
- package/dist/src/agent/signed-submit.js +7 -5
- package/dist/src/agent/signed-submit.js.map +1 -1
- package/dist/src/agent/signed-terms.d.ts +1 -5
- package/dist/src/agent/spec.js +16 -4
- package/dist/src/agent/spec.js.map +1 -1
- package/dist/src/agent/wallet/account.js +2 -1
- package/dist/src/agent/wallet/account.js.map +1 -1
- package/dist/src/agent/wallet/attest.d.ts +2 -0
- package/dist/src/agent/wallet/attest.js +46 -24
- package/dist/src/agent/wallet/attest.js.map +1 -1
- package/dist/src/agent/wallet/committee.js +29 -17
- package/dist/src/agent/wallet/committee.js.map +1 -1
- package/dist/src/agent/wallet/delivery.d.ts +4 -1
- package/dist/src/agent/wallet/delivery.js +80 -23
- package/dist/src/agent/wallet/delivery.js.map +1 -1
- package/dist/src/agent/wallet/escrow.js +9 -4
- package/dist/src/agent/wallet/escrow.js.map +1 -1
- package/dist/src/agent/wallet/fills.js +4 -3
- package/dist/src/agent/wallet/fills.js.map +1 -1
- package/dist/src/agent/wallet/guard.d.ts +32 -0
- package/dist/src/agent/wallet/guard.js +131 -9
- package/dist/src/agent/wallet/guard.js.map +1 -1
- package/dist/src/agent/wallet/history.js +2 -2
- package/dist/src/agent/wallet/history.js.map +1 -1
- package/dist/src/agent/wallet/offer.d.ts +18 -0
- package/dist/src/agent/wallet/offer.js +2 -1
- package/dist/src/agent/wallet/offer.js.map +1 -1
- package/dist/src/agent/wallet/openings.d.ts +37 -0
- package/dist/src/agent/wallet/openings.js +73 -0
- package/dist/src/agent/wallet/openings.js.map +1 -0
- package/dist/src/agent/wallet/receipt.d.ts +6 -0
- package/dist/src/agent/wallet/receipt.js +21 -3
- package/dist/src/agent/wallet/receipt.js.map +1 -1
- package/dist/src/agent/wallet/record.d.ts +3 -2
- package/dist/src/agent/wallet/record.js +16 -10
- package/dist/src/agent/wallet/record.js.map +1 -1
- package/dist/src/agent/wallet/split.d.ts +1 -0
- package/dist/src/agent/wallet/split.js +84 -57
- package/dist/src/agent/wallet/split.js.map +1 -1
- package/dist/src/agent/wallet/trade.js +2 -1
- package/dist/src/agent/wallet/trade.js.map +1 -1
- package/dist/src/agent/wallet/unwrap.js +2 -1
- package/dist/src/agent/wallet/unwrap.js.map +1 -1
- package/dist/src/agent/work-claims.js +16 -6
- package/dist/src/agent/work-claims.js.map +1 -1
- package/dist/src/arg-admin.d.ts +1 -1
- package/dist/src/arg-admin.js +4 -0
- package/dist/src/arg-admin.js.map +1 -1
- package/dist/src/arg-options.d.ts +70 -2
- package/dist/src/arg-options.js +39 -10
- package/dist/src/arg-options.js.map +1 -1
- package/dist/src/arg-solve.d.ts +6 -0
- package/dist/src/arg-solve.js +46 -1
- package/dist/src/arg-solve.js.map +1 -1
- package/dist/src/arg-usage.d.ts +2 -2
- package/dist/src/arg-usage.js +14 -10
- package/dist/src/arg-usage.js.map +1 -1
- package/dist/src/arg-values.d.ts +20 -1
- package/dist/src/arg-values.js +72 -2
- package/dist/src/arg-values.js.map +1 -1
- package/dist/src/args.d.ts +4 -1
- package/dist/src/args.js +39 -9
- package/dist/src/args.js.map +1 -1
- package/dist/src/claim-commands.d.ts +6 -2
- package/dist/src/claim-commands.js +115 -6
- package/dist/src/claim-commands.js.map +1 -1
- package/dist/src/clusters.d.ts +1 -0
- package/dist/src/clusters.js +1 -0
- package/dist/src/clusters.js.map +1 -1
- package/dist/src/command-types.d.ts +65 -1
- package/dist/src/commands.js +40 -8
- package/dist/src/commands.js.map +1 -1
- package/dist/src/committee-commands.d.ts +13 -2
- package/dist/src/committee-commands.js +58 -11
- package/dist/src/committee-commands.js.map +1 -1
- package/dist/src/crank.d.ts +3 -3
- package/dist/src/crank.js +11 -9
- package/dist/src/crank.js.map +1 -1
- package/dist/src/float-commands.d.ts +17 -0
- package/dist/src/float-commands.js +94 -0
- package/dist/src/float-commands.js.map +1 -0
- package/dist/src/flow-commands.js +2 -2
- package/dist/src/flow-commands.js.map +1 -1
- package/dist/src/flows.d.ts +2 -2
- package/dist/src/flows.js +8 -2
- package/dist/src/flows.js.map +1 -1
- package/dist/src/job-args.js +16 -3
- package/dist/src/job-args.js.map +1 -1
- package/dist/src/job-commands.js +40 -10
- package/dist/src/job-commands.js.map +1 -1
- package/dist/src/job-filters.d.ts +15 -3
- package/dist/src/job-filters.js +31 -6
- package/dist/src/job-filters.js.map +1 -1
- package/dist/src/judge-digest.d.ts +7 -0
- package/dist/src/judge-digest.js +27 -0
- package/dist/src/judge-digest.js.map +1 -0
- package/dist/src/judge-watch.js +16 -6
- package/dist/src/judge-watch.js.map +1 -1
- package/dist/src/judge.d.ts +18 -1
- package/dist/src/judge.js +87 -17
- package/dist/src/judge.js.map +1 -1
- package/dist/src/ledger-keys.d.ts +4 -1
- package/dist/src/ledger-keys.js +21 -5
- package/dist/src/ledger-keys.js.map +1 -1
- package/dist/src/legacy-commands.d.ts +8 -0
- package/dist/src/legacy-commands.js +94 -0
- package/dist/src/legacy-commands.js.map +1 -0
- package/dist/src/main.d.ts +3 -0
- package/dist/src/main.js +5 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/migrate-commands.d.ts +10 -0
- package/dist/src/migrate-commands.js +127 -0
- package/dist/src/migrate-commands.js.map +1 -0
- package/dist/src/monitor.d.ts +5 -1
- package/dist/src/monitor.js +31 -4
- package/dist/src/monitor.js.map +1 -1
- package/dist/src/release-simulation.d.ts +3 -2
- package/dist/src/release-simulation.js +1 -0
- package/dist/src/release-simulation.js.map +1 -1
- package/dist/src/sealed-commands.d.ts +6 -0
- package/dist/src/sealed-commands.js +19 -1
- package/dist/src/sealed-commands.js.map +1 -1
- package/dist/src/solve-commands.d.ts +3 -1
- package/dist/src/solve-commands.js +31 -4
- package/dist/src/solve-commands.js.map +1 -1
- package/dist/src/trust-args.d.ts +5 -3
- package/dist/src/trust-args.js +48 -9
- package/dist/src/trust-args.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/wallet.d.ts +8 -2
- package/dist/src/wallet.js +44 -7
- package/dist/src/wallet.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-simulation.js","sourceRoot":"","sources":["../../src/release-simulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmB,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMvF,MAAM,SAAU,SAAQ,KAAK;IAClB,UAAU,CAAa;IAEhC,YAAY,UAAsB;QAChC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,6BAA6B,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"release-simulation.js","sourceRoot":"","sources":["../../src/release-simulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmB,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMvF,MAAM,SAAU,SAAQ,KAAK;IAClB,UAAU,CAAa;IAEhC,YAAY,UAAsB;QAChC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,6BAA6B,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAoB,EAAE,KAAsD,EAAE,OAAqB;IACvI,MAAM,KAAK,GAAc;QACvB,GAAG,YAAY,CAAC,SAAS,CAAC;QAC1B,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,SAAS,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC;YACrE,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,MAAM;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YACtD,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACrI,CAAC;QACD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC;AAC3E,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type DeliveryKey } from "@intent-engine/core";
|
|
2
3
|
import { type Transport } from "@intent-engine/client";
|
|
3
4
|
import type { Command } from "./command-types.js";
|
|
4
5
|
import type { Runtime } from "./runtime.js";
|
|
@@ -8,6 +9,11 @@ type Sealing = Extract<Command, {
|
|
|
8
9
|
type Reading = Extract<Command, {
|
|
9
10
|
name: "spec";
|
|
10
11
|
}>;
|
|
12
|
+
export declare const encryptionKeyLines: (key: string | null, removed: boolean) => string[];
|
|
13
|
+
export declare const encryptionKeyNext: (publicKey: string) => string;
|
|
14
|
+
export declare function newEncryptionKey(out: string, runtime: Runtime): Promise<object>;
|
|
15
|
+
export declare function loadEncryptionKeys(runtime: Runtime, paths?: readonly string[]): Promise<DeliveryKey[]>;
|
|
16
|
+
export declare function loadEncryptionKey(runtime: Runtime, path: string): Promise<DeliveryKey>;
|
|
11
17
|
export declare const MAX_SEALED_INPUT = 67108864;
|
|
12
18
|
export declare const jobClosed: (intent: Address) => string;
|
|
13
19
|
export declare function sealing(command: Sealing, runtime: Runtime): Promise<object>;
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
|
-
import { NotInvited, seal, sealedTo, SealedError, unseal } from "@intent-engine/core";
|
|
3
|
+
import { EncryptionKeyError, newEncryptionKeyFile, NotInvited, readEncryptionKeyFile, seal, sealedTo, SealedError, unseal } from "@intent-engine/core";
|
|
4
4
|
import { createClient, SpecSealed, SpecUnreadable } from "@intent-engine/client";
|
|
5
5
|
import { FlowRefused } from "./flows.js";
|
|
6
|
+
export const encryptionKeyLines = (key, removed) => key !== null ? [`Encryption key: ${key}; deliveries are sealed to it`] : removed ? ["Encryption key: none; deliveries are sealed to the key derived from the wallet"] : [];
|
|
7
|
+
export const encryptionKeyNext = (publicKey) => `publish the public key with profile set --encryption-key ${publicKey}, then judge with --encryption-keypair naming this file; it only decrypts and never signs`;
|
|
8
|
+
export async function newEncryptionKey(out, runtime) {
|
|
9
|
+
const { text, publicKey } = await newEncryptionKeyFile();
|
|
10
|
+
await runtime.saveText(out, text, true);
|
|
11
|
+
return { out, encryption_key: publicKey, next: encryptionKeyNext(publicKey) };
|
|
12
|
+
}
|
|
13
|
+
export async function loadEncryptionKeys(runtime, paths = []) {
|
|
14
|
+
return Promise.all(paths.map((path) => loadEncryptionKey(runtime, path)));
|
|
15
|
+
}
|
|
16
|
+
export async function loadEncryptionKey(runtime, path) {
|
|
17
|
+
try {
|
|
18
|
+
return await readEncryptionKeyFile(await runtime.readText(path));
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw error instanceof EncryptionKeyError ? new FlowRefused(`--encryption-keypair ${path}: ${error.message}`) : error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
6
24
|
export const MAX_SEALED_INPUT = 67_108_864;
|
|
7
25
|
export const jobClosed = (intent) => `the job ${intent} is closed: it was paid, cancelled or expired, or never existed`;
|
|
8
26
|
const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealed-commands.js","sourceRoot":"","sources":["../../src/sealed-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sealed-commands.js","sourceRoot":"","sources":["../../src/sealed-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address } from "@solana/kit";
|
|
2
2
|
import { type Intent } from "@intent-engine/core";
|
|
3
3
|
import { type Flight, type Pricer, type SolverOptions } from "@intent-engine/solver";
|
|
4
|
-
import { type ProgramAccount, type Transport } from "@intent-engine/client";
|
|
4
|
+
import { ConfirmMismatch, type ProgramAccount, type Transport } from "@intent-engine/client";
|
|
5
5
|
import type { Command } from "./command-types.js";
|
|
6
6
|
import type { Runtime } from "./runtime.js";
|
|
7
7
|
export declare const ENV_JUPITER_KEY = "JUPITER_API_KEY";
|
|
@@ -11,6 +11,8 @@ export declare const SOLVER_TABLE_NEXT = "put these in an address lookup table y
|
|
|
11
11
|
export type SolveCommand = Extract<Command, {
|
|
12
12
|
name: "solve";
|
|
13
13
|
}>;
|
|
14
|
+
export declare const secondNodeSkip: (error: ConfirmMismatch) => string;
|
|
15
|
+
export declare function confirmedFill(transport: Transport, second: Transport): (intent: Address, accounts: readonly Address[]) => Promise<string | null>;
|
|
14
16
|
export declare const IN_FLIGHT_SECONDS = 90n;
|
|
15
17
|
export declare const REFRESH_AFTER_SECONDS = 60n;
|
|
16
18
|
export declare function decodedChanges(changed: readonly ProgramAccount[]): {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { findAssociatedTokenAddress, getIntentDecoder, IntentStatus } from "@intent-engine/core";
|
|
2
|
-
import { cachedPricer, answered, decodeLookupTable, firstPricer, heldBy, inventoryPricer, landings, releaseHolds, issuePricer, backoff, jitoBundles, jupiterPricer, MAX_BUNDLE, remembering, tick, tipAccount, unheld, } from "@intent-engine/solver";
|
|
3
|
-
import { chainTime, createdAccount, loadConfig, tokenAmountOf, tokenProgramOf, } from "@intent-engine/client";
|
|
1
|
+
import { findAssociatedTokenAddress, findVaultPda, getIntentDecoder, IntentStatus } from "@intent-engine/core";
|
|
2
|
+
import { cachedPricer, answered, decodeLookupTable, firstPricer, allowanceOf, heldBy, inventoryPricer, landings, releaseHolds, issuePricer, backoff, jitoBundles, jupiterPricer, MAX_BUNDLE, remembering, tick, tipAccount, unheld, } from "@intent-engine/solver";
|
|
3
|
+
import { chainTime, ConfirmMismatch, confirmOnBoth, createdAccount, loadConfig, tokenAmountOf, tokenProgramOf, } from "@intent-engine/client";
|
|
4
|
+
import { rentRate } from "./agent/budget.js";
|
|
4
5
|
import { priceOf, withPriority } from "./compute.js";
|
|
5
6
|
import { QUOTE_TTL } from "./args.js";
|
|
6
7
|
import { tally } from "./solve-stats.js";
|
|
@@ -12,6 +13,24 @@ export function jupiterHost(url) {
|
|
|
12
13
|
return host === JUPITER_DOMAIN || host.endsWith(`.${JUPITER_DOMAIN}`);
|
|
13
14
|
}
|
|
14
15
|
export const SOLVER_TABLE_NEXT = "put these in an address lookup table you own (solana address-lookup-table create, then extend with them) and pass it to solve with --lookup-table";
|
|
16
|
+
export const secondNodeSkip = (error) => error.field === "second node"
|
|
17
|
+
? `the second RPC node could not be read (${error.second}), so the fill was not sent`
|
|
18
|
+
: `the two RPC nodes report a different ${error.field}: the first ${error.first}, the second ${error.second}; the fill was not sent`;
|
|
19
|
+
export function confirmedFill(transport, second) {
|
|
20
|
+
return async (intent, accounts) => {
|
|
21
|
+
const [vault] = await findVaultPda({ intent });
|
|
22
|
+
try {
|
|
23
|
+
await confirmOnBoth(transport, second, { intent, accounts: [vault, ...accounts] });
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (error instanceof ConfirmMismatch) {
|
|
28
|
+
return secondNodeSkip(error);
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
15
34
|
export const IN_FLIGHT_SECONDS = 90n;
|
|
16
35
|
export const REFRESH_AFTER_SECONDS = 60n;
|
|
17
36
|
export function decodedChanges(changed) {
|
|
@@ -99,6 +118,9 @@ export async function watchSolveWith(command, interval, runtime, transport, opti
|
|
|
99
118
|
...(order === undefined ? {} : { intent: order }),
|
|
100
119
|
});
|
|
101
120
|
}
|
|
121
|
+
if (report.low !== undefined) {
|
|
122
|
+
emit({ at: now, low: report.low });
|
|
123
|
+
}
|
|
102
124
|
if (filled.length + sent.length + failed.length + lost.length > 0) {
|
|
103
125
|
emit({ at: now, scan: full ? "full" : "changed", ms: Math.round(performance.now() - began), filled, sent, failed: [...lost, ...failed] });
|
|
104
126
|
acted += filled.length + sent.length;
|
|
@@ -141,8 +163,10 @@ export async function solverOptions(command, runtime, transport, heldBack) {
|
|
|
141
163
|
now: () => chainTime(transport),
|
|
142
164
|
tokenProgram: (mint) => tokenProgramOf(transport, mint),
|
|
143
165
|
mintData: async (mint) => (await transport.getAccount(mint))?.data ?? null,
|
|
166
|
+
rent: () => rentRate(transport),
|
|
144
167
|
exists: async (address) => (await createdAccount(transport, address)) !== null,
|
|
145
168
|
tokenAmount: async (address) => tokenAmountOf((await transport.getAccount(address))?.data ?? null) ?? 0n,
|
|
169
|
+
allowance: async (address, delegate) => allowanceOf((await transport.getAccount(address))?.data ?? null, delegate),
|
|
146
170
|
lookupTables: async (addresses) => {
|
|
147
171
|
const tables = {};
|
|
148
172
|
for (const address of addresses) {
|
|
@@ -161,8 +185,9 @@ export async function solverOptions(command, runtime, transport, heldBack) {
|
|
|
161
185
|
};
|
|
162
186
|
const bundle = command.jito === undefined ? undefined : jitoBundles({ url: command.jito, fetch: runtime.fetch });
|
|
163
187
|
const priced = (routes) => Promise.all(routes.map(async (route) => ({ ...route, outputTokenProgram: await tokenProgramOf(transport, route.outputMint) })));
|
|
188
|
+
const owner = command.inventoryOwner;
|
|
164
189
|
const held = async (mint) => {
|
|
165
|
-
const token = await findAssociatedTokenAddress({ owner: solver.address, mint, tokenProgram: await tokenProgramOf(transport, mint) });
|
|
190
|
+
const token = await findAssociatedTokenAddress({ owner: owner ?? solver.address, mint, tokenProgram: await tokenProgramOf(transport, mint) });
|
|
166
191
|
return unheld(tokenAmountOf((await transport.getAccount(token))?.data ?? null) ?? 0n, heldBack?.(token) ?? 0n);
|
|
167
192
|
};
|
|
168
193
|
const stocked = command.inventory ?? [];
|
|
@@ -185,6 +210,7 @@ export async function solverOptions(command, runtime, transport, heldBack) {
|
|
|
185
210
|
chain,
|
|
186
211
|
pricer: firstPricer(...[inventory, routed].filter((pricer) => pricer !== null)),
|
|
187
212
|
solver,
|
|
213
|
+
...(owner === undefined ? {} : { inventoryOwner: owner }),
|
|
188
214
|
strategy: {
|
|
189
215
|
minProfit: command.minProfit,
|
|
190
216
|
maxFeeBps: command.maxFeeBps,
|
|
@@ -194,6 +220,7 @@ export async function solverOptions(command, runtime, transport, heldBack) {
|
|
|
194
220
|
},
|
|
195
221
|
concurrency: command.concurrency,
|
|
196
222
|
...(heldBack === undefined ? {} : { held: heldBack }),
|
|
223
|
+
...(command.confirmUrl === undefined ? {} : { confirm: confirmedFill(transport, runtime.transport(command.confirmUrl)) }),
|
|
197
224
|
maxSolCost: command.maxSolCost,
|
|
198
225
|
maxRent: command.maxRent,
|
|
199
226
|
tip: command.tipLamports === 0n ? null : { account: tipAccount(runtime.entropy()), lamports: command.tipLamports },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve-commands.js","sourceRoot":"","sources":["../../src/solve-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solve-commands.js","sourceRoot":"","sources":["../../src/solve-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/src/trust-args.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ export declare const COMMITTEE_SUBS = "committee needs create, show, vote or rel
|
|
|
4
4
|
export declare function committeeOf(sub: string | undefined, remote: Remote, values: Values): Command;
|
|
5
5
|
export declare function reputationOf(sub: string | undefined, remote: Remote, values: Values): Command;
|
|
6
6
|
export declare function feedbackOf(sub: string | undefined, remote: Remote, values: Values): Command;
|
|
7
|
-
export declare const CLAIMS_SUBS = "claims needs show, open, take, drop or
|
|
8
|
-
export declare const PROFILE_SUBS = "profile needs show, set or
|
|
7
|
+
export declare const CLAIMS_SUBS = "claims needs show, open, take, drop, settle, standby, leave or advance";
|
|
8
|
+
export declare const PROFILE_SUBS = "profile needs show, set, close or encryption-key new";
|
|
9
|
+
export declare const ENCRYPTION_KEY_SUB = "profile encryption-key needs new";
|
|
10
|
+
export declare const ENCRYPTION_KEY_TEXT = "--encryption-key is an X25519 public key: 32 bytes in base58, canonical and not of small order, or none to remove it";
|
|
9
11
|
export declare const STAKE_FORMAT: string;
|
|
10
12
|
export declare const PROFILE_RULE = "a profile needs --skills of 1 to 8 distinct tags, each 1 to 16 of a-z, 0-9 and - not starting or ending with -, an --endpoint of https:// and at most 128 printable characters without spaces or \\, and --doc-url only together with --doc-sha256";
|
|
11
13
|
export declare function optionsFor(argv: readonly string[]): typeof OPTIONS;
|
|
12
|
-
export declare function trustOf(verb: string, sub: string | undefined, remote: Remote, values: Values): Command;
|
|
14
|
+
export declare function trustOf(verb: string, sub: string | undefined, remote: Remote, values: Values, third?: string): Command;
|
package/dist/src/trust-args.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseArgs } from "node:util";
|
|
2
|
-
import { checkProfile, IntentCoreError, MAX_CLAIM_SECS, MAX_CLAIM_STAKE, MAX_COMMITTEE_MEMBERS, MAX_FEEDBACK_SCORE, parseAmount, TOKEN_AMOUNT_PATTERN, } from "@intent-engine/core";
|
|
2
|
+
import { checkProfile, ENCRYPTION_KEY_RULE, IntentCoreError, isEncryptionKeyText, MAX_CLAIM_SECS, MAX_CLAIM_STAKE, MAX_LINE_SEQ, MAX_COMMITTEE_MEMBERS, MAX_FEEDBACK_SCORE, NO_ENCRYPTION_KEY, parseAmount, TOKEN_AMOUNT_PATTERN, } from "@intent-engine/core";
|
|
3
3
|
import { OPTIONS, PROFILE_OPTIONS } from "./arg-options.js";
|
|
4
4
|
import { addressList, confirmUrlOf, key, noSub, parseAddress, parseBounded, required, sha256Of, u64, UsageError } from "./arg-values.js";
|
|
5
5
|
import { maxPagesOf } from "./command-builders.js";
|
|
@@ -54,7 +54,7 @@ export function committeeOf(sub, remote, values) {
|
|
|
54
54
|
yes: values.yes === true,
|
|
55
55
|
votes: votesOf(values),
|
|
56
56
|
sha256: values.sha256 === undefined ? undefined : sha256Of(values.sha256),
|
|
57
|
-
...confirmUrlOf(values),
|
|
57
|
+
...confirmUrlOf(values, remote.url),
|
|
58
58
|
};
|
|
59
59
|
default:
|
|
60
60
|
throw new UsageError(COMMITTEE_SUBS);
|
|
@@ -87,8 +87,10 @@ export function feedbackOf(sub, remote, values) {
|
|
|
87
87
|
note: values.note === undefined ? undefined : sha256Of(values.note, "--note must be the note's sha256 as 64 hex digits"),
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
|
-
export const CLAIMS_SUBS = "claims needs show, open, take, drop or
|
|
91
|
-
export const PROFILE_SUBS = "profile needs show, set or
|
|
90
|
+
export const CLAIMS_SUBS = "claims needs show, open, take, drop, settle, standby, leave or advance";
|
|
91
|
+
export const PROFILE_SUBS = "profile needs show, set, close or encryption-key new";
|
|
92
|
+
export const ENCRYPTION_KEY_SUB = "profile encryption-key needs new";
|
|
93
|
+
export const ENCRYPTION_KEY_TEXT = `--encryption-key is ${ENCRYPTION_KEY_RULE}, or ${NO_ENCRYPTION_KEY} to remove it`;
|
|
92
94
|
export const STAKE_FORMAT = `--stake is SOL from 0 to ${MAX_CLAIM_STAKE / 1000000000n} with at most 9 decimals, such as 0.01`;
|
|
93
95
|
export const PROFILE_RULE = "a profile needs --skills of 1 to 8 distinct tags, each 1 to 16 of a-z, 0-9 and - not starting or ending with -, an --endpoint of https:// and at most 128 printable characters without spaces or \\, and --doc-url only together with --doc-sha256";
|
|
94
96
|
export function optionsFor(argv) {
|
|
@@ -124,6 +126,28 @@ function claimsOf(sub, remote, values) {
|
|
|
124
126
|
maxSecs: parseBounded(required(values, "max-secs"), "max-secs", MAX_CLAIM_SECS, 1),
|
|
125
127
|
stake: stakeOf(values),
|
|
126
128
|
};
|
|
129
|
+
case "standby":
|
|
130
|
+
return {
|
|
131
|
+
name: "claims-standby",
|
|
132
|
+
...remote,
|
|
133
|
+
keypair: required(values, "keypair"),
|
|
134
|
+
yes: values.yes === true,
|
|
135
|
+
owner: key(values, "owner"),
|
|
136
|
+
nonce,
|
|
137
|
+
secs: parseBounded(required(values, "secs"), "secs", MAX_CLAIM_SECS, 1),
|
|
138
|
+
};
|
|
139
|
+
case "leave":
|
|
140
|
+
return {
|
|
141
|
+
name: "claims-leave",
|
|
142
|
+
...remote,
|
|
143
|
+
keypair: required(values, "keypair"),
|
|
144
|
+
yes: values.yes === true,
|
|
145
|
+
owner: key(values, "owner"),
|
|
146
|
+
nonce,
|
|
147
|
+
seq: typeof values.seq === "string" ? parseBounded(values.seq, "seq", MAX_LINE_SEQ, 0) : undefined,
|
|
148
|
+
};
|
|
149
|
+
case "advance":
|
|
150
|
+
return { name: "claims-advance", ...remote, keypair: required(values, "keypair"), yes: values.yes === true, owner: key(values, "owner"), nonce };
|
|
127
151
|
case "take":
|
|
128
152
|
return {
|
|
129
153
|
name: "claims-take",
|
|
@@ -154,7 +178,17 @@ function profileInput(values) {
|
|
|
154
178
|
throw error instanceof IntentCoreError ? new UsageError(PROFILE_RULE) : error;
|
|
155
179
|
}
|
|
156
180
|
}
|
|
157
|
-
function
|
|
181
|
+
function encryptionKeyOf(values) {
|
|
182
|
+
const text = values["encryption-key"];
|
|
183
|
+
if (text === undefined) {
|
|
184
|
+
return {};
|
|
185
|
+
}
|
|
186
|
+
if (text !== NO_ENCRYPTION_KEY && !isEncryptionKeyText(text)) {
|
|
187
|
+
throw new UsageError(ENCRYPTION_KEY_TEXT);
|
|
188
|
+
}
|
|
189
|
+
return { encryptionKey: text === NO_ENCRYPTION_KEY ? null : text };
|
|
190
|
+
}
|
|
191
|
+
function profileOf(sub, third, remote, values) {
|
|
158
192
|
switch (sub) {
|
|
159
193
|
case "show":
|
|
160
194
|
if (typeof values.wallet !== "string") {
|
|
@@ -162,14 +196,19 @@ function profileOf(sub, remote, values) {
|
|
|
162
196
|
}
|
|
163
197
|
return { name: "profile-show", ...remote, wallet: parseAddress(values.wallet, "wallet") };
|
|
164
198
|
case "set":
|
|
165
|
-
return { name: "profile-set", ...remote, keypair: required(values, "keypair"), yes: values.yes === true, profile: profileInput(values) };
|
|
199
|
+
return { name: "profile-set", ...remote, keypair: required(values, "keypair"), yes: values.yes === true, profile: profileInput(values), ...encryptionKeyOf(values) };
|
|
166
200
|
case "close":
|
|
167
201
|
return { name: "profile-close", ...remote, keypair: required(values, "keypair"), yes: values.yes === true };
|
|
202
|
+
case "encryption-key":
|
|
203
|
+
if (third !== "new") {
|
|
204
|
+
throw new UsageError(ENCRYPTION_KEY_SUB);
|
|
205
|
+
}
|
|
206
|
+
return { name: "profile-encryption-key", out: required(values, "out") };
|
|
168
207
|
default:
|
|
169
208
|
throw new UsageError(PROFILE_SUBS);
|
|
170
209
|
}
|
|
171
210
|
}
|
|
172
|
-
export function trustOf(verb, sub, remote, values) {
|
|
211
|
+
export function trustOf(verb, sub, remote, values, third) {
|
|
173
212
|
switch (verb) {
|
|
174
213
|
case "committee":
|
|
175
214
|
return committeeOf(sub, remote, values);
|
|
@@ -178,12 +217,12 @@ export function trustOf(verb, sub, remote, values) {
|
|
|
178
217
|
case "feedback":
|
|
179
218
|
return feedbackOf(sub, remote, values);
|
|
180
219
|
case "claims":
|
|
181
|
-
if (sub === undefined || !["show", "open", "take", "drop", "settle"].includes(sub)) {
|
|
220
|
+
if (sub === undefined || !["show", "open", "take", "drop", "settle", "standby", "leave", "advance"].includes(sub)) {
|
|
182
221
|
throw new UsageError(CLAIMS_SUBS);
|
|
183
222
|
}
|
|
184
223
|
return claimsOf(sub, remote, values);
|
|
185
224
|
default:
|
|
186
|
-
return profileOf(sub, remote, values);
|
|
225
|
+
return profileOf(sub, third, remote, values);
|
|
187
226
|
}
|
|
188
227
|
}
|
|
189
228
|
//# sourceMappingURL=trust-args.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust-args.js","sourceRoot":"","sources":["../../src/trust-args.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trust-args.js","sourceRoot":"","sources":["../../src/trust-args.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.43";
|
package/dist/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.1.
|
|
1
|
+
export const VERSION = "0.1.43";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/src/wallet.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type KeyPairSigner } from "@solana/kit";
|
|
2
|
-
import { type Transport } from "@intent-engine/client";
|
|
2
|
+
import { type OpenTransport, type Transport } from "@intent-engine/client";
|
|
3
3
|
import { type Env } from "./args.js";
|
|
4
4
|
export declare const LAMPORTS_PER_SOL = 1000000000n;
|
|
5
5
|
export declare const ENOUGH_TO_START: bigint;
|
|
@@ -10,9 +10,11 @@ export type Files = {
|
|
|
10
10
|
saveText(path: string, text: string, secret: boolean): Promise<void>;
|
|
11
11
|
loadSigner(path: string): Promise<KeyPairSigner>;
|
|
12
12
|
loadKeypair(path: string): Promise<Uint8Array>;
|
|
13
|
+
ledger?: OpenTransport;
|
|
13
14
|
};
|
|
14
15
|
export declare const settingsPath: (home: string) => string;
|
|
15
16
|
export declare const defaultWallet: (home: string) => string;
|
|
17
|
+
export declare const ledgerBook: (home: string, path: string) => string;
|
|
16
18
|
export declare const settingsBroken: (path: string) => string;
|
|
17
19
|
export declare const PUBLIC_FAUCET = "https://faucet.solana.com";
|
|
18
20
|
export declare const FAUCET = "https://github.com/MerlijnW70/solive/issues/new?template=faucet.yml";
|
|
@@ -27,6 +29,10 @@ export declare function expandHome(path: string, home: string): string;
|
|
|
27
29
|
export declare function withSettings(files: Files, given: Env): Promise<Env>;
|
|
28
30
|
export declare const savedDefault: (url: string) => string;
|
|
29
31
|
export declare const keptDefault: (saved: string) => string;
|
|
30
|
-
export declare
|
|
32
|
+
export declare class SecondNodeRefused extends Error {
|
|
33
|
+
}
|
|
34
|
+
export declare const confirmUnreachable: (url: string, reason: string) => string;
|
|
35
|
+
export declare const confirmElsewhere: (url: string, first: string, second: string) => string;
|
|
36
|
+
export declare function setup(transport: Transport, files: Files, url: string, keypair: string | undefined, keepSavedUrl?: boolean, confirmUrl?: string, confirmTransport?: Transport): Promise<object>;
|
|
31
37
|
export declare function defaultMints(url: string): Address[];
|
|
32
38
|
export declare function balances(transport: Transport, owner: Address, mints: readonly Address[]): Promise<object>;
|
package/dist/src/wallet.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createKeyPairSignerFromPrivateKeyBytes, getAddressEncoder } from "@solana/kit";
|
|
2
2
|
import { getTokenDecoder } from "@solana-program/token";
|
|
3
3
|
import { DEVNET_TEST_MINT, findAssociatedTokenAddress, formatAmount, NATIVE_MINT, PRODUCT_REPOSITORY } from "@intent-engine/core";
|
|
4
|
-
import { createdAccount, mintOf } from "@intent-engine/client";
|
|
4
|
+
import { createdAccount, isLedgerPath, ledgerSigner, mintOf, openUsb } from "@intent-engine/client";
|
|
5
5
|
import { CLUSTERS, ENV_KEYPAIR, ENV_URL, UsageError } from "./args.js";
|
|
6
|
+
import { SAVED_CONFIRM_URL } from "./clusters.js";
|
|
6
7
|
import { SOL_DECIMALS } from "./agent/read.js";
|
|
7
8
|
import { redactUrl } from "./render.js";
|
|
8
9
|
import { DEVNET_URL } from "./tokens.js";
|
|
@@ -13,6 +14,7 @@ export const AIRDROP = LAMPORTS_PER_SOL;
|
|
|
13
14
|
const settingsDir = (home) => `${home}/.config/intent-engine`;
|
|
14
15
|
export const settingsPath = (home) => `${settingsDir(home)}/config.json`;
|
|
15
16
|
export const defaultWallet = (home) => `${settingsDir(home)}/wallet.json`;
|
|
17
|
+
export const ledgerBook = (home, path) => `${settingsDir(home)}/${path.replace(/[^A-Za-z0-9]+/g, "-")}.sales.json`;
|
|
16
18
|
export const settingsBroken = (path) => `${path} is not a settings file this CLI wrote; delete it and run setup again`;
|
|
17
19
|
export const PUBLIC_FAUCET = "https://faucet.solana.com";
|
|
18
20
|
export const FAUCET = `${PRODUCT_REPOSITORY}/issues/new?template=faucet.yml`;
|
|
@@ -31,7 +33,7 @@ export function expandHome(path, home) {
|
|
|
31
33
|
}
|
|
32
34
|
const set = (value) => (value === "" ? undefined : value);
|
|
33
35
|
export async function withSettings(files, given) {
|
|
34
|
-
const env = { ...given, [ENV_URL]: set(given[ENV_URL]), [ENV_KEYPAIR]: set(given[ENV_KEYPAIR]) };
|
|
36
|
+
const env = { ...given, [ENV_URL]: set(given[ENV_URL]), [ENV_KEYPAIR]: set(given[ENV_KEYPAIR]), [SAVED_CONFIRM_URL]: undefined };
|
|
35
37
|
const path = settingsPath(files.home);
|
|
36
38
|
let text;
|
|
37
39
|
try {
|
|
@@ -50,14 +52,18 @@ export async function withSettings(files, given) {
|
|
|
50
52
|
if (saved === null ||
|
|
51
53
|
typeof saved !== "object" ||
|
|
52
54
|
typeof saved.url !== "string" ||
|
|
53
|
-
typeof saved.keypair !== "string"
|
|
55
|
+
typeof saved.keypair !== "string" ||
|
|
56
|
+
!["string", "undefined"].includes(typeof saved[SAVED_CONFIRM_URL])) {
|
|
54
57
|
throw new UsageError(settingsBroken(path));
|
|
55
58
|
}
|
|
56
|
-
const { url, keypair } = saved;
|
|
57
|
-
return { ...env, [ENV_URL]: env[ENV_URL] ?? url, [ENV_KEYPAIR]: env[ENV_KEYPAIR] ?? keypair };
|
|
59
|
+
const { url, keypair, [SAVED_CONFIRM_URL]: confirmUrl } = saved;
|
|
60
|
+
return { ...env, [ENV_URL]: env[ENV_URL] ?? url, [ENV_KEYPAIR]: env[ENV_KEYPAIR] ?? keypair, [SAVED_CONFIRM_URL]: confirmUrl };
|
|
58
61
|
}
|
|
59
62
|
const alreadyExists = (error) => error !== null && typeof error === "object" && "code" in error && error.code === "EEXIST";
|
|
60
63
|
async function walletAt(files, path) {
|
|
64
|
+
if (isLedgerPath(path)) {
|
|
65
|
+
return { signer: await ledgerSigner(path, files.ledger ?? openUsb), created: false };
|
|
66
|
+
}
|
|
61
67
|
try {
|
|
62
68
|
await files.readText(path);
|
|
63
69
|
}
|
|
@@ -80,11 +86,41 @@ async function walletAt(files, path) {
|
|
|
80
86
|
const lamportsOf = async (transport, owner) => (await transport.getAccount(owner))?.lamports ?? 0n;
|
|
81
87
|
export const savedDefault = (url) => `saved ${redactUrl(url)} as the default RPC for later CLI commands`;
|
|
82
88
|
export const keptDefault = (saved) => `left the saved default RPC ${redactUrl(saved)} unchanged`;
|
|
83
|
-
|
|
89
|
+
const savedConfirm = async (files) => {
|
|
90
|
+
try {
|
|
91
|
+
return (await withSettings(files, {}))[SAVED_CONFIRM_URL];
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
export class SecondNodeRefused extends Error {
|
|
98
|
+
}
|
|
99
|
+
export const confirmUnreachable = (url, reason) => `--confirm-url ${redactUrl(url)} could not be read (${reason}), so it was not saved; name a node that answers`;
|
|
100
|
+
export const confirmElsewhere = (url, first, second) => `--confirm-url ${redactUrl(url)} serves another cluster than --url: genesis hash ${second}, not ${first}, so it was not saved; name a node on the same cluster`;
|
|
101
|
+
async function checkedSecond(transport, confirm, url) {
|
|
102
|
+
let second;
|
|
103
|
+
try {
|
|
104
|
+
second = await confirm.genesisHash();
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
throw new SecondNodeRefused(confirmUnreachable(url, error instanceof Error ? error.message : String(error)));
|
|
108
|
+
}
|
|
109
|
+
const first = await transport.genesisHash();
|
|
110
|
+
if (second !== first) {
|
|
111
|
+
throw new SecondNodeRefused(confirmElsewhere(url, first, second));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export async function setup(transport, files, url, keypair, keepSavedUrl = false, confirmUrl, confirmTransport) {
|
|
115
|
+
if (confirmUrl !== undefined && confirmTransport !== undefined) {
|
|
116
|
+
await checkedSecond(transport, confirmTransport, confirmUrl);
|
|
117
|
+
}
|
|
84
118
|
const path = expandHome(keypair ?? defaultWallet(files.home), files.home);
|
|
85
119
|
const { signer, created } = await walletAt(files, path);
|
|
86
120
|
const saved = keepSavedUrl ? (await withSettings(files, {}))[ENV_URL] : undefined;
|
|
87
|
-
|
|
121
|
+
const confirm = confirmUrl ?? (await savedConfirm(files));
|
|
122
|
+
const settings = { url: saved ?? url, keypair: path, ...(confirm === undefined ? {} : { [SAVED_CONFIRM_URL]: confirm }) };
|
|
123
|
+
await files.saveText(settingsPath(files.home), `${JSON.stringify(settings, null, 2)}\n`, false);
|
|
88
124
|
let held = await lamportsOf(transport, signer.address);
|
|
89
125
|
let next = FUNDED;
|
|
90
126
|
if (held < FUND_BELOW) {
|
|
@@ -107,6 +143,7 @@ export async function setup(transport, files, url, keypair, keepSavedUrl = false
|
|
|
107
143
|
created,
|
|
108
144
|
url: redactUrl(url),
|
|
109
145
|
settings: saved === undefined ? savedDefault(url) : keptDefault(saved),
|
|
146
|
+
...(confirm === undefined ? {} : { confirm_url: redactUrl(confirm) }),
|
|
110
147
|
sol: formatAmount(held, SOL_DECIMALS),
|
|
111
148
|
next,
|
|
112
149
|
};
|
package/dist/src/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,sCAAsC,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AAC1H,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClI,OAAO,EAAE,cAAc,EAAE,MAAM,EAAkB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":"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"}
|