@intent-engine/cli 0.1.41 → 0.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/accounts.d.ts +4 -2
- package/dist/src/accounts.js +5 -4
- package/dist/src/accounts.js.map +1 -1
- package/dist/src/add-to.js +2 -2
- package/dist/src/add-to.js.map +1 -1
- package/dist/src/admin-commands.d.ts +22 -1
- package/dist/src/admin-commands.js +44 -12
- package/dist/src/admin-commands.js.map +1 -1
- package/dist/src/agent/actions.d.ts +1 -0
- package/dist/src/agent/actions.js +15 -1
- package/dist/src/agent/actions.js.map +1 -1
- package/dist/src/agent/budget.d.ts +5 -5
- package/dist/src/agent/budget.js +26 -6
- package/dist/src/agent/budget.js.map +1 -1
- package/dist/src/agent/claims.d.ts +2 -1
- package/dist/src/agent/claims.js +1 -1
- package/dist/src/agent/claims.js.map +1 -1
- package/dist/src/agent/create.d.ts +16 -7
- package/dist/src/agent/create.js +25 -3
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/jobs.js +11 -4
- package/dist/src/agent/jobs.js.map +1 -1
- package/dist/src/agent/mandate-agent.js +3 -2
- package/dist/src/agent/mandate-agent.js.map +1 -1
- package/dist/src/agent/mandate-revoke.js +1 -1
- package/dist/src/agent/mandate-revoke.js.map +1 -1
- package/dist/src/agent/owner.js +4 -2
- package/dist/src/agent/owner.js.map +1 -1
- package/dist/src/agent/prepare.d.ts +1 -1
- package/dist/src/agent/prepare.js +9 -2
- package/dist/src/agent/prepare.js.map +1 -1
- package/dist/src/agent/problems.d.ts +22 -0
- package/dist/src/agent/problems.js +33 -5
- package/dist/src/agent/problems.js.map +1 -1
- package/dist/src/agent/profile.d.ts +1 -0
- package/dist/src/agent/profile.js +30 -5
- package/dist/src/agent/profile.js.map +1 -1
- package/dist/src/agent/read.js +3 -4
- package/dist/src/agent/read.js.map +1 -1
- package/dist/src/agent/reputation.js +16 -7
- package/dist/src/agent/reputation.js.map +1 -1
- package/dist/src/agent/sales.js +17 -23
- package/dist/src/agent/sales.js.map +1 -1
- package/dist/src/agent/settle.js +1 -0
- package/dist/src/agent/settle.js.map +1 -1
- package/dist/src/agent/signed-prepare.js +3 -2
- package/dist/src/agent/signed-prepare.js.map +1 -1
- package/dist/src/agent/signed-relay.d.ts +1 -1
- package/dist/src/agent/signed-relay.js +2 -1
- package/dist/src/agent/signed-relay.js.map +1 -1
- package/dist/src/agent/signed-submit.js +7 -5
- package/dist/src/agent/signed-submit.js.map +1 -1
- package/dist/src/agent/signed-terms.d.ts +1 -5
- package/dist/src/agent/spec.js +16 -4
- package/dist/src/agent/spec.js.map +1 -1
- package/dist/src/agent/wallet/account.js +2 -1
- package/dist/src/agent/wallet/account.js.map +1 -1
- package/dist/src/agent/wallet/attest.d.ts +2 -0
- package/dist/src/agent/wallet/attest.js +46 -24
- package/dist/src/agent/wallet/attest.js.map +1 -1
- package/dist/src/agent/wallet/committee.js +29 -17
- package/dist/src/agent/wallet/committee.js.map +1 -1
- package/dist/src/agent/wallet/delivery.d.ts +4 -1
- package/dist/src/agent/wallet/delivery.js +80 -23
- package/dist/src/agent/wallet/delivery.js.map +1 -1
- package/dist/src/agent/wallet/escrow.js +9 -4
- package/dist/src/agent/wallet/escrow.js.map +1 -1
- package/dist/src/agent/wallet/fills.js +4 -3
- package/dist/src/agent/wallet/fills.js.map +1 -1
- package/dist/src/agent/wallet/guard.d.ts +32 -0
- package/dist/src/agent/wallet/guard.js +131 -9
- package/dist/src/agent/wallet/guard.js.map +1 -1
- package/dist/src/agent/wallet/history.js +2 -2
- package/dist/src/agent/wallet/history.js.map +1 -1
- package/dist/src/agent/wallet/offer.d.ts +18 -0
- package/dist/src/agent/wallet/offer.js +2 -1
- package/dist/src/agent/wallet/offer.js.map +1 -1
- package/dist/src/agent/wallet/openings.d.ts +37 -0
- package/dist/src/agent/wallet/openings.js +73 -0
- package/dist/src/agent/wallet/openings.js.map +1 -0
- package/dist/src/agent/wallet/receipt.d.ts +6 -0
- package/dist/src/agent/wallet/receipt.js +21 -3
- package/dist/src/agent/wallet/receipt.js.map +1 -1
- package/dist/src/agent/wallet/record.d.ts +3 -2
- package/dist/src/agent/wallet/record.js +16 -10
- package/dist/src/agent/wallet/record.js.map +1 -1
- package/dist/src/agent/wallet/split.d.ts +1 -0
- package/dist/src/agent/wallet/split.js +84 -57
- package/dist/src/agent/wallet/split.js.map +1 -1
- package/dist/src/agent/wallet/trade.js +2 -1
- package/dist/src/agent/wallet/trade.js.map +1 -1
- package/dist/src/agent/wallet/unwrap.js +2 -1
- package/dist/src/agent/wallet/unwrap.js.map +1 -1
- package/dist/src/agent/work-claims.js +16 -6
- package/dist/src/agent/work-claims.js.map +1 -1
- package/dist/src/arg-admin.d.ts +1 -1
- package/dist/src/arg-admin.js +4 -0
- package/dist/src/arg-admin.js.map +1 -1
- package/dist/src/arg-options.d.ts +70 -2
- package/dist/src/arg-options.js +39 -10
- package/dist/src/arg-options.js.map +1 -1
- package/dist/src/arg-solve.d.ts +6 -0
- package/dist/src/arg-solve.js +46 -1
- package/dist/src/arg-solve.js.map +1 -1
- package/dist/src/arg-usage.d.ts +2 -2
- package/dist/src/arg-usage.js +14 -10
- package/dist/src/arg-usage.js.map +1 -1
- package/dist/src/arg-values.d.ts +20 -1
- package/dist/src/arg-values.js +72 -2
- package/dist/src/arg-values.js.map +1 -1
- package/dist/src/args.d.ts +4 -1
- package/dist/src/args.js +39 -9
- package/dist/src/args.js.map +1 -1
- package/dist/src/claim-commands.d.ts +6 -2
- package/dist/src/claim-commands.js +115 -6
- package/dist/src/claim-commands.js.map +1 -1
- package/dist/src/clusters.d.ts +1 -0
- package/dist/src/clusters.js +1 -0
- package/dist/src/clusters.js.map +1 -1
- package/dist/src/command-types.d.ts +65 -1
- package/dist/src/commands.js +40 -8
- package/dist/src/commands.js.map +1 -1
- package/dist/src/committee-commands.d.ts +13 -2
- package/dist/src/committee-commands.js +58 -11
- package/dist/src/committee-commands.js.map +1 -1
- package/dist/src/crank.d.ts +3 -3
- package/dist/src/crank.js +11 -9
- package/dist/src/crank.js.map +1 -1
- package/dist/src/float-commands.d.ts +17 -0
- package/dist/src/float-commands.js +94 -0
- package/dist/src/float-commands.js.map +1 -0
- package/dist/src/flow-commands.js +2 -2
- package/dist/src/flow-commands.js.map +1 -1
- package/dist/src/flows.d.ts +2 -2
- package/dist/src/flows.js +8 -2
- package/dist/src/flows.js.map +1 -1
- package/dist/src/job-args.js +16 -3
- package/dist/src/job-args.js.map +1 -1
- package/dist/src/job-commands.js +40 -10
- package/dist/src/job-commands.js.map +1 -1
- package/dist/src/job-filters.d.ts +15 -3
- package/dist/src/job-filters.js +31 -6
- package/dist/src/job-filters.js.map +1 -1
- package/dist/src/judge-digest.d.ts +7 -0
- package/dist/src/judge-digest.js +27 -0
- package/dist/src/judge-digest.js.map +1 -0
- package/dist/src/judge-watch.js +16 -6
- package/dist/src/judge-watch.js.map +1 -1
- package/dist/src/judge.d.ts +18 -1
- package/dist/src/judge.js +87 -17
- package/dist/src/judge.js.map +1 -1
- package/dist/src/ledger-keys.d.ts +4 -1
- package/dist/src/ledger-keys.js +21 -5
- package/dist/src/ledger-keys.js.map +1 -1
- package/dist/src/legacy-commands.d.ts +8 -0
- package/dist/src/legacy-commands.js +94 -0
- package/dist/src/legacy-commands.js.map +1 -0
- package/dist/src/main.d.ts +3 -0
- package/dist/src/main.js +5 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/migrate-commands.d.ts +10 -0
- package/dist/src/migrate-commands.js +127 -0
- package/dist/src/migrate-commands.js.map +1 -0
- package/dist/src/monitor.d.ts +5 -1
- package/dist/src/monitor.js +31 -4
- package/dist/src/monitor.js.map +1 -1
- package/dist/src/release-simulation.d.ts +3 -2
- package/dist/src/release-simulation.js +1 -0
- package/dist/src/release-simulation.js.map +1 -1
- package/dist/src/sealed-commands.d.ts +6 -0
- package/dist/src/sealed-commands.js +19 -1
- package/dist/src/sealed-commands.js.map +1 -1
- package/dist/src/solve-commands.d.ts +3 -1
- package/dist/src/solve-commands.js +31 -4
- package/dist/src/solve-commands.js.map +1 -1
- package/dist/src/trust-args.d.ts +5 -3
- package/dist/src/trust-args.js +48 -9
- package/dist/src/trust-args.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/wallet.d.ts +8 -2
- package/dist/src/wallet.js +44 -7
- package/dist/src/wallet.js.map +1 -1
- package/package.json +5 -4
|
@@ -27,6 +27,9 @@ export declare function escrowReceipt(transport: Transport, owner: Address, nonc
|
|
|
27
27
|
signature: string;
|
|
28
28
|
delivered_sha256?: string;
|
|
29
29
|
matches?: boolean;
|
|
30
|
+
delivered_salt?: string;
|
|
31
|
+
valid?: boolean;
|
|
32
|
+
refuted_by?: import("@solana/kit").Signature;
|
|
30
33
|
paid: string;
|
|
31
34
|
mint?: Address;
|
|
32
35
|
recipients: bigint;
|
|
@@ -40,6 +43,9 @@ export declare function escrowReceipt(transport: Transport, owner: Address, nonc
|
|
|
40
43
|
signature: string;
|
|
41
44
|
delivered_sha256?: string;
|
|
42
45
|
matches?: boolean;
|
|
46
|
+
delivered_salt?: string;
|
|
47
|
+
valid?: boolean;
|
|
48
|
+
refuted_by?: import("@solana/kit").Signature;
|
|
43
49
|
paid_to?: Address;
|
|
44
50
|
payee: Address;
|
|
45
51
|
paid: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getAddressDecoder } from "@solana/kit";
|
|
2
2
|
import { findIntentPda, formatAmount, NATIVE_MINT } from "@intent-engine/core";
|
|
3
|
-
import { intentAt, memoized, mintOf,
|
|
3
|
+
import { intentAt, memoized, mintOf, paidWalletsOf, recordedRelease, releaseStandingOf, unmemoized } from "@intent-engine/client";
|
|
4
4
|
import { define } from "../actions.js";
|
|
5
5
|
import { tool } from "../names.js";
|
|
6
6
|
import { AgentRefusal } from "../problems.js";
|
|
@@ -46,6 +46,9 @@ const receiptOutput = object({
|
|
|
46
46
|
signature: optional(text("the release's transaction")),
|
|
47
47
|
delivered_sha256: optional(text("the sha256 the release recorded, if any, in its own memo or in a follow-up transaction its attestor signed")),
|
|
48
48
|
matches: optional(flag("whether sha256 equals the recorded one")),
|
|
49
|
+
delivered_salt: optional(text("the payee's salt the release recorded, which opens the payee's announcement")),
|
|
50
|
+
valid: optional(flag("given with delivered_salt: whether that salt opens an announcement by the payee to the recorded sha256")),
|
|
51
|
+
refuted_by: optional(text("an earlier announcement of the same work that a published opening shows, so the release paid a later announcer")),
|
|
49
52
|
next: optional(text()),
|
|
50
53
|
});
|
|
51
54
|
export const walletReceipt = define({
|
|
@@ -68,7 +71,8 @@ export const walletReceipt = define({
|
|
|
68
71
|
if (!wrapped) {
|
|
69
72
|
return receipt;
|
|
70
73
|
}
|
|
71
|
-
const
|
|
74
|
+
const prior = "next" in receipt ? receipt.next : undefined;
|
|
75
|
+
const next = typeof prior === "string" ? `${prior}; ${PAID_WRAPPED}` : PAID_WRAPPED;
|
|
72
76
|
return { ...receipt, next };
|
|
73
77
|
},
|
|
74
78
|
});
|
|
@@ -105,7 +109,19 @@ export async function escrowReceipt(transport, owner, nonce, sha256, releaseSign
|
|
|
105
109
|
}
|
|
106
110
|
const fields = release.event.fields;
|
|
107
111
|
let mint = createdMint([...transactions, ...(creation === null || creation === undefined ? [] : [creation])], intent) ?? releasedMint(tx, intent, fields["payee"]);
|
|
108
|
-
const
|
|
112
|
+
const recordedWork = recordedRelease(transactions, tx, fields["attestor"]);
|
|
113
|
+
const recorded = recordedWork?.sha256;
|
|
114
|
+
const standing = recordedWork?.salt === undefined
|
|
115
|
+
? undefined
|
|
116
|
+
: await releaseStandingOf(transport, {
|
|
117
|
+
intent,
|
|
118
|
+
attestor: fields["attestor"],
|
|
119
|
+
release: tx,
|
|
120
|
+
recorded: { sha256: recordedWork.sha256, salt: recordedWork.salt },
|
|
121
|
+
payees: await paidWalletsOf(transport, { event: release.event, transaction: tx }, intent),
|
|
122
|
+
createdAt: creation?.blockTime ?? null,
|
|
123
|
+
from: creation?.slot ?? null,
|
|
124
|
+
});
|
|
109
125
|
const common = {
|
|
110
126
|
intent,
|
|
111
127
|
released: true,
|
|
@@ -115,6 +131,8 @@ export async function escrowReceipt(transport, owner, nonce, sha256, releaseSign
|
|
|
115
131
|
signature: tx.signature,
|
|
116
132
|
...(recorded === undefined ? {} : { delivered_sha256: recorded }),
|
|
117
133
|
...(wanted === undefined ? {} : { matches: wanted === recorded }),
|
|
134
|
+
...(recordedWork?.salt === undefined ? {} : { delivered_salt: recordedWork.salt }),
|
|
135
|
+
...(standing === undefined ? {} : { valid: standing.valid, ...(standing.refutedBy === null ? {} : { refuted_by: standing.refutedBy }) }),
|
|
118
136
|
};
|
|
119
137
|
if (release.event.name === "IntentSplit") {
|
|
120
138
|
mint ??= await heldMint(transport, intent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/agent/wallet/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/agent/wallet/receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type Instruction, type TransactionSigner } from "@solana/kit";
|
|
2
|
-
import { type Transport } from "@intent-engine/client";
|
|
2
|
+
import { type DeliveryOpeners, type Transport } from "@intent-engine/client";
|
|
3
3
|
export declare const RELEASE_INPUT = "the release's transaction signature, as the attestor's release returned it; with it the release is read from that one transaction, with no search of the escrow's history";
|
|
4
4
|
export declare const RELEASE_SIGNATURE = "must be a base58 transaction signature";
|
|
5
5
|
export declare function releaseOf(signature: string | undefined): string | undefined;
|
|
@@ -16,6 +16,7 @@ export declare const recipientsUnread: (release: string) => string;
|
|
|
16
16
|
export declare const followUpsUnknown: (release: string) => string;
|
|
17
17
|
export declare const historyLagging: (release: string, intent: string) => string;
|
|
18
18
|
export declare const otherLifecycle: (release: string, intent: string) => string;
|
|
19
|
+
export declare const SALTS_SEALED = "the announcements for this escrow seal their salts to the attestor's key, and this wallet's key file cannot be read to open them, so the earliest announcer of the work cannot be known and nothing is recorded; start the server with mcp --encryption-keypair naming the encryption key file whose public key the attestor's profile publishes, or sign with the attestor's key file";
|
|
19
20
|
export declare const COVERAGE_UNPROVABLE = "this transport cannot report the first slot its RPC node keeps, so it cannot prove that the history read reaches back to the escrow's creation and an escrow without a release found reads as unknown rather than not released";
|
|
20
21
|
export type Recording = {
|
|
21
22
|
intent: Address;
|
|
@@ -27,5 +28,5 @@ export type Recording = {
|
|
|
27
28
|
summary: string[];
|
|
28
29
|
};
|
|
29
30
|
export declare const coverageOf: (transport: Transport, text: string) => string;
|
|
30
|
-
export declare function recordingOf(transport: Transport, judge: TransactionSigner, owner: Address, nonce: bigint, sha256: string, releaseSignature?: string): Promise<Recording>;
|
|
31
|
+
export declare function recordingOf(transport: Transport, judge: TransactionSigner, owner: Address, nonce: bigint, sha256: string, releaseSignature?: string, keypair?: DeliveryOpeners): Promise<Recording>;
|
|
31
32
|
export declare const walletRecordDelivery: import("../actions.js").AnyAction;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { getAddressDecoder } from "@solana/kit";
|
|
2
2
|
import { decodeParams, findAssociatedTokenAddress, findIntentPda, Kind } from "@intent-engine/core";
|
|
3
|
-
import { creationProof, firstDelivery, followUpInstructions, followUpMemo, intentAt, lifecycleDeliveries, mintOf, recordedDelivery, } from "@intent-engine/client";
|
|
3
|
+
import { creationProof, firstDelivery, followUpInstructions, followUpMemo, intentAt, lifecycleDeliveries, mintOf, openersOf, recordedDelivery, } from "@intent-engine/client";
|
|
4
4
|
import { define } from "../actions.js";
|
|
5
5
|
import { tool } from "../names.js";
|
|
6
6
|
import { AgentRefusal } from "../problems.js";
|
|
7
7
|
import { InvalidInput, account, amount, flag, list, object, optional, text } from "../schema.js";
|
|
8
8
|
import { preparedView } from "../shapes.js";
|
|
9
9
|
import { prepare } from "../prepare.js";
|
|
10
|
-
import { PREVIEW_FIRST, signerOf, sent, sha256Of } from "./guard.js";
|
|
10
|
+
import { deviceOutput, PREVIEW_FIRST, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
|
|
11
11
|
import { HISTORY_TOO_LONG } from "./delivery.js";
|
|
12
12
|
import { RELEASE_UNKNOWN, outlives, releaseLookup, aroundRelease, namedRelease, releasedMint, heldMint, splitRecipients } from "./releases.js";
|
|
13
13
|
export const RELEASE_INPUT = "the release's transaction signature, as the attestor's release returned it; with it the release is read from that one transaction, with no search of the escrow's history";
|
|
@@ -32,13 +32,14 @@ export const recipientsUnread = (release) => `the recipients of the split ${rele
|
|
|
32
32
|
export const followUpsUnknown = (release) => `the history after the release ${release} could not be read in full: it is longer than the pages read, the RPC node could not return some of its transactions yet, or it is too long to show that the escrow address was not made again since, so whether a follow-up already records a delivered sha256 for it is unknown and nothing more is recorded; when the node lagged, call again in a few seconds`;
|
|
33
33
|
export const historyLagging = (release, intent) => `the node has not returned every transaction yet; call again in a few seconds: the history of the escrow ${intent} before the release ${release} holds a transaction the RPC node could not return, so where the escrow was made is not known yet and nothing is recorded`;
|
|
34
34
|
export const otherLifecycle = (release, intent) => `the release ${release} belongs to an earlier lifecycle of the escrow address ${intent}, which was closed and made again at the same nonce since, so it is not a release of the escrow there now; leave release out to read the current one`;
|
|
35
|
+
export const SALTS_SEALED = "the announcements for this escrow seal their salts to the attestor's key, and this wallet's key file cannot be read to open them, so the earliest announcer of the work cannot be known and nothing is recorded; start the server with mcp --encryption-keypair naming the encryption key file whose public key the attestor's profile publishes, or sign with the attestor's key file";
|
|
35
36
|
export const COVERAGE_UNPROVABLE = "this transport cannot report the first slot its RPC node keeps, so it cannot prove that the history read reaches back to the escrow's creation and an escrow without a release found reads as unknown rather than not released";
|
|
36
37
|
const ZERO_HASH = /^0+$/;
|
|
37
38
|
function heldProof(held) {
|
|
38
39
|
const params = decodeParams(held.kind, Uint8Array.from(held.params));
|
|
39
40
|
return params.kind === Kind.AttestedResult ? { attestor: params.attestor, specHash: Buffer.from(params.specHash).toString("hex") } : null;
|
|
40
41
|
}
|
|
41
|
-
async function announcedFor(transport, judge, intent, held, creation, release) {
|
|
42
|
+
async function announcedFor(transport, judge, intent, held, creation, release, keypair) {
|
|
42
43
|
const proof = (creation === null ? null : creationProof(creation, intent)) ?? (held === null ? null : heldProof(held));
|
|
43
44
|
if (proof === null) {
|
|
44
45
|
if (held !== null) {
|
|
@@ -52,10 +53,11 @@ async function announcedFor(transport, judge, intent, held, creation, release) {
|
|
|
52
53
|
if (proof.attestor !== judge) {
|
|
53
54
|
throw new AgentRefusal("Unauthorized", releasedBy(proof.attestor, judge));
|
|
54
55
|
}
|
|
55
|
-
|
|
56
|
+
const lifecycle = { intent, createdAt: creation?.blockTime ?? held?.createdAt ?? null, from: creation?.slot ?? null, to: release.slot };
|
|
57
|
+
return lifecycleDeliveries(transport, judge, lifecycle, undefined, keypair);
|
|
56
58
|
}
|
|
57
59
|
export const coverageOf = (transport, text) => (transport.firstAvailableSlot === undefined ? `${text}; ${COVERAGE_UNPROVABLE}` : text);
|
|
58
|
-
export async function recordingOf(transport, judge, owner, nonce, sha256, releaseSignature) {
|
|
60
|
+
export async function recordingOf(transport, judge, owner, nonce, sha256, releaseSignature, keypair) {
|
|
59
61
|
const [intent] = await findIntentPda({ owner, nonce });
|
|
60
62
|
const lookup = releaseSignature === undefined ? await releaseLookup(transport, intent) : await namedRelease(transport, intent, releaseSignature);
|
|
61
63
|
const { release, transactions, complete } = lookup;
|
|
@@ -84,10 +86,13 @@ export async function recordingOf(transport, judge, owner, nonce, sha256, releas
|
|
|
84
86
|
}
|
|
85
87
|
const creation = around === null ? (lookup.creation ?? null) : around.creation;
|
|
86
88
|
const held = await intentAt(transport, intent);
|
|
87
|
-
const record = await announcedFor(transport, judge.address, intent, held !== null && !outlives(held, tx, creation) ? held : null, creation, tx);
|
|
89
|
+
const record = await announcedFor(transport, judge.address, intent, held !== null && !outlives(held, tx, creation) ? held : null, creation, tx, keypair);
|
|
88
90
|
if (!record.complete) {
|
|
89
91
|
throw new AgentRefusal("HistoryTooLong", HISTORY_TOO_LONG);
|
|
90
92
|
}
|
|
93
|
+
if (openersOf(keypair).length === 0 && record.deliveries.length > 0) {
|
|
94
|
+
throw new AgentRefusal("SealedSalts", SALTS_SEALED);
|
|
95
|
+
}
|
|
91
96
|
const first = firstDelivery(record.deliveries, sha256);
|
|
92
97
|
if (first === null) {
|
|
93
98
|
throw new AgentRefusal("NotAnnounced", neverAnnounced(sha256, intent));
|
|
@@ -109,10 +114,10 @@ export async function recordingOf(transport, judge, owner, nonce, sha256, releas
|
|
|
109
114
|
release: tx.signature,
|
|
110
115
|
attestor,
|
|
111
116
|
sha256,
|
|
112
|
-
memo: followUpMemo(sha256, tx.signature),
|
|
113
|
-
instructions: followUpInstructions(judge, intent, sha256, tx.signature),
|
|
117
|
+
memo: followUpMemo(sha256, tx.signature, first.salt),
|
|
118
|
+
instructions: followUpInstructions(judge, intent, sha256, tx.signature, first.salt),
|
|
114
119
|
summary: [
|
|
115
|
-
`Records: the delivered work's sha256 ${sha256} for the release ${tx.signature} of the escrow ${intent}, in a memo ${attestor} signs`,
|
|
120
|
+
`Records: the delivered work's sha256 ${sha256} and its announcer's salt for the release ${tx.signature} of the escrow ${intent}, in a memo ${attestor} signs`,
|
|
116
121
|
`Notifies: the escrow ${intent}, with a transfer of 0 lamports, so the memo shows in its history`,
|
|
117
122
|
"Costs: the transaction fee; no tokens move",
|
|
118
123
|
],
|
|
@@ -155,6 +160,7 @@ export const walletRecordDelivery = define({
|
|
|
155
160
|
memo: text("the memo the transaction records"),
|
|
156
161
|
summary: list(text(), 8),
|
|
157
162
|
warnings: list(text(), 8),
|
|
163
|
+
...deviceOutput,
|
|
158
164
|
sent: flag(),
|
|
159
165
|
signature: optional(text()),
|
|
160
166
|
next: optional(text()),
|
|
@@ -162,7 +168,7 @@ export const walletRecordDelivery = define({
|
|
|
162
168
|
run: async (ctx, input, call) => {
|
|
163
169
|
const signer = await signerOf(ctx);
|
|
164
170
|
const sha256 = sha256Of(input.sha256, "sha256");
|
|
165
|
-
const recording = await recordingOf(ctx.transport, signer, input.owner, input.nonce, sha256, releaseOf(input.release));
|
|
171
|
+
const recording = await recordingOf(ctx.transport, signer, input.owner, input.nonce, sha256, releaseOf(input.release), await walletOpeners(ctx));
|
|
166
172
|
const view = {
|
|
167
173
|
intent: recording.intent,
|
|
168
174
|
release: recording.release,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/agent/wallet/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/agent/wallet/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export declare const SPLIT_FITS = 2;
|
|
|
2
2
|
export declare const SPLIT_FITS_WITH_TABLE = 4;
|
|
3
3
|
export declare const splitTooLarge: (size: number, recipients: number, withTable: boolean) => string;
|
|
4
4
|
export declare const RECORDS_SPLIT: (delivered: string) => string;
|
|
5
|
+
export declare const unrecordedOnDevice: () => string;
|
|
5
6
|
export declare const followUpFailed: (reason: string) => string;
|
|
6
7
|
export declare const SPLIT_WEIGHTS_WRONG = "the weights must be whole basis points that add up to 10000";
|
|
7
8
|
export declare const SPLIT_SIG_NEEDED = "every co-author must sign the split before send: true; preview returns the envelope each one signs";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
1
|
import { AccountRole, getBase16Decoder, getBase16Encoder } from "@solana/kit";
|
|
3
|
-
import {
|
|
2
|
+
import { attestedSplitDigest, buildEd25519CosignInstruction, cosignEnvelope, buildFillAttestedSplit, decodeParams, findIntentPda, formatAmount, getIntentDecoder, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, MAX_SPLIT_RECIPIENTS, NATIVE_MINT, releaseMemo, splitCommit, splitFees, splitPayout, settlementWarnings, } from "@intent-engine/core";
|
|
4
3
|
import { decodeLookupTable } from "@intent-engine/solver";
|
|
5
4
|
import { chainTime, deliveryRecord, firstDelivery, followUpInstructions, followUpMemo, followUpOf, loadConfig, MEMO_PROGRAM_ADDRESS, mintOf, neverLanded, PACKET_DATA_SIZE, tokenAccountIfMissing, } from "@intent-engine/client";
|
|
6
5
|
import { execute } from "../../flows.js";
|
|
@@ -14,13 +13,15 @@ import { preparedView } from "../shapes.js";
|
|
|
14
13
|
import { walletRecipient } from "../owner.js";
|
|
15
14
|
import { prepare, transactionSize } from "../prepare.js";
|
|
16
15
|
import { STATUS } from "../../accounts.js";
|
|
17
|
-
import { PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, WAIT_SCAN, signerOf, sent, sha256Of } from "./guard.js";
|
|
18
|
-
import {
|
|
16
|
+
import { feePayerOf, PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, WAIT_SCAN, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
|
|
17
|
+
import { openingOutput, openingsFor, sendOpenings, skippedOf } from "./openings.js";
|
|
18
|
+
import { DEVICE_RELEASE, RELEASE_CHANGED, approvalOf } from "./attest.js";
|
|
19
19
|
import { notInSplit, DELIVERED_NEEDED, ATTEST_PAGES, MAX_ATTEST_PAGES, MAX_PAGES_INPUT, HISTORY_TOO_LONG, notAttestor, confirmedRelease } from "./delivery.js";
|
|
20
20
|
export const SPLIT_FITS = 2;
|
|
21
21
|
export const SPLIT_FITS_WITH_TABLE = 4;
|
|
22
22
|
export const splitTooLarge = (size, recipients, withTable) => `this ${recipients}-co-author split builds a ${size}-byte transaction without the delivery memo, over the ${PACKET_DATA_SIZE}-byte limit${withTable ? " even with the lookup table" : ""}; a release fits ${SPLIT_FITS} co-authors without a lookup table and ${SPLIT_FITS_WITH_TABLE} with one when their token accounts exist, and fewer when this wallet creates them in the same transaction${withTable ? ", so reduce recipients or pay the rest in a second release" : ", so pass lookup_table with the preview's lookup_accounts to fit more, or reduce recipients"}`;
|
|
23
23
|
export const RECORDS_SPLIT = (delivered) => `Records: the delivered work's sha256 ${delivered}, in a memo this wallet signs with the release, or in a follow-up transaction this wallet signs right after it when the release has no room for the memo`;
|
|
24
|
+
export const unrecordedOnDevice = () => `released; the Ledger signed only the release message and the fee payer the transaction, so no memo records the delivered work's sha256; to record it, call ${tool("wallet_record_delivery")} with the same owner and nonce, the delivered_sha256 as sha256 and this signature as release`;
|
|
24
25
|
export const followUpFailed = (reason) => `the release landed, but the follow-up transaction that records the delivered work's sha256 failed, so the hash is not recorded on chain: ${reason}; to record it, call ${tool("wallet_record_delivery")} with the same owner and nonce, the delivered_sha256 as sha256 and this signature as release, which sends the memo in record_memo for ${tool("wallet_receipt")} to read`;
|
|
25
26
|
export const SPLIT_WEIGHTS_WRONG = "the weights must be whole basis points that add up to 10000";
|
|
26
27
|
export const SPLIT_SIG_NEEDED = "every co-author must sign the split before send: true; preview returns the envelope each one signs";
|
|
@@ -69,6 +70,7 @@ export const walletAttestSplit = define({
|
|
|
69
70
|
recorded: optional(recordedWhere),
|
|
70
71
|
follow_up_signature: optional(text("the follow-up transaction that records the sha256, when recorded is follow-up")),
|
|
71
72
|
record_memo: optional(text(`when recorded is false, the memo that records the sha256 for this release; ${tool("wallet_record_delivery")} sends it from this wallet with a zero transfer to the escrow`)),
|
|
73
|
+
...openingOutput,
|
|
72
74
|
summary: list(text(), 12),
|
|
73
75
|
warnings: list(text(), 8),
|
|
74
76
|
sent: flag(),
|
|
@@ -77,6 +79,8 @@ export const walletAttestSplit = define({
|
|
|
77
79
|
}),
|
|
78
80
|
run: async (ctx, input, call) => {
|
|
79
81
|
const signer = await signerOf(ctx);
|
|
82
|
+
const device = signer.device !== undefined;
|
|
83
|
+
const payer = device ? await feePayerOf(ctx) : signer;
|
|
80
84
|
const [intent] = await findIntentPda({ owner: input.owner, nonce: input.nonce });
|
|
81
85
|
const [view, { config }] = await Promise.all([ctx.transport.getAccount(intent), loadConfig(ctx.transport)]);
|
|
82
86
|
if (view === null) {
|
|
@@ -115,28 +119,32 @@ export const walletAttestSplit = define({
|
|
|
115
119
|
throw new InvalidInput([{ path: "delivered_sha256", message: DELIVERED_NEEDED }]);
|
|
116
120
|
}
|
|
117
121
|
const delivered = sha256Of(input.delivered_sha256, "delivered_sha256");
|
|
118
|
-
const
|
|
122
|
+
const keypair = await walletOpeners(ctx);
|
|
123
|
+
const record = await deliveryRecord(ctx.transport, signer.address, intent, input.max_pages ?? ATTEST_PAGES, keypair);
|
|
119
124
|
if (!record.complete) {
|
|
120
125
|
throw new AgentRefusal("HistoryTooLong", HISTORY_TOO_LONG);
|
|
121
126
|
}
|
|
122
127
|
const first = firstDelivery(record.deliveries, delivered);
|
|
128
|
+
const passed = await skippedOf(ctx, { judge: signer.address, intent, device, recipients: [signer.address], record, first, openers: keypair });
|
|
123
129
|
if (first !== null && !wallets.includes(first.worker)) {
|
|
124
130
|
throw new AgentRefusal("NotEarliestAnnouncer", notInSplit(first.worker, delivered));
|
|
125
131
|
}
|
|
126
|
-
|
|
127
|
-
const
|
|
132
|
+
const salt = first?.salt;
|
|
133
|
+
const openings = openingsFor(record, first);
|
|
134
|
+
await confirmedRelease(ctx, { intent, attestor: signer.address, sha256: delivered, pages: input.max_pages ?? ATTEST_PAGES, payees: wallets, keypair });
|
|
135
|
+
const memoText = releaseMemo(delivered, salt);
|
|
128
136
|
const memo = { programAddress: MEMO_PROGRAM_ADDRESS, accounts: [{ address: signer.address, role: AccountRole.READONLY_SIGNER, signer }], data: new TextEncoder().encode(memoText) };
|
|
129
137
|
const token = await mintOf(ctx.transport, held.inputMint);
|
|
130
|
-
const payees = await Promise.all(wallets.map((w) => tokenAccountIfMissing(ctx.transport,
|
|
138
|
+
const payees = await Promise.all(wallets.map((w) => tokenAccountIfMissing(ctx.transport, payer, w, held.inputMint, token.tokenProgram)));
|
|
131
139
|
const amountIn = held.escrowed - held.filled;
|
|
132
140
|
const settleAmount = amountIn - params.judgeFee;
|
|
133
|
-
const maxFeeBps =
|
|
134
|
-
const shares = splitFees(settleAmount,
|
|
141
|
+
const maxFeeBps = held.feeBps + held.partnerBps;
|
|
142
|
+
const shares = splitFees(settleAmount, held.feeBps, held.partnerBps, held.partnerCutBps);
|
|
135
143
|
const payout = splitPayout(shares.net, weights);
|
|
136
|
-
const treasury = shares.protocol > 0n ? await tokenAccountIfMissing(ctx.transport,
|
|
144
|
+
const treasury = shares.protocol > 0n ? await tokenAccountIfMissing(ctx.transport, payer, config.feeRecipient, held.inputMint, token.tokenProgram) : { create: [] };
|
|
137
145
|
const partnerPaid = shares.partner > 0n;
|
|
138
|
-
const partner = partnerPaid ? await tokenAccountIfMissing(ctx.transport,
|
|
139
|
-
const judge = params.judgeFee > 0n ? await tokenAccountIfMissing(ctx.transport,
|
|
146
|
+
const partner = partnerPaid ? await tokenAccountIfMissing(ctx.transport, payer, held.partner, held.inputMint, token.tokenProgram) : { create: [] };
|
|
147
|
+
const judge = params.judgeFee > 0n ? await tokenAccountIfMissing(ctx.transport, payer, signer.address, held.inputMint, token.tokenProgram) : { create: [] };
|
|
140
148
|
const splitHash = await splitCommit(wallets, weights);
|
|
141
149
|
const fields = {
|
|
142
150
|
domain: Uint8Array.from(config.domain),
|
|
@@ -149,10 +157,11 @@ export const walletAttestSplit = define({
|
|
|
149
157
|
specHash: params.specHash,
|
|
150
158
|
splitHash,
|
|
151
159
|
};
|
|
152
|
-
const
|
|
153
|
-
const
|
|
160
|
+
const digest = await attestedSplitDigest(fields);
|
|
161
|
+
const message = cosignEnvelope([...wallets, signer.address], digest);
|
|
162
|
+
const digestHex = getBase16Decoder().decode(digest);
|
|
154
163
|
const settle = await buildFillAttestedSplit({
|
|
155
|
-
solver:
|
|
164
|
+
solver: payer,
|
|
156
165
|
owner: input.owner,
|
|
157
166
|
nonce: input.nonce,
|
|
158
167
|
inputMint: held.inputMint,
|
|
@@ -165,6 +174,7 @@ export const walletAttestSplit = define({
|
|
|
165
174
|
amountIn,
|
|
166
175
|
result,
|
|
167
176
|
maxFeeBps,
|
|
177
|
+
capped: held.capped,
|
|
168
178
|
});
|
|
169
179
|
const name = TOKEN_NAMES[held.inputMint] ?? held.inputMint;
|
|
170
180
|
const approval = approvalOf(message, memoText);
|
|
@@ -173,17 +183,21 @@ export const walletAttestSplit = define({
|
|
|
173
183
|
}
|
|
174
184
|
let batch;
|
|
175
185
|
if (input.send === true) {
|
|
176
|
-
const
|
|
186
|
+
const signatures = new Map();
|
|
187
|
+
input.recipients.forEach((r, i) => {
|
|
188
|
+
if (r.wallet === signer.address) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
177
191
|
if (r.signature === undefined || !new RegExp(SIGNATURE_PATTERN).test(r.signature)) {
|
|
178
192
|
throw new InvalidInput([{ path: `recipients.${i}.signature`, message: SPLIT_SIG_NEEDED }]);
|
|
179
193
|
}
|
|
180
|
-
|
|
194
|
+
signatures.set(r.wallet, Uint8Array.from(getBase16Encoder().encode(r.signature)));
|
|
181
195
|
});
|
|
182
|
-
|
|
183
|
-
batch =
|
|
196
|
+
signatures.set(signer.address, new Uint8Array(await signer.signBytes(message)));
|
|
197
|
+
batch = buildEd25519CosignInstruction({ entries: [...signatures].map(([publicKey, signature]) => ({ publicKey, signature })), message });
|
|
184
198
|
}
|
|
185
199
|
const setup = [...payees.flatMap((p) => p.create), ...treasury.create, ...partner.create, ...judge.create];
|
|
186
|
-
const invoked = new Set([INTENT_ENGINE_PROGRAM_ADDRESS, token.tokenProgram,
|
|
200
|
+
const invoked = new Set([INTENT_ENGINE_PROGRAM_ADDRESS, token.tokenProgram, payer.address]);
|
|
187
201
|
const lookupAccounts = [...new Set((settle.accounts ?? []).map((a) => a.address))].filter((a) => !invoked.has(a));
|
|
188
202
|
let tables;
|
|
189
203
|
if (input.send === true && input.lookup_table !== undefined) {
|
|
@@ -196,16 +210,20 @@ export const walletAttestSplit = define({
|
|
|
196
210
|
let prepared;
|
|
197
211
|
let followUp = false;
|
|
198
212
|
if (input.send === true && batch !== undefined) {
|
|
199
|
-
const sizeOf = async (ixs) => transactionSize(ctx.transport, await ctx.transport.budget(ixs,
|
|
213
|
+
const sizeOf = async (ixs) => transactionSize(ctx.transport, await ctx.transport.budget(ixs, payer.address, tables), payer.address, tables);
|
|
200
214
|
const bare = [...setup, batch, settle];
|
|
201
|
-
followUp = (await sizeOf([...bare, memo])) > PACKET_DATA_SIZE;
|
|
215
|
+
followUp = !device && (await sizeOf([...bare, memo])) > PACKET_DATA_SIZE;
|
|
202
216
|
if (followUp) {
|
|
203
217
|
const size = await sizeOf(bare);
|
|
204
218
|
if (size > PACKET_DATA_SIZE) {
|
|
205
219
|
throw new AgentRefusal("ReleaseTooLarge", splitTooLarge(size, input.recipients.length, input.lookup_table !== undefined));
|
|
206
220
|
}
|
|
207
221
|
}
|
|
208
|
-
|
|
222
|
+
const bareSize = device ? await sizeOf(bare) : 0;
|
|
223
|
+
if (bareSize > PACKET_DATA_SIZE) {
|
|
224
|
+
throw new AgentRefusal("ReleaseTooLarge", splitTooLarge(bareSize, input.recipients.length, input.lookup_table !== undefined));
|
|
225
|
+
}
|
|
226
|
+
prepared = preparedView(await prepare(ctx.transport, followUp || device ? bare : [...bare, memo], payer.address, tables));
|
|
209
227
|
}
|
|
210
228
|
const view2 = {
|
|
211
229
|
intent,
|
|
@@ -228,48 +246,57 @@ export const walletAttestSplit = define({
|
|
|
228
246
|
...(params.judgeFee > 0n ? [`Pays the judge: ${formatAmount(params.judgeFee, token.decimals)} of ${name} to this wallet, carved out of the escrow`] : []),
|
|
229
247
|
`Binds: the result to the committed spec ${getBase16Decoder().decode(params.specHash)}`,
|
|
230
248
|
`Attests: result ${result}, signed by this server's wallet as the escrow's attestor`,
|
|
231
|
-
|
|
232
|
-
|
|
249
|
+
...(device
|
|
250
|
+
? [`Signs: only the release message on the Ledger, which shows digest ${digestHex}; the fee payer ${payer.address} signs and pays the transaction, so no memo records the delivered work`]
|
|
251
|
+
: [RECORDS_SPLIT(delivered)]),
|
|
252
|
+
...(setup.length === 0 ? [] : [`Setup: creates ${setup.length} token account(s), paid by ${device ? "the fee payer" : "this wallet"}`]),
|
|
233
253
|
],
|
|
234
254
|
warnings: [...settlementWarnings(params), WARN_COAUTHORS],
|
|
235
255
|
prepared,
|
|
236
256
|
};
|
|
237
|
-
const done = await sent(ctx,
|
|
238
|
-
preview: PREVIEW_APPROVAL_NEXT,
|
|
257
|
+
const done = await sent(ctx, payer, view2, input.send, call, {
|
|
258
|
+
preview: device ? `${PREVIEW_APPROVAL_NEXT}; ${DEVICE_RELEASE}` : PREVIEW_APPROVAL_NEXT,
|
|
239
259
|
done: `released to co-authors; ${tool("wallet_feedback")} to rate if you own it`,
|
|
240
260
|
});
|
|
241
261
|
if (!("signature" in done)) {
|
|
242
|
-
return done;
|
|
243
|
-
}
|
|
244
|
-
if (!followUp) {
|
|
245
|
-
return { ...done, recorded: "release" };
|
|
262
|
+
return { ...done, ...passed };
|
|
246
263
|
}
|
|
247
|
-
|
|
248
|
-
...done,
|
|
249
|
-
recorded: false,
|
|
250
|
-
record_memo: followUpMemo(delivered, done.signature),
|
|
251
|
-
next: followUpFailed(problemOf(error).hint),
|
|
252
|
-
});
|
|
253
|
-
let recording;
|
|
254
|
-
try {
|
|
255
|
-
recording = preparedView(await prepare(ctx.transport, followUpInstructions(signer, intent, delivered, done.signature), signer.address));
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
return unrecorded(error);
|
|
259
|
-
}
|
|
260
|
-
try {
|
|
261
|
-
return { ...done, recorded: "follow-up", follow_up_signature: await execute(ctx.transport, recording, signer) };
|
|
262
|
-
}
|
|
263
|
-
catch (error) {
|
|
264
|
-
if (neverLanded(error)) {
|
|
265
|
-
return unrecorded(error);
|
|
266
|
-
}
|
|
267
|
-
const landed = await ctx.transport
|
|
268
|
-
.engineTransactions(WAIT_SCAN, intent)
|
|
269
|
-
.then((transactions) => followUpOf(transactions, done.signature, signer.address))
|
|
270
|
-
.catch(() => null);
|
|
271
|
-
return landed === null || landed.sha256 !== delivered ? unrecorded(error) : { ...done, recorded: "follow-up", follow_up_signature: landed.signature };
|
|
264
|
+
if (device) {
|
|
265
|
+
return { ...done, ...passed, recorded: false, record_memo: followUpMemo(delivered, done.signature, salt), next: unrecordedOnDevice(), ...(await sendOpenings(ctx, payer, signer.address, openings)) };
|
|
272
266
|
}
|
|
267
|
+
const recorded = await recordedSplit(ctx, signer, intent, delivered, salt, done, followUp);
|
|
268
|
+
return recorded.recorded === false ? { ...recorded, ...passed } : { ...recorded, ...passed, ...(await sendOpenings(ctx, signer, signer.address, openings)) };
|
|
273
269
|
},
|
|
274
270
|
});
|
|
271
|
+
async function recordedSplit(ctx, signer, intent, delivered, salt, done, followUp) {
|
|
272
|
+
if (!followUp) {
|
|
273
|
+
return { ...done, recorded: "release" };
|
|
274
|
+
}
|
|
275
|
+
const unrecorded = (error) => ({
|
|
276
|
+
...done,
|
|
277
|
+
recorded: false,
|
|
278
|
+
record_memo: followUpMemo(delivered, done.signature, salt),
|
|
279
|
+
next: followUpFailed(problemOf(error).hint),
|
|
280
|
+
});
|
|
281
|
+
let recording;
|
|
282
|
+
try {
|
|
283
|
+
recording = preparedView(await prepare(ctx.transport, followUpInstructions(signer, intent, delivered, done.signature, salt), signer.address));
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
return unrecorded(error);
|
|
287
|
+
}
|
|
288
|
+
try {
|
|
289
|
+
return { ...done, recorded: "follow-up", follow_up_signature: await execute(ctx.transport, recording, signer) };
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
if (neverLanded(error)) {
|
|
293
|
+
return unrecorded(error);
|
|
294
|
+
}
|
|
295
|
+
const landed = await ctx.transport
|
|
296
|
+
.engineTransactions(WAIT_SCAN, intent)
|
|
297
|
+
.then((transactions) => followUpOf(transactions, done.signature, signer.address))
|
|
298
|
+
.catch(() => null);
|
|
299
|
+
return landed === null || landed.sha256 !== delivered ? unrecorded(error) : { ...done, recorded: "follow-up", follow_up_signature: landed.signature };
|
|
300
|
+
}
|
|
301
|
+
}
|
|
275
302
|
//# sourceMappingURL=split.js.map
|