@intent-engine/client 0.1.40 → 0.1.41
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 +2 -0
- package/dist/src/accounts.js +7 -3
- package/dist/src/accounts.js.map +1 -1
- package/dist/src/client-claims.d.ts +6 -0
- package/dist/src/client-claims.js +26 -10
- package/dist/src/client-claims.js.map +1 -1
- package/dist/src/client-types.d.ts +3 -0
- package/dist/src/client.d.ts +1 -1
- package/dist/src/client.js +3 -3
- package/dist/src/client.js.map +1 -1
- package/dist/src/funding.d.ts +15 -0
- package/dist/src/funding.js +92 -0
- package/dist/src/funding.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-deliveries.d.ts +14 -12
- package/dist/src/job-deliveries.js +40 -32
- package/dist/src/job-deliveries.js.map +1 -1
- package/dist/src/job-pay.d.ts +14 -0
- package/dist/src/job-pay.js +45 -0
- package/dist/src/job-pay.js.map +1 -0
- package/dist/src/job-proofs.d.ts +7 -1
- package/dist/src/job-proofs.js +16 -6
- package/dist/src/job-proofs.js.map +1 -1
- package/dist/src/job-specs.d.ts +2 -1
- package/dist/src/job-specs.js +2 -2
- package/dist/src/job-specs.js.map +1 -1
- package/dist/src/jobs.d.ts +3 -2
- package/dist/src/jobs.js +2 -1
- package/dist/src/jobs.js.map +1 -1
- package/dist/src/release-reads.d.ts +10 -0
- package/dist/src/release-reads.js +35 -0
- package/dist/src/release-reads.js.map +1 -0
- package/dist/src/reputation.d.ts +9 -0
- package/dist/src/reputation.js +48 -41
- package/dist/src/reputation.js.map +1 -1
- package/dist/src/rpc-shapes.d.ts +23 -0
- package/dist/src/rpc-transport.js +19 -1
- package/dist/src/rpc-transport.js.map +1 -1
- package/dist/src/svm.js +9 -4
- package/dist/src/svm.js.map +1 -1
- package/dist/src/transaction-keys.d.ts +7 -1
- package/dist/src/transaction-keys.js +17 -0
- package/dist/src/transaction-keys.js.map +1 -1
- package/dist/src/transport.d.ts +2 -2
- package/dist/src/transport.js +1 -1
- package/dist/src/transport.js.map +1 -1
- package/dist/src/trust.d.ts +27 -0
- package/dist/src/trust.js +180 -0
- package/dist/src/trust.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { decodeParams, feeBpsFor, formatAmount, getIntentDecoder, Kind, kindBit, PAUSE_FILL, splitFees, } from "@intent-engine/core";
|
|
2
|
+
import { mintOf } from "./accounts.js";
|
|
3
|
+
export function releaseNet(intent, terms) {
|
|
4
|
+
if ((terms.paused & PAUSE_FILL) !== 0 || (terms.fillDisabledKinds & kindBit(Kind.AttestedResult)) !== 0n || intent.agentFee !== 0n) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
if (intent.filled > intent.escrowed) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const amountIn = intent.escrowed - intent.filled;
|
|
11
|
+
const params = decodeParams(intent.kind, Uint8Array.from(intent.params));
|
|
12
|
+
if (params.kind !== Kind.AttestedResult || params.amountIn !== amountIn || params.judgeFee > amountIn) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return splitFees(amountIn - params.judgeFee, feeBpsFor(terms, intent.kind), intent.partnerBps, intent.partnerCutBps).net;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async function scaleOf(decimalsOf, mint) {
|
|
23
|
+
try {
|
|
24
|
+
return await decimalsOf(mint);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function jobPays(transport, jobs, terms, decimalsOf = async (mint) => (await mintOf(transport, mint)).decimals) {
|
|
31
|
+
const mints = [...new Set(jobs.map(({ inputMint }) => inputMint))];
|
|
32
|
+
const [held, decimals] = await Promise.all([
|
|
33
|
+
transport.intents(),
|
|
34
|
+
Promise.all(mints.map(async (mint) => [mint, await scaleOf(decimalsOf, mint)])),
|
|
35
|
+
]);
|
|
36
|
+
const intents = new Map(held.map(({ address, data }) => [address, data]));
|
|
37
|
+
const scales = new Map(decimals);
|
|
38
|
+
return jobs.map(({ intent, inputMint }) => {
|
|
39
|
+
const data = intents.get(intent);
|
|
40
|
+
const scale = scales.get(inputMint);
|
|
41
|
+
const net = data === undefined || scale === undefined ? null : releaseNet(getIntentDecoder().decode(data), terms);
|
|
42
|
+
return net === null ? { netPay: "0", payable: false } : { netPay: formatAmount(net, scale), payable: true };
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=job-pay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-pay.js","sourceRoot":"","sources":["../../src/job-pay.ts"],"names":[],"mappings":"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"}
|
package/dist/src/job-proofs.d.ts
CHANGED
|
@@ -7,11 +7,17 @@ export type Proof = {
|
|
|
7
7
|
intent: Intent;
|
|
8
8
|
params: AttestedResultParams;
|
|
9
9
|
};
|
|
10
|
+
export type JobFilter = {
|
|
11
|
+
attestor?: Address | undefined;
|
|
12
|
+
mint?: Address | undefined;
|
|
13
|
+
minSells?: bigint | undefined;
|
|
14
|
+
unclaimed?: boolean | undefined;
|
|
15
|
+
};
|
|
10
16
|
export declare const hex: (bytes: Uint8Array) => string;
|
|
11
17
|
export declare function intentAt(transport: Transport, address: Address): Promise<Intent | null>;
|
|
12
18
|
export declare function proofAt(transport: Transport, address: Address): Promise<Proof | null>;
|
|
13
19
|
export declare function createdAtOf(transport: Transport, address: Address): Promise<bigint | null>;
|
|
14
|
-
export declare function openProofEscrows(transport: Transport,
|
|
20
|
+
export declare function openProofEscrows(transport: Transport, filter?: Address | JobFilter, limit?: number): Promise<Proof[]>;
|
|
15
21
|
export declare const createdIn: (emitted: readonly Uint8Array[], intent: Address) => boolean;
|
|
16
22
|
export declare function creationSlotOf(transport: Transport, intent: Address, createdAt?: bigint): Promise<bigint | null>;
|
|
17
23
|
export declare function historyCovers(transport: Transport, intent: Address, createdAt?: bigint): Promise<boolean>;
|
package/dist/src/job-proofs.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { decodeEvent, decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, } from "@intent-engine/core";
|
|
1
|
+
import { CLAIMS_OPEN, decodeEvent, decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, remainingOf, } from "@intent-engine/core";
|
|
2
2
|
import { chainTime, createdAccount } from "./accounts.js";
|
|
3
|
+
import { loadClaimsOf } from "./client-claims.js";
|
|
3
4
|
import { scan } from "./job-scan.js";
|
|
4
5
|
export const JOBS_LIMIT = 50;
|
|
5
6
|
export const hex = (bytes) => Buffer.from(bytes).toString("hex");
|
|
@@ -22,16 +23,25 @@ export async function proofAt(transport, address) {
|
|
|
22
23
|
export async function createdAtOf(transport, address) {
|
|
23
24
|
return (await intentAt(transport, address))?.createdAt ?? null;
|
|
24
25
|
}
|
|
25
|
-
export async function openProofEscrows(transport,
|
|
26
|
+
export async function openProofEscrows(transport, filter, limit = JOBS_LIMIT) {
|
|
27
|
+
const { attestor, mint, minSells, unclaimed } = typeof filter === "string" ? { attestor: filter } : (filter ?? {});
|
|
26
28
|
const [accounts, now] = await Promise.all([transport.intents(), chainTime(transport)]);
|
|
27
|
-
|
|
29
|
+
const open = accounts
|
|
28
30
|
.map(({ address, data }) => proofOf(address, getIntentDecoder().decode(data)))
|
|
29
31
|
.filter((proof) => proof !== null &&
|
|
30
32
|
proof.intent.status === IntentStatus.Open &&
|
|
31
33
|
proof.intent.expiresAt > now &&
|
|
32
|
-
(attestor === undefined || proof.params.attestor === attestor)
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
(attestor === undefined || proof.params.attestor === attestor) &&
|
|
35
|
+
(mint === undefined || proof.intent.inputMint === mint) &&
|
|
36
|
+
(minSells === undefined || remainingOf(proof.intent) >= minSells))
|
|
37
|
+
.sort((a, b) => (a.intent.expiresAt === b.intent.expiresAt ? 0 : a.intent.expiresAt > b.intent.expiresAt ? -1 : 1));
|
|
38
|
+
return (unclaimed === true ? await unclaimedOnly(transport, open) : open).slice(0, limit);
|
|
39
|
+
}
|
|
40
|
+
async function unclaimedOnly(transport, proofs) {
|
|
41
|
+
const claimable = proofs.filter(({ intent }) => intent.claims === CLAIMS_OPEN);
|
|
42
|
+
const claims = await loadClaimsOf(transport, claimable.map(({ address }) => address));
|
|
43
|
+
const held = new Set(claimable.filter((_, i) => claims[i]?.state === "held").map(({ address }) => address));
|
|
44
|
+
return proofs.filter(({ address }) => !held.has(address));
|
|
35
45
|
}
|
|
36
46
|
export const createdIn = (emitted, intent) => emitted.some((data) => {
|
|
37
47
|
const event = decodeEvent(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-proofs.js","sourceRoot":"","sources":["../../src/job-proofs.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,6BAA6B,EAE7B,YAAY,EACZ,IAAI,
|
|
1
|
+
{"version":3,"file":"job-proofs.js","sourceRoot":"","sources":["../../src/job-proofs.ts"],"names":[],"mappings":"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"}
|
package/dist/src/job-specs.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type JobFilter } from "./job-proofs.js";
|
|
2
3
|
import { type Lookup } from "./public-host.js";
|
|
3
4
|
import { type Transport } from "./transport.js";
|
|
4
5
|
export declare const SPEC_SCAN = 10;
|
|
@@ -46,5 +47,5 @@ export declare class SpecUnreadable extends Error {
|
|
|
46
47
|
constructor(url: string, reason: string);
|
|
47
48
|
}
|
|
48
49
|
export declare function specUrlOf(transport: Transport, intent: Address, createdAt?: bigint): Promise<string | null>;
|
|
49
|
-
export declare function jobsOf(transport: Transport,
|
|
50
|
+
export declare function jobsOf(transport: Transport, filter?: Address | JobFilter): Promise<Job[]>;
|
|
50
51
|
export declare function readSpec(transport: Transport, get: SpecFetch, intent: Address, keypair?: Uint8Array, lookup?: Lookup): Promise<Spec | null>;
|
package/dist/src/job-specs.js
CHANGED
|
@@ -58,8 +58,8 @@ export async function specUrlOf(transport, intent, createdAt) {
|
|
|
58
58
|
.flatMap((memo) => (memo === null ? [] : [memo.url])));
|
|
59
59
|
return urls.size === 1 ? ([...urls][0] ?? null) : null;
|
|
60
60
|
}
|
|
61
|
-
export async function jobsOf(transport,
|
|
62
|
-
const proofs = await openProofEscrows(transport,
|
|
61
|
+
export async function jobsOf(transport, filter) {
|
|
62
|
+
const proofs = await openProofEscrows(transport, filter);
|
|
63
63
|
const urls = [];
|
|
64
64
|
for (let at = 0; at < proofs.length; at += TRANSACTION_FETCHES) {
|
|
65
65
|
urls.push(...(await Promise.all(proofs.slice(at, at + TRANSACTION_FETCHES).map(({ address, intent }) => specUrlOf(transport, address, intent.createdAt)))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-specs.js","sourceRoot":"","sources":["../../src/job-specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"job-specs.js","sourceRoot":"","sources":["../../src/job-specs.ts"],"names":[],"mappings":"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"}
|
package/dist/src/jobs.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { DELIVERY_PAGES, DELIVERY_SCAN, MEMOS_PER_TRANSACTION, type Scan, scan, type ScanOptions, SIGNATURE_PAGE, transactionAt, } from "./job-scan.js";
|
|
2
|
-
export {
|
|
2
|
+
export { type JobPay, jobPays, type PayTerms, releaseNet } from "./job-pay.js";
|
|
3
|
+
export { createdAtOf, creationSlotOf, historyCovers, intentAt, JOBS_LIMIT, type JobFilter, openProofEscrows } from "./job-proofs.js";
|
|
3
4
|
export { DEVNET_GENESIS_HASH, type Job, jobsOf, MAINNET_GENESIS_HASH, MAX_SPEC_BYTES, PLAIN_HTTP_ON_PUBLIC, plainHttpOnPublic, PUBLIC_GENESIS_HASHES, readSpec, type Spec, type SpecFetch, SPEC_SCAN, SPEC_TIMEOUT_MS, SpecSealed, SpecUnreadable, specUrlOf, TESTNET_GENESIS_HASH, } from "./job-specs.js";
|
|
4
5
|
export { type FollowUp, followUpInstructions, followUpMemo, followUpOf, memoInstruction, memosSignedBy, parseFollowUpMemo, recordedDelivery, releaseSigners, RELEASE_MARK, } from "./job-memos.js";
|
|
5
|
-
export {
|
|
6
|
+
export { announces, commitmentOf, type DeliverInput, deliveriesOf, type Delivery, deliveryInstructions, type DeliveryPlan, deliveryRecord, type DeliveryRecord, firstDelivery, NotDeliverable, withWork, } from "./job-deliveries.js";
|
|
6
7
|
export { creationProof, type EngineCall, engineCalls, escrowOrigin, type EscrowOrigin, type EscrowProof, type Lifecycle, lifecycleDeliveries, originDeliveries, } from "./job-origins.js";
|
package/dist/src/jobs.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { DELIVERY_PAGES, DELIVERY_SCAN, MEMOS_PER_TRANSACTION, scan, SIGNATURE_PAGE, transactionAt, } from "./job-scan.js";
|
|
2
|
+
export { jobPays, releaseNet } from "./job-pay.js";
|
|
2
3
|
export { createdAtOf, creationSlotOf, historyCovers, intentAt, JOBS_LIMIT, openProofEscrows } from "./job-proofs.js";
|
|
3
4
|
export { DEVNET_GENESIS_HASH, jobsOf, MAINNET_GENESIS_HASH, MAX_SPEC_BYTES, PLAIN_HTTP_ON_PUBLIC, plainHttpOnPublic, PUBLIC_GENESIS_HASHES, readSpec, SPEC_SCAN, SPEC_TIMEOUT_MS, SpecSealed, SpecUnreadable, specUrlOf, TESTNET_GENESIS_HASH, } from "./job-specs.js";
|
|
4
5
|
export { followUpInstructions, followUpMemo, followUpOf, memoInstruction, memosSignedBy, parseFollowUpMemo, recordedDelivery, releaseSigners, RELEASE_MARK, } from "./job-memos.js";
|
|
5
|
-
export {
|
|
6
|
+
export { announces, commitmentOf, deliveriesOf, deliveryInstructions, deliveryRecord, firstDelivery, NotDeliverable, withWork, } from "./job-deliveries.js";
|
|
6
7
|
export { creationProof, engineCalls, escrowOrigin, lifecycleDeliveries, originDeliveries, } from "./job-origins.js";
|
|
7
8
|
//# sourceMappingURL=jobs.js.map
|
package/dist/src/jobs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,qBAAqB,EAErB,IAAI,EAEJ,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,qBAAqB,EAErB,IAAI,EAEJ,cAAc,EACd,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,OAAO,EAAiB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAkB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrI,OAAO,EACL,mBAAmB,EAEnB,MAAM,EACN,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EAGR,SAAS,EACT,eAAe,EACf,UAAU,EACV,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,YAAY,EAEZ,oBAAoB,EAEpB,cAAc,EAEd,aAAa,EACb,cAAc,EACd,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EAEb,WAAW,EACX,YAAY,EAIZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Address } from "@solana/kit";
|
|
2
|
+
import { type EngineEvent } from "@intent-engine/core";
|
|
3
|
+
import type { EngineTransaction } from "./transport.js";
|
|
4
|
+
export declare function splitClaim(release: EngineTransaction, intent: Address): import("@intent-engine/core").SplitClaim | null;
|
|
5
|
+
export type Read = {
|
|
6
|
+
event: EngineEvent;
|
|
7
|
+
transaction: EngineTransaction;
|
|
8
|
+
};
|
|
9
|
+
export declare function eventsOf(transactions: readonly EngineTransaction[], intent?: Address): Read[];
|
|
10
|
+
export declare function releaseOf(transactions: readonly EngineTransaction[], intent: Address): Read | undefined;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { decodeEvent, FILL_ATTESTED_SPLIT_COMMITTEE_DISCRIMINATOR, FILL_ATTESTED_SPLIT_DISCRIMINATOR, getFillAttestedSplitCommitteeInstructionDataDecoder, getFillAttestedSplitInstructionDataDecoder, } from "@intent-engine/core";
|
|
2
|
+
import { engineCalls } from "./job-origins.js";
|
|
3
|
+
const SPLIT_INTENT_ACCOUNT = 2;
|
|
4
|
+
const startsWith = (data, head) => data.length >= head.length && Array.from(head).every((b, i) => data[i] === b);
|
|
5
|
+
export function splitClaim(release, intent) {
|
|
6
|
+
for (const { data, accounts } of engineCalls(release)) {
|
|
7
|
+
if (accounts?.[SPLIT_INTENT_ACCOUNT] !== intent) {
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
if (startsWith(data, FILL_ATTESTED_SPLIT_DISCRIMINATOR)) {
|
|
12
|
+
return getFillAttestedSplitInstructionDataDecoder().decode(data).claim;
|
|
13
|
+
}
|
|
14
|
+
if (startsWith(data, FILL_ATTESTED_SPLIT_COMMITTEE_DISCRIMINATOR)) {
|
|
15
|
+
return getFillAttestedSplitCommitteeInstructionDataDecoder().decode(data).claim;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
export function eventsOf(transactions, intent) {
|
|
25
|
+
return transactions
|
|
26
|
+
.filter(({ failed }) => !failed)
|
|
27
|
+
.flatMap((transaction) => transaction.emitted
|
|
28
|
+
.map((data) => decodeEvent(data))
|
|
29
|
+
.filter((event) => event !== null && "intent" in event.fields && (intent === undefined || event.fields.intent === intent))
|
|
30
|
+
.map((event) => ({ event, transaction })));
|
|
31
|
+
}
|
|
32
|
+
export function releaseOf(transactions, intent) {
|
|
33
|
+
return eventsOf(transactions, intent).find(({ event }) => event.name === "IntentAttested" || event.name === "IntentSplit");
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=release-reads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-reads.js","sourceRoot":"","sources":["../../src/release-reads.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEX,2CAA2C,EAC3C,iCAAiC,EACjC,mDAAmD,EACnD,0CAA0C,GAC3C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,IAAuB,EAAW,EAAE,CACxE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE,MAAe;IACpE,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC,oBAAoB,CAAC,KAAK,MAAM,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,EAAE,iCAAiC,CAAC,EAAE,CAAC;gBACxD,OAAO,0CAA0C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YACzE,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,EAAE,2CAA2C,CAAC,EAAE,CAAC;gBAClE,OAAO,mDAAmD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,YAA0C,EAAE,MAAgB;IACnF,OAAO,YAAY;SAChB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;SAC/B,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CACvB,WAAW,CAAC,OAAO;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAuB,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;SAC/I,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAC5C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAA0C,EAAE,MAAe;IACnF,OAAO,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AAC7H,CAAC"}
|
package/dist/src/reputation.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { Address, Instruction, Signature, TransactionSigner } from "@solana/kit";
|
|
2
|
+
import { type FundedBy } from "./funding.js";
|
|
2
3
|
import type { Transport } from "./transport.js";
|
|
3
4
|
export type WorkOutcome = "paid" | "paid-other" | "refunded" | "open" | "unknown";
|
|
4
5
|
export type WorkRecord = {
|
|
5
6
|
intent: Address;
|
|
6
7
|
sha256: string;
|
|
8
|
+
commitment: string;
|
|
7
9
|
announced: Signature;
|
|
8
10
|
slot: bigint;
|
|
9
11
|
blockTime: bigint | null;
|
|
@@ -13,8 +15,11 @@ export type WorkRecord = {
|
|
|
13
15
|
committee?: Address[];
|
|
14
16
|
mint?: Address;
|
|
15
17
|
earned?: bigint;
|
|
18
|
+
backed?: bigint;
|
|
19
|
+
createBacked?: bigint;
|
|
16
20
|
release?: Signature;
|
|
17
21
|
selfDealt: boolean;
|
|
22
|
+
fundedByWorker?: FundedBy;
|
|
18
23
|
feedback?: number;
|
|
19
24
|
};
|
|
20
25
|
export type Earned = {
|
|
@@ -27,10 +32,13 @@ export type Reputation = {
|
|
|
27
32
|
announced: number;
|
|
28
33
|
paid: number;
|
|
29
34
|
selfDealt: number;
|
|
35
|
+
fundedByWorker: number;
|
|
30
36
|
payers: number;
|
|
31
37
|
judges: number;
|
|
32
38
|
committeeJudged: number;
|
|
33
39
|
earned: Earned[];
|
|
40
|
+
backed: Earned[];
|
|
41
|
+
backedSol: string;
|
|
34
42
|
feedback: {
|
|
35
43
|
count: number;
|
|
36
44
|
average: number | null;
|
|
@@ -43,6 +51,7 @@ export type ReputationOptions = {
|
|
|
43
51
|
pages?: number;
|
|
44
52
|
history?: number;
|
|
45
53
|
};
|
|
54
|
+
export declare const counted: (record: WorkRecord) => boolean;
|
|
46
55
|
export declare function reputationOf(transport: Transport, wallet: Address, options?: ReputationOptions): Promise<Reputation>;
|
|
47
56
|
export type FeedbackInput = {
|
|
48
57
|
owner: TransactionSigner;
|
package/dist/src/reputation.js
CHANGED
|
@@ -1,32 +1,18 @@
|
|
|
1
1
|
import { getTransferSolInstruction } from "@solana-program/system";
|
|
2
|
-
import {
|
|
2
|
+
import { feedbackMemo, DELIVERY_V2_MEMO_PREFIX, findAssociatedTokenAddress, formatAmount, NATIVE_MINT, parseDeliveryMemoV2, parseFeedbackMemo, splitN, } from "@intent-engine/core";
|
|
3
3
|
import { mintOf } from "./accounts.js";
|
|
4
4
|
import { loadCommittee } from "./client-committee.js";
|
|
5
5
|
import { HISTORY_LIMIT } from "./client-types.js";
|
|
6
6
|
import { memoInstruction, recordedDelivery } from "./job-memos.js";
|
|
7
7
|
import { NotSettleable } from "./client-errors.js";
|
|
8
|
-
import {
|
|
8
|
+
import { fundedBy, fundingLookup } from "./funding.js";
|
|
9
9
|
import { DELIVERY_PAGES, MEMOS_PER_TRANSACTION, scan } from "./job-scan.js";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
if (startsWith(data, FILL_ATTESTED_SPLIT_DISCRIMINATOR)) {
|
|
19
|
-
return getFillAttestedSplitInstructionDataDecoder().decode(data).claim;
|
|
20
|
-
}
|
|
21
|
-
if (startsWith(data, FILL_ATTESTED_SPLIT_COMMITTEE_DISCRIMINATOR)) {
|
|
22
|
-
return getFillAttestedSplitCommitteeInstructionDataDecoder().decode(data).claim;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
10
|
+
import { eventsOf, releaseOf, splitClaim } from "./release-reads.js";
|
|
11
|
+
import { commitmentOf } from "./job-deliveries.js";
|
|
12
|
+
const SOL_DECIMALS = 9;
|
|
13
|
+
function announcedWork(text) {
|
|
14
|
+
const memo = parseDeliveryMemoV2(text);
|
|
15
|
+
return memo === null ? null : { key: `${memo.intent}:${memo.commitment}`, intent: memo.intent, sha256: "", commitment: memo.commitment };
|
|
30
16
|
}
|
|
31
17
|
function announcedBy(wallet, transactions) {
|
|
32
18
|
const found = new Map();
|
|
@@ -34,27 +20,19 @@ function announcedBy(wallet, transactions) {
|
|
|
34
20
|
if (failed || feePayer !== wallet) {
|
|
35
21
|
continue;
|
|
36
22
|
}
|
|
37
|
-
for (const
|
|
38
|
-
if (
|
|
23
|
+
for (const work of (memos ?? []).slice(0, MEMOS_PER_TRANSACTION).map(announcedWork)) {
|
|
24
|
+
if (work === null) {
|
|
39
25
|
continue;
|
|
40
26
|
}
|
|
41
|
-
const key =
|
|
27
|
+
const { key, ...announced } = work;
|
|
42
28
|
const held = found.get(key);
|
|
43
29
|
if (held === undefined || slot < held.slot || (slot === held.slot && signature < held.announced)) {
|
|
44
|
-
found.set(key, {
|
|
30
|
+
found.set(key, { ...announced, announced: signature, slot, blockTime });
|
|
45
31
|
}
|
|
46
32
|
}
|
|
47
33
|
}
|
|
48
34
|
return [...found.values()];
|
|
49
35
|
}
|
|
50
|
-
function eventsOf(transactions, intent) {
|
|
51
|
-
return transactions
|
|
52
|
-
.filter(({ failed }) => !failed)
|
|
53
|
-
.flatMap((transaction) => transaction.emitted
|
|
54
|
-
.map((data) => decodeEvent(data))
|
|
55
|
-
.filter((event) => event !== null && "intent" in event.fields && event.fields.intent === intent)
|
|
56
|
-
.map((event) => ({ event, transaction })));
|
|
57
|
-
}
|
|
58
36
|
function feedbackOf(transactions, intent, owner) {
|
|
59
37
|
const ordered = [...transactions].filter(({ failed }) => !failed).sort((a, b) => (a.slot < b.slot ? -1 : a.slot > b.slot ? 1 : 0));
|
|
60
38
|
for (const { memos, memoSigners } of ordered) {
|
|
@@ -75,12 +53,13 @@ async function recordOf(transport, wallet, work, history) {
|
|
|
75
53
|
const transactions = await transport.engineTransactions(history, work.intent);
|
|
76
54
|
const events = eventsOf(transactions, work.intent);
|
|
77
55
|
const created = events.find(({ event }) => event.name === "IntentCreated")?.event;
|
|
78
|
-
const released =
|
|
56
|
+
const released = releaseOf(transactions, work.intent);
|
|
79
57
|
const refunded = events.some(({ event }) => event.name === "IntentCancelled" || event.name === "IntentExpired");
|
|
80
58
|
const complete = created !== undefined || transactions.length < history;
|
|
81
59
|
const base = { ...work, selfDealt: false };
|
|
82
60
|
const owner = created?.name === "IntentCreated" ? created.fields.owner : released?.event.name === "IntentAttested" || released?.event.name === "IntentSplit" ? released.event.fields.owner : undefined;
|
|
83
61
|
const mint = created?.name === "IntentCreated" ? created.fields.inputMint : undefined;
|
|
62
|
+
const createFee = created?.name === "IntentCreated" ? BigInt(created.fields.createFee) : undefined;
|
|
84
63
|
if (released === undefined || (released.event.name !== "IntentAttested" && released.event.name !== "IntentSplit")) {
|
|
85
64
|
const outcome = refunded ? "refunded" : "open";
|
|
86
65
|
return { complete, record: { ...base, outcome, ...(owner === undefined ? {} : { owner }), ...(mint === undefined ? {} : { mint }) } };
|
|
@@ -102,10 +81,13 @@ async function recordOf(transport, wallet, work, history) {
|
|
|
102
81
|
release: transaction.signature,
|
|
103
82
|
selfDealt,
|
|
104
83
|
};
|
|
105
|
-
|
|
84
|
+
const announced = recorded !== null && commitmentOf(work.intent, wallet, recorded) === work.commitment;
|
|
85
|
+
if (!announced) {
|
|
106
86
|
return { complete, record: { ...common, outcome: "paid-other" } };
|
|
107
87
|
}
|
|
88
|
+
common.sha256 = recorded;
|
|
108
89
|
let earned;
|
|
90
|
+
let credit = (fee) => fee;
|
|
109
91
|
if (event.name === "IntentAttested") {
|
|
110
92
|
if (mint === undefined) {
|
|
111
93
|
return { complete: false, record: { ...common, outcome: "unknown" } };
|
|
@@ -118,39 +100,64 @@ async function recordOf(transport, wallet, work, history) {
|
|
|
118
100
|
const claim = splitClaim(transaction, work.intent);
|
|
119
101
|
const at = claim?.recipients.indexOf(wallet) ?? -1;
|
|
120
102
|
earned = claim === null || at < 0 ? undefined : splitN(event.fields.net, claim.weights)[at];
|
|
103
|
+
if (claim !== null && at >= 0) {
|
|
104
|
+
const weights = claim.weights;
|
|
105
|
+
credit = (fee) => splitN(fee, weights)[at] ?? 0n;
|
|
106
|
+
}
|
|
121
107
|
}
|
|
122
108
|
if (earned === undefined) {
|
|
123
109
|
return { complete, record: { ...common, outcome: "paid-other" } };
|
|
124
110
|
}
|
|
125
111
|
const feedback = feedbackOf(transactions, work.intent, event.fields.owner);
|
|
126
|
-
|
|
112
|
+
const backing = createFee === undefined ? {} : { backed: credit(event.fields.fee), createBacked: credit(createFee) };
|
|
113
|
+
return { complete: complete && createFee !== undefined, record: { ...common, outcome: "paid", earned, ...backing, ...(feedback === undefined ? {} : { feedback }) } };
|
|
127
114
|
}
|
|
115
|
+
export const counted = (record) => record.outcome === "paid" && !record.selfDealt && record.fundedByWorker !== "yes";
|
|
128
116
|
export async function reputationOf(transport, wallet, options = {}) {
|
|
129
117
|
const { firstAvailableSlot } = transport;
|
|
130
118
|
const fullLedger = async () => firstAvailableSlot !== undefined && (await firstAvailableSlot.call(transport)) === 0n;
|
|
131
|
-
const scanned = await scan(transport, wallet, { memo:
|
|
119
|
+
const scanned = await scan(transport, wallet, { memo: DELIVERY_V2_MEMO_PREFIX, pages: options.pages ?? DELIVERY_PAGES, covered: fullLedger });
|
|
132
120
|
const works = announcedBy(wallet, scanned.transactions);
|
|
133
121
|
const read = await Promise.all(works.map((work) => recordOf(transport, wallet, work, options.history ?? HISTORY_LIMIT)));
|
|
134
|
-
const
|
|
135
|
-
const
|
|
122
|
+
const lookup = fundingLookup(transport, fullLedger);
|
|
123
|
+
const records = [];
|
|
124
|
+
for (const { record } of read) {
|
|
125
|
+
records.push(record.outcome === "paid" && record.owner !== undefined ? { ...record, fundedByWorker: await fundedBy(lookup, record.owner, wallet) } : record);
|
|
126
|
+
}
|
|
127
|
+
records.sort((a, b) => (a.slot < b.slot ? -1 : a.slot > b.slot ? 1 : 0));
|
|
128
|
+
const arm = records.filter((r) => r.outcome === "paid" && !r.selfDealt);
|
|
129
|
+
const fair = records.filter(counted);
|
|
136
130
|
const earned = new Map();
|
|
137
131
|
for (const r of fair) {
|
|
138
132
|
if (r.mint !== undefined && r.earned !== undefined) {
|
|
139
133
|
earned.set(r.mint, (earned.get(r.mint) ?? 0n) + r.earned);
|
|
140
134
|
}
|
|
141
135
|
}
|
|
136
|
+
const backed = new Map();
|
|
137
|
+
let backedSol = 0n;
|
|
138
|
+
for (const r of fair) {
|
|
139
|
+
if (r.mint !== undefined && r.backed !== undefined && r.backed > 0n) {
|
|
140
|
+
backed.set(r.mint, (backed.get(r.mint) ?? 0n) + r.backed);
|
|
141
|
+
}
|
|
142
|
+
if (r.mint === NATIVE_MINT) {
|
|
143
|
+
backedSol += (r.backed ?? 0n) + (r.createBacked ?? 0n);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
142
146
|
const scores = fair.flatMap((r) => (r.feedback === undefined ? [] : [r.feedback]));
|
|
143
147
|
const times = records.flatMap((r) => (r.blockTime === null ? [] : [r.blockTime]));
|
|
144
148
|
return {
|
|
145
149
|
wallet,
|
|
146
|
-
complete: scanned.complete && read.every(({ complete }) => complete),
|
|
150
|
+
complete: scanned.complete && read.every(({ complete }) => complete) && records.every((r) => r.fundedByWorker !== "unknown"),
|
|
147
151
|
announced: records.length,
|
|
148
152
|
paid: fair.length,
|
|
149
153
|
selfDealt: records.filter((r) => r.outcome === "paid" && r.selfDealt).length,
|
|
154
|
+
fundedByWorker: arm.length - fair.length,
|
|
150
155
|
payers: new Set(fair.map((r) => r.owner)).size,
|
|
151
156
|
judges: new Set(fair.map((r) => r.attestor)).size,
|
|
152
157
|
committeeJudged: fair.filter((r) => r.committee !== undefined).length,
|
|
153
158
|
earned: [...earned].map(([mint, amount]) => ({ mint, amount })),
|
|
159
|
+
backed: [...backed].map(([mint, amount]) => ({ mint, amount })),
|
|
160
|
+
backedSol: formatAmount(backedSol, SOL_DECIMALS),
|
|
154
161
|
feedback: { count: scores.length, average: scores.length === 0 ? null : scores.reduce((a, b) => a + b, 0) / scores.length },
|
|
155
162
|
first: times.length === 0 ? null : times.reduce((a, b) => (a < b ? a : b)),
|
|
156
163
|
last: times.length === 0 ? null : times.reduce((a, b) => (a > b ? a : b)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reputation.js","sourceRoot":"","sources":["../../src/reputation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EAEpB,2CAA2C,EAC3C,iCAAiC,EACjC,0BAA0B,EAC1B,mDAAmD,EACnD,0CAA0C,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,GACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0C5E,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,IAAuB,EAAW,EAAE,CACxE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhF,SAAS,UAAU,CAAC,OAA0B,EAAE,MAAe;IAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC,oBAAoB,CAAC,KAAK,MAAM,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,EAAE,iCAAiC,CAAC,EAAE,CAAC;gBACxD,OAAO,0CAA0C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YACzE,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,EAAE,2CAA2C,CAAC,EAAE,CAAC;gBAClE,OAAO,mDAAmD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,SAAS,WAAW,CAAC,MAAe,EAAE,YAA0C;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;QACnF,IAAI,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAID,SAAS,QAAQ,CAAC,YAA0C,EAAE,MAAe;IAC3E,OAAO,YAAY;SAChB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;SAC/B,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CACvB,WAAW,CAAC,OAAO;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAuB,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;SACrH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAC5C,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,YAA0C,EAAE,MAAe,EAAE,KAAc;IAC7F,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnI,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,SAAoB,EAAE,QAAiB;IAC5D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,SAAoB,EAAE,MAAe,EAAE,IAAe,EAAE,OAAe;IAC7F,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,KAAK,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC;IACxE,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvM,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;QAClH,MAAM,OAAO,GAAgB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;IACxI,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM;QAC7B,QAAQ,KAAK,MAAM;QACnB,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG;QACb,GAAG,IAAI;QACP,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;QACzB,QAAQ;QACR,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,OAAO,EAAE,WAAW,CAAC,SAAsB;QAC3C,SAAS;KACV,CAAC;IACF,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,MAA0B,CAAC;IAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;QACxE,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAoB,EAAE,MAAe,EAAE,OAAO,GAAsB,EAAE;IACvG,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;IACrH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3I,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IACzH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;QACpE,SAAS,EAAE,OAAO,CAAC,MAAM;QACzB,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;QAC5E,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC9C,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACjD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,MAAM;QACrE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QAC3H,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO;KACR,CAAC;AACJ,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAoB,EAAE,KAAoB,EAAE,OAAO,GAAG,aAAa;IAC5G,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnI,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,KAAK,CAAC;IACpH,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,uFAAuF,CAAC,CAAC;IACjI,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,QAAQ,CAAC,MAAM,CAAC,KAAK,4CAA4C,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9E,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,wDAAwD,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACzI,CAAC"}
|
|
1
|
+
{"version":3,"file":"reputation.js","sourceRoot":"","sources":["../../src/reputation.ts"],"names":[],"mappings":"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"}
|
package/dist/src/rpc-shapes.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export type TokenHolding = {
|
|
|
14
14
|
mint: Address;
|
|
15
15
|
owner?: Address;
|
|
16
16
|
};
|
|
17
|
+
export type SolTransfer = {
|
|
18
|
+
from: Address;
|
|
19
|
+
to: Address;
|
|
20
|
+
lamports: bigint;
|
|
21
|
+
};
|
|
17
22
|
export type EngineTransaction = {
|
|
18
23
|
signature: string;
|
|
19
24
|
slot: bigint;
|
|
@@ -27,6 +32,7 @@ export type EngineTransaction = {
|
|
|
27
32
|
called?: Uint8Array[];
|
|
28
33
|
calledAccounts?: Address[][];
|
|
29
34
|
tokens?: TokenHolding[];
|
|
35
|
+
transfers?: SolTransfer[];
|
|
30
36
|
unread?: true;
|
|
31
37
|
};
|
|
32
38
|
export type ListedSignature = {
|
|
@@ -46,6 +52,10 @@ export type IntentRead = {
|
|
|
46
52
|
};
|
|
47
53
|
export type LookupTables = Readonly<Record<Address, Address[]>>;
|
|
48
54
|
export type SignatureLanding = "landed" | "failed";
|
|
55
|
+
export type FinalizedBlock = {
|
|
56
|
+
slot: bigint;
|
|
57
|
+
blockhash: string;
|
|
58
|
+
};
|
|
49
59
|
export type Simulation = {
|
|
50
60
|
err: string | null;
|
|
51
61
|
logs: string[];
|
|
@@ -69,6 +79,7 @@ export interface Transport {
|
|
|
69
79
|
transactionOf?(signature: string): Promise<EngineTransaction | null>;
|
|
70
80
|
signatureStatuses?(signatures: readonly string[]): Promise<(SignatureLanding | null)[]>;
|
|
71
81
|
firstAvailableSlot?(): Promise<bigint>;
|
|
82
|
+
finalizedBlock?(from: bigint): Promise<FinalizedBlock | null>;
|
|
72
83
|
recentFees(accounts: readonly Address[]): Promise<bigint[]>;
|
|
73
84
|
budget(instructions: readonly Instruction[], feePayer: Address, tables?: LookupTables): Promise<Instruction[]>;
|
|
74
85
|
airdrop(address: Address, lamports: bigint): Promise<string>;
|
|
@@ -153,6 +164,18 @@ export type RpcLike = {
|
|
|
153
164
|
absoluteSlot: bigint;
|
|
154
165
|
}>;
|
|
155
166
|
getFirstAvailableBlock?(): Pending<bigint>;
|
|
167
|
+
getBlocksWithLimit?(start: bigint, limit: number, config: {
|
|
168
|
+
commitment: "finalized";
|
|
169
|
+
}): Pending<readonly bigint[]>;
|
|
170
|
+
getBlock?(slot: bigint, config: {
|
|
171
|
+
commitment: "finalized";
|
|
172
|
+
encoding: "json";
|
|
173
|
+
transactionDetails: "none";
|
|
174
|
+
rewards: false;
|
|
175
|
+
maxSupportedTransactionVersion: 0;
|
|
176
|
+
}): Pending<{
|
|
177
|
+
blockhash: string;
|
|
178
|
+
} | null>;
|
|
156
179
|
requestAirdrop(address: Address, lamports: bigint): Pending<Signature>;
|
|
157
180
|
getRecentPrioritizationFees(addresses: readonly Address[]): Pending<readonly {
|
|
158
181
|
prioritizationFee: bigint;
|