@intent-engine/client 0.1.43 → 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/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 +6 -2
- package/dist/src/rpc-transport.js +32 -7
- 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 +5 -0
- package/dist/src/simple-work.js +24 -9
- 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/transport.d.ts +1 -1
- package/dist/src/transport.js.map +1 -1
- package/package.json +2 -2
package/dist/src/rpc-retry.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class Charged extends Error {
|
|
|
11
11
|
export declare class FailedOnChain extends Charged {
|
|
12
12
|
}
|
|
13
13
|
export declare class BlockhashExpired extends Error {
|
|
14
|
-
constructor(message: string);
|
|
14
|
+
constructor(message: string, options?: ErrorOptions);
|
|
15
15
|
}
|
|
16
16
|
export declare const neverLanded: (error: unknown) => boolean;
|
|
17
|
+
export declare const staleBlockhash: (error: unknown) => boolean;
|
package/dist/src/rpc-retry.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isSolanaError, SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR } from "@solana/kit";
|
|
1
|
+
import { isSolanaError, SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR, SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND } from "@solana/kit";
|
|
2
2
|
export const POLL_MS = 500;
|
|
3
3
|
export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
4
4
|
export const RATE_LIMIT_ATTEMPTS = 6;
|
|
@@ -53,10 +53,11 @@ export class Charged extends Error {
|
|
|
53
53
|
export class FailedOnChain extends Charged {
|
|
54
54
|
}
|
|
55
55
|
export class BlockhashExpired extends Error {
|
|
56
|
-
constructor(message) {
|
|
57
|
-
super(message);
|
|
56
|
+
constructor(message, options) {
|
|
57
|
+
super(message, options);
|
|
58
58
|
this.name = "BlockhashExpired";
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
export const neverLanded = (error) => error instanceof FailedOnChain || error instanceof BlockhashExpired;
|
|
62
|
+
export const staleBlockhash = (error) => !(error instanceof Charged) && causes(error).some((link) => isSolanaError(link, SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND));
|
|
62
63
|
//# sourceMappingURL=rpc-retry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-retry.js","sourceRoot":"","sources":["../../src/rpc-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc-retry.js","sourceRoot":"","sources":["../../src/rpc-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uCAAuC,EAAE,oDAAoD,EAAE,MAAM,aAAa,CAAC;AAE3I,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAE3B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,YAAY,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAuB,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEvI,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,IAAI,EAAE,uCAAuC,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;AAClI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,IAAsB,EAAE,IAAI,GAAkC,KAAK;IACpG,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBACpF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,OAAQ,SAAQ,KAAK;IAChC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,OAAO;CAAG;AAE7C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,YAAY,aAAa,IAAI,KAAK,YAAY,gBAAgB,CAAC;AAE5H,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAW,EAAE,CACxD,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,oDAAoD,CAAC,CAAC,CAAC"}
|
package/dist/src/rpc-shapes.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Address, Base64EncodedWireTransaction, Blockhash, Instruction, Signature, TransactionSigner } from "@solana/kit";
|
|
1
|
+
import type { Address, Base64EncodedWireTransaction, Blockhash, Instruction, ReadonlyUint8Array, Signature, TransactionSigner } from "@solana/kit";
|
|
2
2
|
export type AccountView = {
|
|
3
3
|
owner: Address;
|
|
4
4
|
data: Uint8Array;
|
|
@@ -12,6 +12,10 @@ export type ProgramAccount = {
|
|
|
12
12
|
export type EngineAccount = ProgramAccount & {
|
|
13
13
|
lamports: bigint;
|
|
14
14
|
};
|
|
15
|
+
export type EngineAccountFilter = {
|
|
16
|
+
discriminator: ReadonlyUint8Array;
|
|
17
|
+
dataSize?: number;
|
|
18
|
+
};
|
|
15
19
|
export type TokenHolding = {
|
|
16
20
|
account: Address;
|
|
17
21
|
mint: Address;
|
|
@@ -76,7 +80,7 @@ export interface Transport {
|
|
|
76
80
|
simulate(wire: Base64EncodedWireTransaction, watch?: readonly Address[]): Promise<Simulation>;
|
|
77
81
|
genesisHash(): Promise<string>;
|
|
78
82
|
intents(owner?: Address, read?: IntentRead): Promise<ProgramAccount[]>;
|
|
79
|
-
engineAccounts?(): Promise<EngineAccount[]>;
|
|
83
|
+
engineAccounts?(filter?: EngineAccountFilter): Promise<EngineAccount[]>;
|
|
80
84
|
engineTransactions(limit: number, of?: Address, memo?: string): Promise<EngineTransaction[]>;
|
|
81
85
|
signaturesOf?(of: Address, limit: number, before?: string): Promise<ListedSignature[]>;
|
|
82
86
|
transactionsOf?(listed: readonly ListedSignature[]): Promise<EngineTransaction[]>;
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { inspect } from "node:util";
|
|
2
|
-
import { appendTransactionMessageInstructions, createTransactionMessage, getBase64EncodedWireTransaction, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, getBase58Decoder, getBase58Encoder, } from "@solana/kit";
|
|
2
|
+
import { appendTransactionMessageInstructions, createTransactionMessage, getBase64EncodedWireTransaction, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, getBase58Decoder, getBase58Encoder, getBase64Encoder, getSignatureFromTransaction, getTransactionDecoder, } from "@solana/kit";
|
|
3
3
|
import { getIntentDiscriminatorBytes, getIntentSize, INTENT_ENGINE_PROGRAM_ADDRESS } from "@intent-engine/core";
|
|
4
4
|
import { confirmSent } from "./confirmation.js";
|
|
5
|
-
import { patiently } from "./rpc-retry.js";
|
|
5
|
+
import { BlockhashExpired, patiently, staleBlockhash } from "./rpc-retry.js";
|
|
6
6
|
import { SYSTEM_PROGRAM_ADDRESS, TOKEN_PROGRAMS } from "./accounts.js";
|
|
7
7
|
import { holdingsOf, keysAt, MEMO_PROGRAM_ADDRESS, signersAmong, solTransfersOf } from "./transaction-keys.js";
|
|
8
8
|
const INTENT_OWNER_OFFSET = 8n;
|
|
9
|
+
function accountFilters(filter) {
|
|
10
|
+
if (filter === undefined) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
return [
|
|
14
|
+
...(filter.dataSize === undefined ? [] : [{ dataSize: BigInt(filter.dataSize) }]),
|
|
15
|
+
{ memcmp: { offset: 0n, bytes: getBase58Decoder().decode(filter.discriminator), encoding: "base58" } },
|
|
16
|
+
];
|
|
17
|
+
}
|
|
9
18
|
const withoutMark = ({ complete: _, ...found }) => found;
|
|
10
19
|
export const MULTIPLE_ACCOUNTS_LIMIT = 100;
|
|
11
20
|
function viewOf(value) {
|
|
@@ -36,6 +45,22 @@ export function rpcTransport(rpc, wait, watch) {
|
|
|
36
45
|
}
|
|
37
46
|
return signature;
|
|
38
47
|
};
|
|
48
|
+
const sent = async (wire) => {
|
|
49
|
+
try {
|
|
50
|
+
return await patiently(() => rpc.sendTransaction(wire, { encoding: "base64" }).send(), wait);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (!staleBlockhash(error)) {
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
const signature = getSignatureFromTransaction(getTransactionDecoder().decode(getBase64Encoder().encode(wire)));
|
|
57
|
+
const { value } = await patiently(() => rpc.getSignatureStatuses([signature], { searchTransactionHistory: true }).send(), wait);
|
|
58
|
+
if (value[0]) {
|
|
59
|
+
return signature;
|
|
60
|
+
}
|
|
61
|
+
throw new BlockhashExpired("the node refused the transaction because its blockhash expired; nothing was charged, so sign it again with a fresh blockhash", { cause: error });
|
|
62
|
+
}
|
|
63
|
+
};
|
|
39
64
|
const read = (signature) => patiently(() => rpc
|
|
40
65
|
.getTransaction(signature, {
|
|
41
66
|
encoding: "json",
|
|
@@ -155,8 +180,7 @@ export function rpcTransport(rpc, wait, watch) {
|
|
|
155
180
|
const { value: latest } = await patiently(() => rpc.getLatestBlockhash().send(), wait);
|
|
156
181
|
const message = pipe(createTransactionMessage({ version: 0 }), (m) => setTransactionMessageFeePayerSigner(payer, m), (m) => setTransactionMessageLifetimeUsingBlockhash(latest, m), (m) => appendTransactionMessageInstructions(instructions, m));
|
|
157
182
|
const signed = await signTransactionMessageWithSigners(message);
|
|
158
|
-
const
|
|
159
|
-
const signature = await patiently(() => rpc.sendTransaction(wire, { encoding: "base64" }).send(), wait);
|
|
183
|
+
const signature = await sent(getBase64EncodedWireTransaction(signed));
|
|
160
184
|
return confirmed(signature, latest.lastValidBlockHeight);
|
|
161
185
|
},
|
|
162
186
|
async airdrop(address, lamports) {
|
|
@@ -169,7 +193,7 @@ export function rpcTransport(rpc, wait, watch) {
|
|
|
169
193
|
return value;
|
|
170
194
|
},
|
|
171
195
|
async sendWire(wire, latest) {
|
|
172
|
-
const signature = await
|
|
196
|
+
const signature = await sent(wire);
|
|
173
197
|
return confirmed(signature, latest.lastValidBlockHeight);
|
|
174
198
|
},
|
|
175
199
|
async submitWire(wire) {
|
|
@@ -229,8 +253,9 @@ export function rpcTransport(rpc, wait, watch) {
|
|
|
229
253
|
},
|
|
230
254
|
...(firstBlock === undefined ? {} : { firstAvailableSlot: () => patiently(() => firstBlock().send(), wait) }),
|
|
231
255
|
...(finalizedBlock === undefined ? {} : { finalizedBlock }),
|
|
232
|
-
async engineAccounts() {
|
|
233
|
-
const
|
|
256
|
+
async engineAccounts(filter) {
|
|
257
|
+
const filters = accountFilters(filter);
|
|
258
|
+
const found = await patiently(() => rpc.getProgramAccounts(INTENT_ENGINE_PROGRAM_ADDRESS, { encoding: "base64", commitment: "confirmed", filters }).send(), wait);
|
|
234
259
|
const entries = "context" in found ? found.value : found;
|
|
235
260
|
return entries.map(({ pubkey, account }) => ({
|
|
236
261
|
address: pubkey,
|
|
@@ -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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type Delivery, type DeliveryRecord } from "./job-deliveries.js";
|
|
3
|
+
import type { SimpleContext } from "./simple-orders.js";
|
|
4
|
+
import type { Announcement, DeliveriesInput, ReceiptInput, ReleaseReceipt } from "./simple-types.js";
|
|
5
|
+
export type Opened = Delivery & {
|
|
6
|
+
salt: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function sha256Given(sha256: string, name: string): string;
|
|
9
|
+
export declare function openingSalt(delivery: Delivery, record: DeliveryRecord, sha256: string): string | null;
|
|
10
|
+
export declare function firstOpened(record: DeliveryRecord, sha256: string): Opened | null;
|
|
11
|
+
export declare function workReads(ctx: SimpleContext): {
|
|
12
|
+
recordOf: (escrow: Address, keypair: DeliveriesInput["keypair"]) => Promise<DeliveryRecord>;
|
|
13
|
+
receipt: (input: ReceiptInput) => Promise<ReleaseReceipt>;
|
|
14
|
+
deliveries: (input: DeliveriesInput) => Promise<Announcement[]>;
|
|
15
|
+
};
|
|
@@ -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
|
};
|
|
@@ -2,6 +2,9 @@ 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
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
1
|
import { isMessagePartialSigner } from "@solana/kit";
|
|
2
|
-
import { formatAmount
|
|
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
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 }),
|
|
@@ -35,17 +37,30 @@ export function workSends(ctx) {
|
|
|
35
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,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,
|
|
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/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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intent-engine/client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.44",
|
|
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,7 +38,7 @@
|
|
|
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.
|
|
41
|
+
"@intent-engine/core": "0.1.44"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@ledgerhq/hw-app-solana": "7.12.0",
|