@intent-engine/client 0.1.36 → 0.1.38

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.
@@ -0,0 +1,26 @@
1
+ import type { Address } from "@solana/kit";
2
+ import type { Transport } from "./transport.js";
3
+ export type ConfirmTarget = {
4
+ intent: Address;
5
+ attestor: Address;
6
+ sha256?: string | undefined;
7
+ pages?: number | undefined;
8
+ payees?: readonly Address[] | undefined;
9
+ };
10
+ export type NodeView = {
11
+ genesis: string;
12
+ intent: string;
13
+ announcer: string | undefined;
14
+ };
15
+ export type ConfirmField = "genesis hash" | "intent account" | "earliest announcer" | "payee" | "second node";
16
+ export declare const NO_ACCOUNT = "no account";
17
+ export declare const NO_ANNOUNCER = "nobody";
18
+ export declare const INCOMPLETE_RECORD = "an incomplete delivery record";
19
+ export declare class ConfirmMismatch extends Error {
20
+ readonly field: ConfirmField;
21
+ readonly first: string;
22
+ readonly second: string;
23
+ constructor(field: ConfirmField, first: string, second: string);
24
+ }
25
+ export declare function nodeView(transport: Transport, target: ConfirmTarget): Promise<NodeView>;
26
+ export declare function confirmOnBoth(first: Transport, second: Transport, target: ConfirmTarget): Promise<NodeView>;
@@ -0,0 +1,61 @@
1
+ import { deliveryRecord, firstDelivery } from "./job-deliveries.js";
2
+ export const NO_ACCOUNT = "no account";
3
+ export const NO_ANNOUNCER = "nobody";
4
+ export const INCOMPLETE_RECORD = "an incomplete delivery record";
5
+ export class ConfirmMismatch extends Error {
6
+ field;
7
+ first;
8
+ second;
9
+ constructor(field, first, second) {
10
+ super(field === "second node"
11
+ ? `the second RPC node could not be read (${second}), so the release is not confirmed; nothing was signed or sent`
12
+ : field === "payee"
13
+ ? `both RPC nodes report the earliest announcer ${second}, which is not the payee ${first}; nothing was signed or sent`
14
+ : `the two RPC nodes report a different ${field}: the first ${first}, the second ${second}; nothing was signed or sent`);
15
+ this.name = "ConfirmMismatch";
16
+ this.field = field;
17
+ this.first = first;
18
+ this.second = second;
19
+ }
20
+ }
21
+ const hex = (bytes) => Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
22
+ const digestOf = async (bytes) => hex(new Uint8Array(await crypto.subtle.digest("SHA-256", bytes.slice())));
23
+ async function announcerOf(transport, target) {
24
+ if (target.sha256 === undefined) {
25
+ return undefined;
26
+ }
27
+ const record = await deliveryRecord(transport, target.attestor, target.intent, target.pages);
28
+ if (!record.complete) {
29
+ return INCOMPLETE_RECORD;
30
+ }
31
+ const first = firstDelivery(record.deliveries, target.sha256);
32
+ return first === null ? NO_ANNOUNCER : `${first.worker} in ${first.signature}`;
33
+ }
34
+ export async function nodeView(transport, target) {
35
+ const [genesis, account, announcer] = await Promise.all([transport.genesisHash(), transport.getAccount(target.intent), announcerOf(transport, target)]);
36
+ return { genesis, intent: account === null ? NO_ACCOUNT : `sha256 ${await digestOf(account.data)}`, announcer };
37
+ }
38
+ const reasonOf = (error) => (error instanceof Error ? error.message : String(error));
39
+ export async function confirmOnBoth(first, second, target) {
40
+ const [own, other] = await Promise.all([
41
+ nodeView(first, target),
42
+ nodeView(second, target).catch((error) => {
43
+ throw new ConfirmMismatch("second node", "read", `unreadable: ${reasonOf(error)}`);
44
+ }),
45
+ ]);
46
+ if (own.genesis !== other.genesis) {
47
+ throw new ConfirmMismatch("genesis hash", own.genesis, other.genesis);
48
+ }
49
+ if (own.intent !== other.intent) {
50
+ throw new ConfirmMismatch("intent account", own.intent, other.intent);
51
+ }
52
+ if (own.announcer !== other.announcer || own.announcer === INCOMPLETE_RECORD) {
53
+ throw new ConfirmMismatch("earliest announcer", own.announcer ?? NO_ANNOUNCER, other.announcer ?? NO_ANNOUNCER);
54
+ }
55
+ const worker = own.announcer?.split(" ")[0];
56
+ if (target.payees !== undefined && own.announcer !== undefined && own.announcer !== NO_ANNOUNCER && !target.payees.some((payee) => payee === worker)) {
57
+ throw new ConfirmMismatch("payee", target.payees.join(", "), own.announcer);
58
+ }
59
+ return own;
60
+ }
61
+ //# sourceMappingURL=confirm-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-release.js","sourceRoot":"","sources":["../../src/confirm-release.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpE,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAEjE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,KAAK,CAAe;IACpB,KAAK,CAAS;IACd,MAAM,CAAS;IAExB,YAAY,KAAmB,EAAE,KAAa,EAAE,MAAc;QAC5D,KAAK,CACH,KAAK,KAAK,aAAa;YACrB,CAAC,CAAC,0CAA0C,MAAM,gEAAgE;YAClH,CAAC,CAAC,KAAK,KAAK,OAAO;gBACjB,CAAC,CAAC,gDAAgD,MAAM,4BAA4B,KAAK,8BAA8B;gBACvH,CAAC,CAAC,wCAAwC,KAAK,eAAe,KAAK,gBAAgB,MAAM,8BAA8B,CAC5H,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,GAAG,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE9G,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAiB,EAAmB,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzI,KAAK,UAAU,WAAW,CAAC,SAAoB,EAAE,MAAqB;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAoB,EAAE,MAAqB;IACxE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACxJ,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;AAClH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAiB,EAAE,MAAqB;IAC5F,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChD,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC;KACH,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC7E,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,GAAG,CAAC,SAAS,IAAI,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;QACrJ,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,8 +1,10 @@
1
1
  export * from "./accounts.js";
2
2
  export * from "./budget.js";
3
3
  export * from "./client.js";
4
+ export * from "./confirm-release.js";
4
5
  export * from "./errors.js";
5
6
  export * from "./jobs.js";
7
+ export * from "./ledger.js";
6
8
  export * from "./reputation.js";
7
9
  export * from "./setup.js";
8
10
  export * from "./simple.js";
package/dist/src/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from "./accounts.js";
2
2
  export * from "./budget.js";
3
3
  export * from "./client.js";
4
+ export * from "./confirm-release.js";
4
5
  export * from "./errors.js";
5
6
  export * from "./jobs.js";
7
+ export * from "./ledger.js";
6
8
  export * from "./reputation.js";
7
9
  export * from "./setup.js";
8
10
  export * from "./simple.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type TransactionPartialSigner } from "@solana/kit";
2
+ export declare const LEDGER_FORMS: string[];
3
+ export declare const LEDGER_ERRORS: {
4
+ readonly notFound: "no Ledger was found: plug it in, unlock it, open the Solana app and run the command again; nothing was sent";
5
+ readonly locked: "the Ledger is locked: unlock it with its PIN, open the Solana app and run the command again; nothing was sent";
6
+ readonly noApp: "the Solana app is not open on the Ledger: open it and run the command again; nothing was sent";
7
+ readonly blindSigning: "blind signing is disabled in the Ledger's Solana app: enable it in the app's settings, since Squads instructions need it, and run the command again; nothing was sent";
8
+ readonly rejected: "the transaction was rejected on the Ledger; nothing was sent";
9
+ readonly missing: "signing with a Ledger needs @ledgerhq/hw-app-solana@7.12.0 and @ledgerhq/hw-transport-node-hid-noevents@6.36.0, which are not installed: install both where intent-engine is installed and run the command again; nothing was sent";
10
+ readonly driver: "the USB driver node-hid is not built in this checkout: build it as docs/maintainers/operations.md shows under Signing with a Ledger and run the command again; nothing was sent";
11
+ };
12
+ export declare class LedgerPathError extends Error {
13
+ }
14
+ export declare class LedgerError extends Error {
15
+ }
16
+ export type LedgerPath = {
17
+ account?: number;
18
+ change?: number;
19
+ derivation: string;
20
+ };
21
+ export type LedgerTransport = {
22
+ close(): Promise<void>;
23
+ };
24
+ export type OpenTransport = () => Promise<LedgerTransport>;
25
+ export type DeviceSigner = TransactionPartialSigner & {
26
+ readonly device: string;
27
+ };
28
+ export declare function ledgerModule(name: string, resolve?: (name: string) => unknown): unknown;
29
+ export declare const isLedgerPath: (text: string) => boolean;
30
+ export declare const isDevice: (signer: TransactionPartialSigner) => signer is DeviceSigner;
31
+ export declare const messageHash: (message: Uint8Array) => string;
32
+ export declare function parseLedgerPath(text: string): LedgerPath;
33
+ export declare const openUsb: OpenTransport;
34
+ export declare function plainLedgerError(error: unknown): LedgerError;
35
+ export declare function ledgerSigner(text: string, open?: OpenTransport): Promise<DeviceSigner>;
@@ -0,0 +1,161 @@
1
+ import { createHash } from "node:crypto";
2
+ import { createRequire } from "node:module";
3
+ import { getAddressDecoder, getBase58Decoder, getPublicKeyFromAddress, verifySignature, } from "@solana/kit";
4
+ export const LEDGER_FORMS = ["usb://ledger", "usb://ledger?key=<account>", "usb://ledger?key=<account>/<change>"];
5
+ export const LEDGER_ERRORS = {
6
+ notFound: "no Ledger was found: plug it in, unlock it, open the Solana app and run the command again; nothing was sent",
7
+ locked: "the Ledger is locked: unlock it with its PIN, open the Solana app and run the command again; nothing was sent",
8
+ noApp: "the Solana app is not open on the Ledger: open it and run the command again; nothing was sent",
9
+ blindSigning: "blind signing is disabled in the Ledger's Solana app: enable it in the app's settings, since Squads instructions need it, and run the command again; nothing was sent",
10
+ rejected: "the transaction was rejected on the Ledger; nothing was sent",
11
+ missing: "signing with a Ledger needs @ledgerhq/hw-app-solana@7.12.0 and @ledgerhq/hw-transport-node-hid-noevents@6.36.0, which are not installed: install both where intent-engine is installed and run the command again; nothing was sent",
12
+ driver: "the USB driver node-hid is not built in this checkout: build it as docs/maintainers/operations.md shows under Signing with a Ledger and run the command again; nothing was sent",
13
+ };
14
+ const LOCKED = new Set([0x5515, 0x6982]);
15
+ const NO_APP = new Set([0x6e00, 0x6e01, 0x6d00, 0x6d02, 0x6511, 0x650f]);
16
+ const REJECTED = 0x6985;
17
+ const BLIND_SIGNING = 0x6808;
18
+ const MAX_INDEX = 2 ** 31 - 1;
19
+ const ADDRESS_BYTES = 32;
20
+ const SIGNATURE_BYTES = 64;
21
+ export class LedgerPathError extends Error {
22
+ }
23
+ export class LedgerError extends Error {
24
+ }
25
+ const required = createRequire(import.meta.url);
26
+ export function ledgerModule(name, resolve = required) {
27
+ try {
28
+ return resolve(name);
29
+ }
30
+ catch (error) {
31
+ if (error.code === "MODULE_NOT_FOUND") {
32
+ throw new LedgerError(LEDGER_ERRORS.missing);
33
+ }
34
+ throw error;
35
+ }
36
+ }
37
+ const load = (name) => ledgerModule(name);
38
+ export const isLedgerPath = (text) => text.startsWith("usb://");
39
+ export const isDevice = (signer) => "device" in signer && typeof signer.device === "string";
40
+ export const messageHash = (message) => getBase58Decoder().decode(createHash("sha256").update(message).digest());
41
+ function index(text, path) {
42
+ if (text === undefined) {
43
+ return undefined;
44
+ }
45
+ const value = Number(text);
46
+ if (value > MAX_INDEX) {
47
+ throw new LedgerPathError(`${path} names an index above ${MAX_INDEX}; use ${LEDGER_FORMS.join(", ")}`);
48
+ }
49
+ return value;
50
+ }
51
+ export function parseLedgerPath(text) {
52
+ const match = /^usb:\/\/ledger(?:\?key=(0|[1-9]\d{0,9})(?:\/(0|[1-9]\d{0,9}))?)?$/.exec(text);
53
+ if (match === null) {
54
+ throw new LedgerPathError(`${text} is not a Ledger path; use ${LEDGER_FORMS.join(", ")}`);
55
+ }
56
+ const account = index(match[1], text);
57
+ const change = index(match[2], text);
58
+ const levels = ["44'", "501'", ...[account, change].filter((n) => n !== undefined).map((n) => `${n}'`)];
59
+ return { ...(account === undefined ? {} : { account }), ...(change === undefined ? {} : { change }), derivation: levels.join("/") };
60
+ }
61
+ export const openUsb = async () => {
62
+ const hid = load("@ledgerhq/hw-transport-node-hid-noevents");
63
+ return hid.default.open("");
64
+ };
65
+ const appOn = (transport) => {
66
+ const Solana = load("@ledgerhq/hw-app-solana").default;
67
+ return new Solana(transport);
68
+ };
69
+ const detail = (error) => {
70
+ const found = (error ?? {});
71
+ return {
72
+ ...(typeof found.statusCode === "number" ? { status: found.statusCode } : {}),
73
+ ...(typeof found.id === "string" ? { id: found.id } : {}),
74
+ message: typeof found.message === "string" ? found.message : String(error),
75
+ };
76
+ };
77
+ export function plainLedgerError(error) {
78
+ if (error instanceof LedgerError) {
79
+ return error;
80
+ }
81
+ const { status, id, message } = detail(error);
82
+ if (status === REJECTED) {
83
+ return new LedgerError(LEDGER_ERRORS.rejected);
84
+ }
85
+ if (status === BLIND_SIGNING || /blind signature/i.test(message)) {
86
+ return new LedgerError(LEDGER_ERRORS.blindSigning);
87
+ }
88
+ if (status !== undefined && LOCKED.has(status)) {
89
+ return new LedgerError(LEDGER_ERRORS.locked);
90
+ }
91
+ if (status !== undefined && NO_APP.has(status)) {
92
+ return new LedgerError(LEDGER_ERRORS.noApp);
93
+ }
94
+ if (/bindings file|HID_hidraw|HID\.node/.test(message)) {
95
+ return new LedgerError(LEDGER_ERRORS.driver);
96
+ }
97
+ if (id === "NoDevice" || /no ?device|could not open|cannot open device/i.test(message)) {
98
+ return new LedgerError(LEDGER_ERRORS.notFound);
99
+ }
100
+ if (status !== undefined) {
101
+ return new LedgerError(`the Ledger answered with status 0x${status.toString(16).padStart(4, "0")}; nothing was sent`);
102
+ }
103
+ return new LedgerError(`the Ledger could not be used: ${message}; nothing was sent`);
104
+ }
105
+ async function session(open, use) {
106
+ let transport;
107
+ try {
108
+ transport = await open();
109
+ }
110
+ catch (error) {
111
+ throw plainLedgerError(error);
112
+ }
113
+ try {
114
+ return await use(appOn(transport));
115
+ }
116
+ catch (error) {
117
+ throw plainLedgerError(error);
118
+ }
119
+ finally {
120
+ await transport.close().catch(() => undefined);
121
+ }
122
+ }
123
+ async function signed(signer, signature, message) {
124
+ const bytes = new Uint8Array(signature);
125
+ const valid = bytes.length === SIGNATURE_BYTES && (await verifySignature(await getPublicKeyFromAddress(signer), bytes, message));
126
+ if (!valid) {
127
+ throw new LedgerError(`the Ledger returned a signature that does not verify for ${signer}; nothing was sent`);
128
+ }
129
+ return bytes;
130
+ }
131
+ export async function ledgerSigner(text, open = openUsb) {
132
+ const { derivation } = parseLedgerPath(text);
133
+ const key = await session(open, async (app) => {
134
+ await app.getAppConfiguration();
135
+ return new Uint8Array((await app.getAddress(derivation)).address);
136
+ });
137
+ if (key.length !== ADDRESS_BYTES) {
138
+ throw new LedgerError(`the Ledger returned no ${ADDRESS_BYTES} byte address for ${text}; nothing was sent`);
139
+ }
140
+ const address = getAddressDecoder().decode(key);
141
+ const signer = {
142
+ address,
143
+ device: text,
144
+ signTransactions: async (transactions) => {
145
+ const out = [];
146
+ for (const transaction of transactions) {
147
+ const message = new Uint8Array(transaction.messageBytes);
148
+ const signature = await session(open, async (app) => {
149
+ if (!(await app.getAppConfiguration()).blindSigningEnabled) {
150
+ throw new LedgerError(LEDGER_ERRORS.blindSigning);
151
+ }
152
+ return (await app.signTransaction(derivation, Buffer.from(message))).signature;
153
+ });
154
+ out.push(Object.freeze({ [address]: await signed(address, signature, message) }));
155
+ }
156
+ return out;
157
+ },
158
+ };
159
+ return Object.freeze(signer);
160
+ }
161
+ //# sourceMappingURL=ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EAIvB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,4BAA4B,EAAE,qCAAqC,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,6GAA6G;IACvH,MAAM,EAAE,+GAA+G;IACvH,KAAK,EAAE,+FAA+F;IACtG,YAAY,EAAE,uKAAuK;IACrL,QAAQ,EAAE,8DAA8D;IACxE,OAAO,EAAE,oOAAoO;IAC7O,MAAM,EAAE,iLAAiL;CACjL,CAAC;AAEX,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAE7C,MAAM,OAAO,WAAY,SAAQ,KAAK;CAAG;AAgBzC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAO,GAA8B,QAAQ;IACtF,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA4B,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC9D,MAAM,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAgC,EAA0B,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;AAE9I,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAmB,EAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAErI,SAAS,KAAK,CAAC,IAAwB,EAAE,IAAY;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CAAC,GAAG,IAAI,yBAAyB,SAAS,SAAS,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,oEAAoE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,GAAG,IAAI,8BAA8B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACtI,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAkB,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,0CAA0C,CAAkE,CAAC;IAC9H,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,SAA0B,EAAO,EAAE;IAChD,MAAM,MAAM,GAAI,IAAI,CAAC,yBAAyB,CAA0D,CAAC,OAAO,CAAC;IACjH,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,KAAc,EAAqD,EAAE;IACnF,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAA8D,CAAC;IACzF,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC3E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,KAAK,UAAU,IAAI,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvF,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,WAAW,CAAC,qCAAqC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,iCAAiC,OAAO,oBAAoB,CAAC,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,OAAO,CAAI,IAAmB,EAAE,GAA6B;IAC1E,IAAI,SAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,MAAe,EAAE,SAAqB,EAAE,OAAmB;IAC/E,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;IACnJ,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,WAAW,CAAC,4DAA4D,MAAM,oBAAoB,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAuB,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,IAAI,GAAkB,OAAO;IAC5E,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,WAAW,CAAC,0BAA0B,aAAa,qBAAqB,IAAI,oBAAoB,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,MAAM,GAAiB;QAC3B,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACvC,MAAM,GAAG,GAA0B,EAAE,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAClD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC;wBAC3D,MAAM,IAAI,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACpD,CAAC;oBACD,OAAO,CAAC,MAAM,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjF,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -45,6 +45,7 @@ export type IntentRead = {
45
45
  onSlot?: (slot: bigint) => void;
46
46
  };
47
47
  export type LookupTables = Readonly<Record<Address, Address[]>>;
48
+ export type SignatureLanding = "landed" | "failed";
48
49
  export type Simulation = {
49
50
  err: string | null;
50
51
  logs: string[];
@@ -66,6 +67,7 @@ export interface Transport {
66
67
  signaturesOf?(of: Address, limit: number, before?: string): Promise<ListedSignature[]>;
67
68
  transactionsOf?(listed: readonly ListedSignature[]): Promise<EngineTransaction[]>;
68
69
  transactionOf?(signature: string): Promise<EngineTransaction | null>;
70
+ signatureStatuses?(signatures: readonly string[]): Promise<(SignatureLanding | null)[]>;
69
71
  firstAvailableSlot?(): Promise<bigint>;
70
72
  recentFees(accounts: readonly Address[]): Promise<bigint[]>;
71
73
  budget(instructions: readonly Instruction[], feePayer: Address, tables?: LookupTables): Promise<Instruction[]>;
@@ -1,6 +1,8 @@
1
1
  import { type SignatureWatch } from "./confirmation.js";
2
- import type { RpcLike, Transport } from "./rpc-shapes.js";
2
+ import type { RpcLike, SignatureLanding, Status, Transport } from "./rpc-shapes.js";
3
3
  export declare const MULTIPLE_ACCOUNTS_LIMIT = 100;
4
4
  export declare const TRANSACTION_FETCHES = 4;
5
5
  export declare const KEPT_TRANSACTIONS = 256;
6
+ export declare const SIGNATURE_STATUSES_LIMIT = 256;
7
+ export declare function landingOf(status: Status | null | undefined): SignatureLanding | null;
6
8
  export declare function rpcTransport(rpc: RpcLike, wait?: (ms: number) => Promise<void>, watch?: SignatureWatch): Transport;
@@ -14,6 +14,13 @@ function viewOf(value) {
14
14
  }
15
15
  export const TRANSACTION_FETCHES = 4;
16
16
  export const KEPT_TRANSACTIONS = 256;
17
+ export const SIGNATURE_STATUSES_LIMIT = 256;
18
+ export function landingOf(status) {
19
+ if (!status || (status.confirmationStatus !== "confirmed" && status.confirmationStatus !== "finalized")) {
20
+ return null;
21
+ }
22
+ return status.err === null ? "landed" : "failed";
23
+ }
17
24
  export function rpcTransport(rpc, wait, watch) {
18
25
  const fetched = new Map();
19
26
  let reached;
@@ -192,6 +199,15 @@ export function rpcTransport(rpc, wait, watch) {
192
199
  const failed = tx.meta !== null && tx.meta.err !== undefined && tx.meta.err !== null;
193
200
  return withoutMark(parsed({ signature, slot: tx.slot ?? 0n, blockTime: tx.blockTime ?? null, failed, memo: null }, tx));
194
201
  },
202
+ async signatureStatuses(signatures) {
203
+ const found = [];
204
+ for (let at = 0; at < signatures.length; at += SIGNATURE_STATUSES_LIMIT) {
205
+ const chunk = signatures.slice(at, at + SIGNATURE_STATUSES_LIMIT);
206
+ const { value } = await patiently(() => rpc.getSignatureStatuses([...chunk]).send(), wait);
207
+ found.push(...chunk.map((_, i) => landingOf(value[i])));
208
+ }
209
+ return found;
210
+ },
195
211
  ...(firstBlock === undefined ? {} : { firstAvailableSlot: () => patiently(() => firstBlock().send(), wait) }),
196
212
  async intents(owner, read) {
197
213
  const least = atLeast(read?.minContextSlot);
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-transport.js","sourceRoot":"","sources":["../../src/rpc-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-transport.js","sourceRoot":"","sources":["../../src/rpc-transport.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- export type { AccountView, EngineTransaction, IntentRead, Latest, ListedSignature, LookupTables, ProgramAccount, RpcLike, Simulation, TokenHolding, Transport, } from "./rpc-shapes.js";
1
+ export type { AccountView, EngineTransaction, IntentRead, Latest, ListedSignature, LookupTables, ProgramAccount, RpcLike, SignatureLanding, Simulation, TokenHolding, Transport, } from "./rpc-shapes.js";
2
2
  export { holdingsOf, keysAt, MEMO_PROGRAM_ADDRESS, signersAmong } from "./transaction-keys.js";
3
3
  export { behindMinSlot, BlockhashExpired, Charged, FailedOnChain, MIN_CONTEXT_SLOT_NOT_REACHED, neverLanded, patiently, POLL_MS, RATE_LIMIT_ATTEMPTS, rateLimited, } from "./rpc-retry.js";
4
4
  export { confirm, CONFIRM_POLLS, type Confirmed, confirmSent, heardSlot, type SignatureWatch, signatureWatch, } from "./confirmation.js";
5
5
  export { boundMembers, memoized, unmemoized } from "./memoized-transport.js";
6
- export { KEPT_TRANSACTIONS, MULTIPLE_ACCOUNTS_LIMIT, rpcTransport, TRANSACTION_FETCHES } from "./rpc-transport.js";
6
+ export { KEPT_TRANSACTIONS, landingOf, MULTIPLE_ACCOUNTS_LIMIT, rpcTransport, SIGNATURE_STATUSES_LIMIT, TRANSACTION_FETCHES } from "./rpc-transport.js";
7
7
  export { changedAccount, changesFrom, type IntentChanges, intentNotifications, type Notifications, pause, RECONNECT_MS, socketUrl, } from "./intent-notifications.js";
@@ -2,6 +2,6 @@ export { holdingsOf, keysAt, MEMO_PROGRAM_ADDRESS, signersAmong } from "./transa
2
2
  export { behindMinSlot, BlockhashExpired, Charged, FailedOnChain, MIN_CONTEXT_SLOT_NOT_REACHED, neverLanded, patiently, POLL_MS, RATE_LIMIT_ATTEMPTS, rateLimited, } from "./rpc-retry.js";
3
3
  export { confirm, CONFIRM_POLLS, confirmSent, heardSlot, signatureWatch, } from "./confirmation.js";
4
4
  export { boundMembers, memoized, unmemoized } from "./memoized-transport.js";
5
- export { KEPT_TRANSACTIONS, MULTIPLE_ACCOUNTS_LIMIT, rpcTransport, TRANSACTION_FETCHES } from "./rpc-transport.js";
5
+ export { KEPT_TRANSACTIONS, landingOf, MULTIPLE_ACCOUNTS_LIMIT, rpcTransport, SIGNATURE_STATUSES_LIMIT, TRANSACTION_FETCHES } from "./rpc-transport.js";
6
6
  export { changedAccount, changesFrom, intentNotifications, pause, RECONNECT_MS, socketUrl, } from "./intent-notifications.js";
7
7
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,4BAA4B,EAC5B,WAAW,EACX,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,aAAa,EAEb,WAAW,EACX,SAAS,EAET,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EACL,cAAc,EACd,WAAW,EAEX,mBAAmB,EAEnB,KAAK,EACL,YAAY,EACZ,SAAS,GACV,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,4BAA4B,EAC5B,WAAW,EACX,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,aAAa,EAEb,WAAW,EACX,SAAS,EAET,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,uBAAuB,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxJ,OAAO,EACL,cAAc,EACd,WAAW,EAEX,mBAAmB,EAEnB,KAAK,EACL,YAAY,EACZ,SAAS,GACV,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intent-engine/client",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "Runtime client for the intent engine on Solana: transport, confirmation, account readers and intent notifications",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -38,17 +38,27 @@
38
38
  "@solana-program/system": "0.14.1",
39
39
  "@solana-program/token": "0.16.1",
40
40
  "@solana/kit": "8.4.0",
41
- "@intent-engine/core": "0.1.36"
41
+ "@intent-engine/core": "0.1.38"
42
42
  },
43
43
  "peerDependencies": {
44
+ "@ledgerhq/hw-app-solana": "7.12.0",
45
+ "@ledgerhq/hw-transport-node-hid-noevents": "6.36.0",
44
46
  "litesvm": "^1.5.0"
45
47
  },
46
48
  "peerDependenciesMeta": {
49
+ "@ledgerhq/hw-app-solana": {
50
+ "optional": true
51
+ },
52
+ "@ledgerhq/hw-transport-node-hid-noevents": {
53
+ "optional": true
54
+ },
47
55
  "litesvm": {
48
56
  "optional": true
49
57
  }
50
58
  },
51
59
  "devDependencies": {
60
+ "@ledgerhq/hw-app-solana": "7.12.0",
61
+ "@ledgerhq/hw-transport-node-hid-noevents": "6.36.0",
52
62
  "@types/node": "26.6.4",
53
63
  "litesvm": "1.5.0",
54
64
  "typescript": "7.0.2",