@intent-engine/client 0.1.42 → 0.1.44
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 +13 -2
- package/dist/src/accounts.js +25 -8
- package/dist/src/accounts.js.map +1 -1
- package/dist/src/client-claims.js +3 -3
- package/dist/src/client-claims.js.map +1 -1
- package/dist/src/client-committee.d.ts +4 -0
- package/dist/src/client-committee.js +14 -2
- package/dist/src/client-committee.js.map +1 -1
- package/dist/src/client-errors.d.ts +6 -0
- package/dist/src/client-errors.js +13 -0
- package/dist/src/client-errors.js.map +1 -1
- package/dist/src/client-intents.js +8 -4
- package/dist/src/client-intents.js.map +1 -1
- package/dist/src/client-reads.js +3 -3
- package/dist/src/client-reads.js.map +1 -1
- package/dist/src/client-settle.d.ts +5 -1
- package/dist/src/client-settle.js +41 -10
- package/dist/src/client-settle.js.map +1 -1
- package/dist/src/client-types.d.ts +18 -4
- package/dist/src/client-types.js.map +1 -1
- package/dist/src/client.d.ts +4 -3
- package/dist/src/client.js +8 -4
- package/dist/src/client.js.map +1 -1
- package/dist/src/confirm-release.d.ts +6 -2
- package/dist/src/confirm-release.js +19 -4
- package/dist/src/confirm-release.js.map +1 -1
- package/dist/src/delivery-openings.d.ts +84 -0
- package/dist/src/delivery-openings.js +162 -0
- package/dist/src/delivery-openings.js.map +1 -0
- package/dist/src/funding.js +16 -12
- package/dist/src/funding.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-deliveries.d.ts +49 -5
- package/dist/src/job-deliveries.js +128 -21
- package/dist/src/job-deliveries.js.map +1 -1
- package/dist/src/job-memos.d.ts +5 -2
- package/dist/src/job-memos.js +16 -12
- package/dist/src/job-memos.js.map +1 -1
- package/dist/src/job-origins.d.ts +2 -2
- package/dist/src/job-origins.js +2 -2
- package/dist/src/job-origins.js.map +1 -1
- package/dist/src/job-pay.js +2 -2
- package/dist/src/job-pay.js.map +1 -1
- package/dist/src/job-proofs.js +2 -2
- package/dist/src/job-proofs.js.map +1 -1
- package/dist/src/job-scan.d.ts +6 -1
- package/dist/src/job-scan.js +13 -0
- package/dist/src/job-scan.js.map +1 -1
- package/dist/src/job-specs.d.ts +1 -0
- package/dist/src/job-specs.js +1 -0
- package/dist/src/job-specs.js.map +1 -1
- package/dist/src/jobs.d.ts +3 -2
- package/dist/src/jobs.js +3 -2
- package/dist/src/jobs.js.map +1 -1
- package/dist/src/ledger.d.ts +11 -4
- package/dist/src/ledger.js +46 -2
- package/dist/src/ledger.js.map +1 -1
- package/dist/src/release-reads.d.ts +8 -1
- package/dist/src/release-reads.js +34 -1
- package/dist/src/release-reads.js.map +1 -1
- package/dist/src/reputation.d.ts +16 -0
- package/dist/src/reputation.js +110 -36
- package/dist/src/reputation.js.map +1 -1
- package/dist/src/rpc-retry.d.ts +2 -1
- package/dist/src/rpc-retry.js +4 -3
- package/dist/src/rpc-retry.js.map +1 -1
- package/dist/src/rpc-shapes.d.ts +12 -1
- package/dist/src/rpc-transport.js +44 -8
- package/dist/src/rpc-transport.js.map +1 -1
- package/dist/src/simple-reads.d.ts +15 -0
- package/dist/src/simple-reads.js +96 -0
- package/dist/src/simple-reads.js.map +1 -0
- package/dist/src/simple-types.d.ts +32 -1
- package/dist/src/simple-work.d.ts +6 -1
- package/dist/src/simple-work.js +27 -12
- package/dist/src/simple-work.js.map +1 -1
- package/dist/src/simple.d.ts +2 -2
- package/dist/src/simple.js +4 -2
- package/dist/src/simple.js.map +1 -1
- package/dist/src/svm.js +3 -1
- package/dist/src/svm.js.map +1 -1
- package/dist/src/transaction-keys.d.ts +5 -1
- package/dist/src/transaction-keys.js +67 -13
- package/dist/src/transaction-keys.js.map +1 -1
- package/dist/src/transport.d.ts +1 -1
- package/dist/src/transport.js.map +1 -1
- package/dist/src/trust.d.ts +1 -0
- package/dist/src/trust.js +43 -28
- package/dist/src/trust.js.map +1 -1
- package/dist/src/unopened.d.ts +53 -0
- package/dist/src/unopened.js +169 -0
- package/dist/src/unopened.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { isSha256Hex } from "@intent-engine/core";
|
|
2
|
+
import { HISTORY_LIMIT } from "./client-types.js";
|
|
3
|
+
import { paidWalletsOf, publishedSalts, releaseStandingOf } from "./delivery-openings.js";
|
|
4
|
+
import { earlier, opensWith } from "./job-deliveries.js";
|
|
5
|
+
import { recordedRelease } from "./job-memos.js";
|
|
6
|
+
import { proofAt } from "./job-proofs.js";
|
|
7
|
+
import { eventsOf, releaseOf } from "./release-reads.js";
|
|
8
|
+
export function sha256Given(sha256, name) {
|
|
9
|
+
const lowered = sha256.trim().toLowerCase();
|
|
10
|
+
if (!isSha256Hex(lowered)) {
|
|
11
|
+
throw new RangeError(`${name} must be 64 hex digits`);
|
|
12
|
+
}
|
|
13
|
+
return lowered;
|
|
14
|
+
}
|
|
15
|
+
export function openingSalt(delivery, record, sha256) {
|
|
16
|
+
const salts = [...(delivery.salt === "" ? [] : [delivery.salt]), ...publishedSalts(delivery, record.openings)];
|
|
17
|
+
return salts.find((salt) => opensWith(delivery, salt, sha256)) ?? null;
|
|
18
|
+
}
|
|
19
|
+
export function firstOpened(record, sha256) {
|
|
20
|
+
let first = null;
|
|
21
|
+
for (const delivery of record.deliveries) {
|
|
22
|
+
const salt = openingSalt(delivery, record, sha256);
|
|
23
|
+
if (salt !== null && (first === null || earlier(delivery, first))) {
|
|
24
|
+
first = { ...delivery, sha256, salt };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return first;
|
|
28
|
+
}
|
|
29
|
+
export function workReads(ctx) {
|
|
30
|
+
const { transport } = ctx.client;
|
|
31
|
+
const recordOf = async (escrow, keypair) => {
|
|
32
|
+
const proof = await proofAt(transport, escrow);
|
|
33
|
+
if (proof === null) {
|
|
34
|
+
return { deliveries: [], openings: [], complete: true, pages: 0 };
|
|
35
|
+
}
|
|
36
|
+
return ctx.client.deliveryRecord({ judge: proof.params.attestor, intent: escrow, ...(keypair === undefined ? {} : { keypair }) });
|
|
37
|
+
};
|
|
38
|
+
const receipt = async (input) => {
|
|
39
|
+
const { escrow } = input;
|
|
40
|
+
const transactions = await transport.engineTransactions(HISTORY_LIMIT, escrow);
|
|
41
|
+
const release = releaseOf(transactions, escrow);
|
|
42
|
+
if (release === undefined || (release.event.name !== "IntentAttested" && release.event.name !== "IntentSplit")) {
|
|
43
|
+
return { escrow, released: false, signature: null, payee: null, payees: [], deliveredSha256: null, valid: false, refutedBy: null, complete: true, summary: `Escrow ${escrow} is not released yet` };
|
|
44
|
+
}
|
|
45
|
+
const attestor = release.event.fields.attestor;
|
|
46
|
+
const signature = release.transaction.signature;
|
|
47
|
+
const recorded = recordedRelease(transactions, release.transaction, attestor);
|
|
48
|
+
const payees = (await paidWalletsOf(transport, release, escrow)) ?? [];
|
|
49
|
+
const creation = eventsOf(transactions, escrow).find(({ event }) => event.name === "IntentCreated")?.transaction;
|
|
50
|
+
const standing = recorded === null
|
|
51
|
+
? { valid: false, refutedBy: null, complete: true }
|
|
52
|
+
: await releaseStandingOf(transport, {
|
|
53
|
+
intent: escrow,
|
|
54
|
+
attestor,
|
|
55
|
+
release: release.transaction,
|
|
56
|
+
recorded,
|
|
57
|
+
payees,
|
|
58
|
+
createdAt: creation?.blockTime ?? null,
|
|
59
|
+
from: creation?.slot ?? null,
|
|
60
|
+
});
|
|
61
|
+
const payee = payees[0] ?? null;
|
|
62
|
+
const work = recorded === null ? "no recorded work" : `work ${recorded.sha256}`;
|
|
63
|
+
const verdict = standing.valid ? "valid" : "not valid";
|
|
64
|
+
return {
|
|
65
|
+
escrow,
|
|
66
|
+
released: true,
|
|
67
|
+
signature,
|
|
68
|
+
payee,
|
|
69
|
+
payees,
|
|
70
|
+
deliveredSha256: recorded?.sha256 ?? null,
|
|
71
|
+
valid: standing.valid,
|
|
72
|
+
refutedBy: standing.refutedBy,
|
|
73
|
+
complete: standing.complete,
|
|
74
|
+
summary: `Escrow ${escrow} was released in ${signature} to ${payees.length === 0 ? "an unknown wallet" : payees.join(", ")} for ${work}; the release is ${verdict}`,
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
const deliveries = async (input) => {
|
|
78
|
+
const given = input.sha256 === undefined ? [] : [sha256Given(input.sha256, "sha256")];
|
|
79
|
+
const [record, released] = await Promise.all([recordOf(input.escrow, input.keypair), receipt({ escrow: input.escrow })]);
|
|
80
|
+
const candidates = [...new Set([...given, ...(released.deliveredSha256 === null ? [] : [released.deliveredSha256])])];
|
|
81
|
+
return [...record.deliveries]
|
|
82
|
+
.sort((a, b) => (earlier(a, b) ? -1 : earlier(b, a) ? 1 : 0))
|
|
83
|
+
.map((delivery) => {
|
|
84
|
+
const sha256 = candidates.find((candidate) => openingSalt(delivery, record, candidate) !== null) ?? null;
|
|
85
|
+
return {
|
|
86
|
+
worker: delivery.worker,
|
|
87
|
+
sha256,
|
|
88
|
+
url: delivery.url === "" ? null : delivery.url,
|
|
89
|
+
opened: sha256 !== null,
|
|
90
|
+
signature: delivery.signature,
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
return { recordOf, receipt, deliveries };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=simple-reads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-reads.js","sourceRoot":"","sources":["../../src/simple-reads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address, Instruction, Signature, TransactionSigner } from "@solana/kit";
|
|
2
2
|
import type { Priority } from "./budget.js";
|
|
3
3
|
import type { Client, WatchCallback, WatchOptions } from "./client-types.js";
|
|
4
|
+
import type { DeliveryOpeners } from "./job-deliveries.js";
|
|
4
5
|
import type { Job } from "./jobs.js";
|
|
5
6
|
import type { Cluster } from "./simple-tokens.js";
|
|
6
7
|
import type { Transport } from "./transport.js";
|
|
@@ -66,9 +67,37 @@ export type DeliverWorkInput = PreviewOption & {
|
|
|
66
67
|
};
|
|
67
68
|
export type ReleaseInput = PreviewOption & {
|
|
68
69
|
escrow: Address;
|
|
69
|
-
to
|
|
70
|
+
to?: Address;
|
|
70
71
|
deliveredSha256: string;
|
|
71
72
|
result?: number | bigint;
|
|
73
|
+
keypair?: DeliveryOpeners;
|
|
74
|
+
};
|
|
75
|
+
export type DeliveriesInput = {
|
|
76
|
+
escrow: Address;
|
|
77
|
+
sha256?: string;
|
|
78
|
+
keypair?: DeliveryOpeners;
|
|
79
|
+
};
|
|
80
|
+
export type Announcement = {
|
|
81
|
+
worker: Address;
|
|
82
|
+
sha256: string | null;
|
|
83
|
+
url: string | null;
|
|
84
|
+
opened: boolean;
|
|
85
|
+
signature: Signature;
|
|
86
|
+
};
|
|
87
|
+
export type ReceiptInput = {
|
|
88
|
+
escrow: Address;
|
|
89
|
+
};
|
|
90
|
+
export type ReleaseReceipt = {
|
|
91
|
+
escrow: Address;
|
|
92
|
+
released: boolean;
|
|
93
|
+
signature: Signature | null;
|
|
94
|
+
payee: Address | null;
|
|
95
|
+
payees: Address[];
|
|
96
|
+
deliveredSha256: string | null;
|
|
97
|
+
valid: boolean;
|
|
98
|
+
refutedBy: Signature | null;
|
|
99
|
+
complete: boolean;
|
|
100
|
+
summary: string;
|
|
72
101
|
};
|
|
73
102
|
export type CancelInput = PreviewOption & ({
|
|
74
103
|
escrow: Address;
|
|
@@ -106,6 +135,8 @@ export type SimpleClient = {
|
|
|
106
135
|
}): Promise<OpenWork[]>;
|
|
107
136
|
deliver<I extends DeliverWorkInput>(input: I): Promise<Outcome<I>>;
|
|
108
137
|
release<I extends ReleaseInput>(input: I): Promise<Outcome<I>>;
|
|
138
|
+
deliveries(input: DeliveriesInput): Promise<Announcement[]>;
|
|
139
|
+
receipt(input: ReceiptInput): Promise<ReleaseReceipt>;
|
|
109
140
|
cancel<I extends CancelInput>(input: I): Promise<Outcome<I>>;
|
|
110
141
|
watch(onChange: WatchCallback, signal: AbortSignal, filter?: WatchOptions): Promise<void>;
|
|
111
142
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { type Address } from "@solana/kit";
|
|
2
2
|
import { type SimpleContext } from "./simple-orders.js";
|
|
3
3
|
import type { CancelInput, DeliverWorkInput, OpenWork, ReleaseInput } from "./simple-types.js";
|
|
4
|
-
export declare const RELEASE_NEEDS_KEY_PAIR = "release signs the judge's verdict, so connect with a
|
|
4
|
+
export declare const RELEASE_NEEDS_KEY_PAIR = "release signs the judge's verdict, so connect with a signer that also signs messages";
|
|
5
|
+
export declare const recordIncomplete: (sha256: string) => string;
|
|
6
|
+
export declare const nothingOpens: (sha256: string) => string;
|
|
7
|
+
export declare const notFirstAnnouncer: (worker: Address, announcement: string, sha256: string, to: Address) => string;
|
|
5
8
|
export declare function workSends(ctx: SimpleContext): {
|
|
6
9
|
findWork: (filter?: {
|
|
7
10
|
judge?: Address;
|
|
@@ -9,4 +12,6 @@ export declare function workSends(ctx: SimpleContext): {
|
|
|
9
12
|
deliver: (input: DeliverWorkInput) => Promise<import("./simple-types.js").Preview | import("./simple-types.js").Sent>;
|
|
10
13
|
release: (input: ReleaseInput) => Promise<import("./simple-types.js").Preview | import("./simple-types.js").Sent>;
|
|
11
14
|
cancel: (input: CancelInput) => Promise<import("./simple-types.js").Preview | import("./simple-types.js").Sent>;
|
|
15
|
+
deliveries: (input: import("./simple-types.js").DeliveriesInput) => Promise<import("./simple-types.js").Announcement[]>;
|
|
16
|
+
receipt: (input: import("./simple-types.js").ReceiptInput) => Promise<import("./simple-types.js").ReleaseReceipt>;
|
|
12
17
|
};
|
package/dist/src/simple-work.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { formatAmount
|
|
1
|
+
import { isMessagePartialSigner } from "@solana/kit";
|
|
2
|
+
import { formatAmount } from "@intent-engine/core";
|
|
3
3
|
import { NotSettleable } from "./client-errors.js";
|
|
4
4
|
import { intentAt } from "./jobs.js";
|
|
5
5
|
import { outcome } from "./simple-orders.js";
|
|
6
|
+
import { firstOpened, sha256Given, workReads } from "./simple-reads.js";
|
|
6
7
|
import { nameOfMint, wholeTokens } from "./simple-tokens.js";
|
|
7
|
-
export const RELEASE_NEEDS_KEY_PAIR = "release signs the judge's verdict, so connect with a
|
|
8
|
+
export const RELEASE_NEEDS_KEY_PAIR = "release signs the judge's verdict, so connect with a signer that also signs messages";
|
|
9
|
+
export const recordIncomplete = (sha256) => `has a delivery record too long to read in full, so the first worker who announced the work ${sha256} cannot be known; nothing was sent`;
|
|
10
|
+
export const nothingOpens = (sha256) => `has no announcement that opens to the work ${sha256}: the worker announces it with deliver, then opens it with client.openDelivery, or the judge passes keypair to open the announcements sealed to it; nothing was sent`;
|
|
11
|
+
export const notFirstAnnouncer = (worker, announcement, sha256, to) => `pays ${worker}, who announced the work ${sha256} first, in ${announcement}, not ${to}; nothing was sent`;
|
|
8
12
|
export function workSends(ctx) {
|
|
13
|
+
const { recordOf, deliveries, receipt } = workReads(ctx);
|
|
9
14
|
const held = async (address) => {
|
|
10
15
|
const intent = await intentAt(ctx.client.transport, address);
|
|
11
16
|
if (intent === null) {
|
|
@@ -21,10 +26,7 @@ export function workSends(ctx) {
|
|
|
21
26
|
}));
|
|
22
27
|
};
|
|
23
28
|
const deliver = async (input) => {
|
|
24
|
-
|
|
25
|
-
throw new RangeError("sha256 must be 64 hex digits");
|
|
26
|
-
}
|
|
27
|
-
const sha256 = input.sha256.trim().toLowerCase();
|
|
29
|
+
const sha256 = sha256Given(input.sha256, "sha256");
|
|
28
30
|
const summary = `Deliver work ${sha256} at ${input.url} for escrow ${input.escrow}`;
|
|
29
31
|
return outcome(ctx, input.preview, summary, async (client) => ({
|
|
30
32
|
signature: await client.deliver({ worker: ctx.signer, intent: input.escrow, sha256, url: input.url }),
|
|
@@ -32,20 +34,33 @@ export function workSends(ctx) {
|
|
|
32
34
|
};
|
|
33
35
|
const release = async (input) => {
|
|
34
36
|
const judge = ctx.signer;
|
|
35
|
-
if (!
|
|
37
|
+
if (!isMessagePartialSigner(judge)) {
|
|
36
38
|
throw new TypeError(RELEASE_NEEDS_KEY_PAIR);
|
|
37
39
|
}
|
|
40
|
+
const sha256 = sha256Given(input.deliveredSha256, "deliveredSha256");
|
|
38
41
|
const { intent, mint } = await held(input.escrow);
|
|
42
|
+
const record = await recordOf(input.escrow, input.keypair);
|
|
43
|
+
if (!record.complete) {
|
|
44
|
+
throw new NotSettleable(input.escrow, recordIncomplete(sha256));
|
|
45
|
+
}
|
|
46
|
+
const first = firstOpened(record, sha256);
|
|
47
|
+
if (first === null) {
|
|
48
|
+
throw new NotSettleable(input.escrow, nothingOpens(sha256));
|
|
49
|
+
}
|
|
50
|
+
if (input.to !== undefined && input.to !== first.worker) {
|
|
51
|
+
throw new NotSettleable(input.escrow, notFirstAnnouncer(first.worker, first.signature, sha256, input.to));
|
|
52
|
+
}
|
|
39
53
|
const result = BigInt(input.result ?? 1n);
|
|
40
|
-
const summary = `Release escrow ${input.escrow} holding ${wholeTokens(intent.escrowed - intent.filled, mint.decimals, intent.inputMint)} to ${
|
|
54
|
+
const summary = `Release escrow ${input.escrow} holding ${wholeTokens(intent.escrowed - intent.filled, mint.decimals, intent.inputMint)} to ${first.worker} for work ${sha256}, announced first in ${first.signature}`;
|
|
41
55
|
return outcome(ctx, input.preview, summary, async (client) => ({
|
|
42
56
|
signature: await client.settleProof({
|
|
43
57
|
judge,
|
|
44
58
|
owner: intent.owner,
|
|
45
59
|
nonce: intent.nonce,
|
|
46
|
-
payTo:
|
|
60
|
+
payTo: first.worker,
|
|
47
61
|
result,
|
|
48
|
-
deliveredSha256:
|
|
62
|
+
deliveredSha256: sha256,
|
|
63
|
+
deliveredSalt: first.salt,
|
|
49
64
|
}),
|
|
50
65
|
intent: input.escrow,
|
|
51
66
|
nonce: intent.nonce,
|
|
@@ -64,6 +79,6 @@ export function workSends(ctx) {
|
|
|
64
79
|
nonce: intent.nonce,
|
|
65
80
|
}));
|
|
66
81
|
};
|
|
67
|
-
return { findWork, deliver, release, cancel };
|
|
82
|
+
return { findWork, deliver, release, cancel, deliveries, receipt };
|
|
68
83
|
}
|
|
69
84
|
//# sourceMappingURL=simple-work.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-work.js","sourceRoot":"","sources":["../../src/simple-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,
|
|
1
|
+
{"version":3,"file":"simple-work.js","sourceRoot":"","sources":["../../src/simple-work.ts"],"names":[],"mappings":"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"}
|
package/dist/src/simple.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ConnectOptions, SimpleClient } from "./simple-types.js";
|
|
2
|
-
export type { CancelInput, ConnectOptions, DeliverWorkInput, HeldToken, LimitInput, OpenWork, Outcome, PayForWorkInput, Preview, ReleaseInput, Seconds, Sent, SimpleClient, SwapInput, WalletBalance, } from "./simple-types.js";
|
|
2
|
+
export type { Announcement, CancelInput, ConnectOptions, DeliveriesInput, DeliverWorkInput, HeldToken, LimitInput, OpenWork, Outcome, PayForWorkInput, Preview, ReceiptInput, ReleaseInput, ReleaseReceipt, Seconds, Sent, SimpleClient, SwapInput, WalletBalance, } from "./simple-types.js";
|
|
3
3
|
export { ESCROW_EXPIRES_IN, PREVIEW_SIGNATURE, RECORD_TOKEN_NEEDED } from "./simple-orders.js";
|
|
4
|
-
export { RELEASE_NEEDS_KEY_PAIR } from "./simple-work.js";
|
|
4
|
+
export { notFirstAnnouncer, nothingOpens, RELEASE_NEEDS_KEY_PAIR, recordIncomplete } from "./simple-work.js";
|
|
5
5
|
export { type Cluster, CLUSTER_URLS, clusterUrl, MAINNET_REFUSED, MainnetNotAllowed, mintOfToken, tokenAmount, } from "./simple-tokens.js";
|
|
6
6
|
export declare function connect(options: ConnectOptions): Promise<SimpleClient>;
|
package/dist/src/simple.js
CHANGED
|
@@ -5,7 +5,7 @@ import { orderSends } from "./simple-orders.js";
|
|
|
5
5
|
import { CLUSTER_URLS, clusterUrl, MainnetNotAllowed, mintOfToken, nameOfMint, wholeTokens } from "./simple-tokens.js";
|
|
6
6
|
import { workSends } from "./simple-work.js";
|
|
7
7
|
export { ESCROW_EXPIRES_IN, PREVIEW_SIGNATURE, RECORD_TOKEN_NEEDED } from "./simple-orders.js";
|
|
8
|
-
export { RELEASE_NEEDS_KEY_PAIR } from "./simple-work.js";
|
|
8
|
+
export { notFirstAnnouncer, nothingOpens, RELEASE_NEEDS_KEY_PAIR, recordIncomplete } from "./simple-work.js";
|
|
9
9
|
export { CLUSTER_URLS, clusterUrl, MAINNET_REFUSED, MainnetNotAllowed, mintOfToken, tokenAmount, } from "./simple-tokens.js";
|
|
10
10
|
const SOL_DECIMALS = 9;
|
|
11
11
|
export async function connect(options) {
|
|
@@ -22,7 +22,7 @@ export async function connect(options) {
|
|
|
22
22
|
}
|
|
23
23
|
const ctx = { url, signer, client, options: clientOptions };
|
|
24
24
|
const { swap, limit, payForWork } = orderSends(ctx);
|
|
25
|
-
const { findWork, deliver, release, cancel } = workSends(ctx);
|
|
25
|
+
const { findWork, deliver, release, cancel, deliveries, receipt } = workSends(ctx);
|
|
26
26
|
const balance = async (tokens) => {
|
|
27
27
|
const named = tokens ?? (url === CLUSTER_URLS.devnet ? ["SOL", "TEST"] : ["SOL"]);
|
|
28
28
|
const mints = [...new Set(named.map((token) => mintOfToken(token, url)))];
|
|
@@ -47,6 +47,8 @@ export async function connect(options) {
|
|
|
47
47
|
balance,
|
|
48
48
|
...send,
|
|
49
49
|
findWork,
|
|
50
|
+
deliveries,
|
|
51
|
+
receipt,
|
|
50
52
|
watch: (onChange, signal, filter = { owner: signer.address }) => client.watch(onChange, signal, filter),
|
|
51
53
|
};
|
|
52
54
|
}
|
package/dist/src/simple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/simple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/simple.ts"],"names":[],"mappings":"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"}
|
package/dist/src/svm.js
CHANGED
|
@@ -43,6 +43,8 @@ export function svmTransport(svm, options = {}) {
|
|
|
43
43
|
const compiled = getCompiledTransactionMessageDecoder().decode(tx.messageBytes);
|
|
44
44
|
const keys = loaded(compiled);
|
|
45
45
|
const before = holdings(keys);
|
|
46
|
+
const lamportsOf = () => keys.map((key) => svm.getBalance(key) ?? 0n);
|
|
47
|
+
const lamportsBefore = lamportsOf();
|
|
46
48
|
const result = svm.sendTransaction(tx);
|
|
47
49
|
if (result instanceof FailedTransactionMetadata) {
|
|
48
50
|
throw new Error(`${String(result.err())}\n${result.meta().logs().join("\n")}`);
|
|
@@ -71,7 +73,7 @@ export function svmTransport(svm, options = {}) {
|
|
|
71
73
|
const transfers = solTransfersOf(keys, [
|
|
72
74
|
...("instructions" in compiled ? compiled.instructions : []).map((ix) => ({ program: keys[ix.programAddressIndex], accounts: ix.accountIndices ?? [], data: Uint8Array.from(ix.data ?? []) })),
|
|
73
75
|
...everyInner.map((ix) => ({ program: keys[ix.programIdIndex()], accounts: Array.from(ix.accounts()), data: new Uint8Array(ix.data()) })),
|
|
74
|
-
]);
|
|
76
|
+
], { before: lamportsBefore, after: lamportsOf() });
|
|
75
77
|
const found = {
|
|
76
78
|
signature,
|
|
77
79
|
slot: clock.slot,
|
package/dist/src/svm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../src/svm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../src/svm.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,8 @@ export type CalledInstruction = {
|
|
|
9
9
|
accounts: readonly number[];
|
|
10
10
|
data: Uint8Array;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export type Balances = {
|
|
13
|
+
before: readonly bigint[];
|
|
14
|
+
after: readonly bigint[];
|
|
15
|
+
};
|
|
16
|
+
export declare function solTransfersOf(keys: readonly Address[], instructions: readonly CalledInstruction[], balances?: Balances): SolTransfer[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SYSTEM_PROGRAM_ADDRESS } from "./accounts.js";
|
|
1
|
+
import { SYSTEM_PROGRAM_ADDRESS, TOKEN_PROGRAMS } from "./accounts.js";
|
|
2
2
|
export function keysAt(keys, indices) {
|
|
3
3
|
const found = Array.from(indices, (index) => keys[index]);
|
|
4
4
|
return found.every((key) => key !== undefined) ? found : [];
|
|
@@ -17,20 +17,74 @@ export const MEMO_PROGRAM_ADDRESS = "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr
|
|
|
17
17
|
export function signersAmong(keys, indices, signing) {
|
|
18
18
|
return [...new Set(indices.filter((index) => index < signing).flatMap((index) => keys[index] ?? []))];
|
|
19
19
|
}
|
|
20
|
+
const SYSTEM_CREATE_ACCOUNT = 0;
|
|
20
21
|
const SYSTEM_TRANSFER = 2;
|
|
22
|
+
const SYSTEM_CREATE_ACCOUNT_WITH_SEED = 3;
|
|
23
|
+
const SYSTEM_WITHDRAW_NONCE = 5;
|
|
21
24
|
const SYSTEM_TRANSFER_WITH_SEED = 11;
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const TOKEN_CLOSE_ACCOUNT = 9;
|
|
26
|
+
const TOKEN_WITHDRAW_EXCESS_LAMPORTS = 38;
|
|
27
|
+
const LAMPORTS_AT = 4;
|
|
28
|
+
const SEED_LENGTH_AT = 36;
|
|
29
|
+
const SEED_AT = 44;
|
|
30
|
+
const lamportsAt = (view, at) => (view.byteLength >= at + 8 ? view.getBigUint64(at, true) : null);
|
|
31
|
+
function systemMove(accounts, view) {
|
|
32
|
+
if (view.byteLength < 4) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const at = (i) => accounts[i] ?? -1;
|
|
36
|
+
switch (view.getUint32(0, true)) {
|
|
37
|
+
case SYSTEM_CREATE_ACCOUNT:
|
|
38
|
+
case SYSTEM_TRANSFER:
|
|
39
|
+
return { from: at(0), to: at(1), lamports: lamportsAt(view, LAMPORTS_AT) };
|
|
40
|
+
case SYSTEM_CREATE_ACCOUNT_WITH_SEED: {
|
|
41
|
+
const seed = lamportsAt(view, SEED_LENGTH_AT);
|
|
42
|
+
return seed === null || seed > BigInt(view.byteLength) ? null : { from: at(0), to: at(1), lamports: lamportsAt(view, SEED_AT + Number(seed)) };
|
|
43
|
+
}
|
|
44
|
+
case SYSTEM_WITHDRAW_NONCE:
|
|
45
|
+
return { from: at(4), to: at(1), lamports: lamportsAt(view, LAMPORTS_AT) };
|
|
46
|
+
case SYSTEM_TRANSFER_WITH_SEED:
|
|
47
|
+
return { from: at(1), to: at(2), lamports: lamportsAt(view, LAMPORTS_AT) };
|
|
48
|
+
default:
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function tokenMove(accounts, data, balances) {
|
|
53
|
+
const kind = data[0];
|
|
54
|
+
if (kind !== TOKEN_CLOSE_ACCOUNT && kind !== TOKEN_WITHDRAW_EXCESS_LAMPORTS) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const [source = -1, to = -1, from = -1] = accounts;
|
|
58
|
+
const before = balances?.before[source];
|
|
59
|
+
const after = balances?.after[source];
|
|
60
|
+
return { from, to, lamports: before === undefined || after === undefined ? null : before - after };
|
|
61
|
+
}
|
|
62
|
+
function moveOf({ program, accounts, data }, balances) {
|
|
63
|
+
if (program === SYSTEM_PROGRAM_ADDRESS) {
|
|
64
|
+
return systemMove(accounts, new DataView(data.buffer, data.byteOffset, data.byteLength));
|
|
65
|
+
}
|
|
66
|
+
return program !== undefined && TOKEN_PROGRAMS.includes(program) ? tokenMove(accounts, data, balances) : null;
|
|
67
|
+
}
|
|
68
|
+
export function solTransfersOf(keys, instructions, balances) {
|
|
69
|
+
const found = [];
|
|
70
|
+
for (const instruction of instructions) {
|
|
71
|
+
const moved = moveOf(instruction, balances);
|
|
72
|
+
const from = keys[moved?.from ?? -1];
|
|
73
|
+
const to = keys[moved?.to ?? -1];
|
|
74
|
+
if (moved !== null && moved.lamports !== null && from !== undefined && to !== undefined) {
|
|
75
|
+
found.push({ from, to, lamports: moved.lamports });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const payer = keys[0];
|
|
79
|
+
if (balances === undefined || payer === undefined) {
|
|
80
|
+
return found;
|
|
81
|
+
}
|
|
82
|
+
for (const [index, into] of keys.entries()) {
|
|
83
|
+
const rise = (balances.after[index] ?? 0n) - (balances.before[index] ?? 0n);
|
|
84
|
+
if (into !== undefined && into !== payer && rise > 0n && !found.some(({ to, lamports }) => to === into && lamports > 0n)) {
|
|
85
|
+
found.push({ from: payer, to: into, lamports: rise });
|
|
27
86
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const to = kind === SYSTEM_TRANSFER ? 1 : kind === SYSTEM_TRANSFER_WITH_SEED ? 2 : -1;
|
|
31
|
-
const from = keys[accounts[0] ?? -1];
|
|
32
|
-
const into = keys[accounts[to] ?? -1];
|
|
33
|
-
return from === undefined || into === undefined ? [] : [{ from, to: into, lamports: view.getBigUint64(4, true) }];
|
|
34
|
-
});
|
|
87
|
+
}
|
|
88
|
+
return found;
|
|
35
89
|
}
|
|
36
90
|
//# sourceMappingURL=transaction-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-keys.js","sourceRoot":"","sources":["../../src/transaction-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-keys.js","sourceRoot":"","sources":["../../src/transaction-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/src/transport.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AccountView, EngineTransaction, FinalizedBlock, IntentRead, Latest, ListedSignature, LookupTables, ProgramAccount, RpcLike, SignatureLanding, Simulation, SolTransfer, TokenHolding, Transport, } from "./rpc-shapes.js";
|
|
1
|
+
export type { AccountView, EngineAccountFilter, EngineTransaction, FinalizedBlock, IntentRead, Latest, ListedSignature, LookupTables, ProgramAccount, RpcLike, SignatureLanding, Simulation, SolTransfer, TokenHolding, Transport, } from "./rpc-shapes.js";
|
|
2
2
|
export { holdingsOf, keysAt, MEMO_PROGRAM_ADDRESS, signersAmong, solTransfersOf } 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";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/G,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/dist/src/trust.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const RESTART = 0.15;
|
|
|
4
4
|
export declare const TRUST_HOPS = 2;
|
|
5
5
|
export declare const TRUST_WALLETS = 32;
|
|
6
6
|
export declare const TRUST_PATHS = 3;
|
|
7
|
+
export declare const TRUST_PAYER_READS = 8;
|
|
7
8
|
export type TrustPath = {
|
|
8
9
|
wallets: Address[];
|
|
9
10
|
trust: number;
|