@intent-engine/core 0.1.22 → 0.1.26

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.
Files changed (54) hide show
  1. package/dist/src/admin-builders.d.ts +49 -0
  2. package/dist/src/admin-builders.js +52 -0
  3. package/dist/src/admin-builders.js.map +1 -0
  4. package/dist/src/bounty.d.ts +3 -1
  5. package/dist/src/bounty.js +6 -2
  6. package/dist/src/bounty.js.map +1 -1
  7. package/dist/src/builder-accounts.d.ts +62 -0
  8. package/dist/src/builder-accounts.js +64 -0
  9. package/dist/src/builder-accounts.js.map +1 -0
  10. package/dist/src/builders.d.ts +5 -213
  11. package/dist/src/builders.js +5 -493
  12. package/dist/src/builders.js.map +1 -1
  13. package/dist/src/describe.d.ts +5 -1
  14. package/dist/src/describe.js +22 -3
  15. package/dist/src/describe.js.map +1 -1
  16. package/dist/src/errors.d.ts +2 -1
  17. package/dist/src/errors.js +39 -0
  18. package/dist/src/errors.js.map +1 -1
  19. package/dist/src/fee.d.ts +1 -0
  20. package/dist/src/fee.js +13 -5
  21. package/dist/src/fee.js.map +1 -1
  22. package/dist/src/fill-builders.d.ts +51 -0
  23. package/dist/src/fill-builders.js +167 -0
  24. package/dist/src/fill-builders.js.map +1 -0
  25. package/dist/src/index.d.ts +2 -0
  26. package/dist/src/index.js +2 -0
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/intent-builders.d.ts +61 -0
  29. package/dist/src/intent-builders.js +152 -0
  30. package/dist/src/intent-builders.js.map +1 -0
  31. package/dist/src/mandate.js +2 -2
  32. package/dist/src/mandate.js.map +1 -1
  33. package/dist/src/manifest.d.ts +5 -0
  34. package/dist/src/manifest.js +43 -0
  35. package/dist/src/manifest.js.map +1 -0
  36. package/dist/src/math.d.ts +1 -0
  37. package/dist/src/math.js +9 -0
  38. package/dist/src/math.js.map +1 -1
  39. package/dist/src/memo.d.ts +24 -0
  40. package/dist/src/memo.js +94 -0
  41. package/dist/src/memo.js.map +1 -0
  42. package/dist/src/owner-builders.d.ts +52 -0
  43. package/dist/src/owner-builders.js +83 -0
  44. package/dist/src/owner-builders.js.map +1 -0
  45. package/dist/src/sig.d.ts +1 -0
  46. package/dist/src/sig.js +4 -0
  47. package/dist/src/sig.js.map +1 -1
  48. package/dist/src/validate.d.ts +2 -0
  49. package/dist/src/validate.js +15 -0
  50. package/dist/src/validate.js.map +1 -1
  51. package/package.json +17 -4
  52. package/dist/generated/client/types/configSettings.d.ts +0 -25
  53. package/dist/generated/client/types/configSettings.js +0 -30
  54. package/dist/generated/client/types/configSettings.js.map +0 -1
@@ -1,3 +1,42 @@
1
+ export const CORE_ERROR_CODES = [
2
+ "Overflow",
3
+ "DivideByZero",
4
+ "Truncated",
5
+ "NonCanonical",
6
+ "UnknownKind",
7
+ "UnknownStatus",
8
+ "InvalidParams",
9
+ "AmountMismatch",
10
+ "InsufficientOutput",
11
+ "InvalidTransition",
12
+ "IntentExpired",
13
+ "NotExpired",
14
+ "NonceUsed",
15
+ "NonceOutOfWindow",
16
+ "NonceRegression",
17
+ "SigProgram",
18
+ "SigHeader",
19
+ "SigPubkey",
20
+ "SigMessage",
21
+ "KindMismatch",
22
+ "ResultOutOfBounds",
23
+ "FlashEndProgram",
24
+ "FlashEndDiscriminator",
25
+ "FlashEndIntent",
26
+ "ExtTooLong",
27
+ "ExtMalformed",
28
+ "ExtUnknown",
29
+ "FlagsUnknown",
30
+ "PartnerFeeTooHigh",
31
+ "MandateInvalid",
32
+ "MandateExpired",
33
+ "MandateKind",
34
+ "MandateTtl",
35
+ "MandateCap",
36
+ "MandateBudget",
37
+ "MandateCount",
38
+ "MandatePrice",
39
+ ];
1
40
  export class IntentCoreError extends Error {
2
41
  code;
3
42
  constructor(code) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AA+BA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAgB;IAE7B,YAAY,IAAmB;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,cAAc;IACd,WAAW;IACX,cAAc;IACd,aAAa;IACb,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;IACf,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,cAAc;IACd,cAAc;CACN,CAAC;AAIX,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAgB;IAE7B,YAAY,IAAmB;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
package/dist/src/fee.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare const BPS_DENOMINATOR = 10000n;
2
+ export declare function checkBps(bps: number, name?: string): bigint;
2
3
  export type FeeSplit = {
3
4
  fee: bigint;
4
5
  net: bigint;
package/dist/src/fee.js CHANGED
@@ -1,17 +1,25 @@
1
1
  import { IntentCoreError } from "./errors.js";
2
- import { mulDivCeil, mulDivFloor, U64_MAX } from "./math.js";
2
+ import { checkU64, mulDivCeil, mulDivFloor, U64_MAX } from "./math.js";
3
3
  export const BPS_DENOMINATOR = 10000n;
4
+ export function checkBps(bps, name = "bps") {
5
+ if (!Number.isInteger(bps) || bps < 0 || bps > Number(BPS_DENOMINATOR)) {
6
+ throw new RangeError(`${name} ${String(bps)} is not between 0 and ${BPS_DENOMINATOR}`);
7
+ }
8
+ return BigInt(bps);
9
+ }
4
10
  export function splitFee(amount, feeBps) {
5
- const fee = mulDivCeil(amount, BigInt(feeBps), BPS_DENOMINATOR);
11
+ checkU64(amount);
12
+ const fee = mulDivCeil(amount, checkBps(feeBps, "fee bps"), BPS_DENOMINATOR);
6
13
  if (fee > amount) {
7
14
  throw new IntentCoreError("InvalidParams");
8
15
  }
9
16
  return { fee, net: amount - fee };
10
17
  }
11
18
  export function splitFees(amount, feeBps, partnerBps, cutBps) {
12
- const fee = mulDivCeil(amount, BigInt(feeBps), BPS_DENOMINATOR);
13
- const gross = mulDivCeil(amount, BigInt(partnerBps), BPS_DENOMINATOR);
14
- const cut = mulDivFloor(gross, BigInt(cutBps), BPS_DENOMINATOR);
19
+ checkU64(amount);
20
+ const fee = mulDivCeil(amount, checkBps(feeBps, "fee bps"), BPS_DENOMINATOR);
21
+ const gross = mulDivCeil(amount, checkBps(partnerBps, "partner bps"), BPS_DENOMINATOR);
22
+ const cut = mulDivFloor(gross, checkBps(cutBps, "partner cut bps"), BPS_DENOMINATOR);
15
23
  if (cut > gross) {
16
24
  throw new IntentCoreError("InvalidParams");
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC;AAIvC,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc;IACrD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACpC,CAAC;AAID,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,UAAkB,EAAE,MAAc;IAC1F,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3B,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../src/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC;AAEvC,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAI,GAAG,KAAK;IAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,yBAAyB,eAAe,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc;IACrD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;IAC7E,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACpC,CAAC;AAID,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,UAAkB,EAAE,MAAc;IAC1F,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;IACvF,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,eAAe,CAAC,CAAC;IACrF,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3B,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AACvE,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { Address, Instruction, TransactionSigner } from "@solana/kit";
2
+ export type FillIntentSpec = {
3
+ solver: TransactionSigner;
4
+ owner: Address;
5
+ nonce: bigint;
6
+ inputMint: Address;
7
+ outputMint: Address;
8
+ inputTokenProgram: Address;
9
+ outputTokenProgram: Address;
10
+ receiver: Address;
11
+ solverOutput: Address;
12
+ solverInput: Address;
13
+ feeRecipient?: Address;
14
+ partner?: Address;
15
+ mandate?: Address;
16
+ agent?: Address;
17
+ amountIn: bigint;
18
+ amountOut: bigint;
19
+ maxFeeBps: number;
20
+ ext?: Uint8Array;
21
+ };
22
+ export declare function buildFillIntent(input: FillIntentSpec): Promise<import("../generated/client/index.js").FillIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
23
+ export type FillAttestedSpec = {
24
+ solver: TransactionSigner;
25
+ owner: Address;
26
+ nonce: bigint;
27
+ inputMint: Address;
28
+ inputTokenProgram: Address;
29
+ payee: Address;
30
+ feeRecipient?: Address;
31
+ partner?: Address;
32
+ judge?: Address;
33
+ amountIn: bigint;
34
+ result: bigint;
35
+ maxFeeBps: number;
36
+ ext?: Uint8Array;
37
+ };
38
+ export declare function buildFillAttested(input: FillAttestedSpec): Promise<import("../generated/client/index.js").FillAttestedInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, "Sysvar1nstructions1111111111111111111111111", string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
39
+ export type FillAttestedSplitSpec = Omit<FillAttestedSpec, "payee"> & {
40
+ recipients: Address[];
41
+ weights: number[];
42
+ };
43
+ export declare function buildFillAttestedSplit(input: FillAttestedSplitSpec): Promise<import("../generated/client/index.js").FillAttestedSplitInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "Sysvar1nstructions1111111111111111111111111", string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
44
+ export type FlashFillSpec = Omit<FillIntentSpec, "ext"> & {
45
+ beginExt?: Uint8Array;
46
+ endExt?: Uint8Array;
47
+ baseIndex?: number;
48
+ prefix?: Instruction[];
49
+ route?: Instruction[];
50
+ };
51
+ export declare function buildFlashFill(input: FlashFillSpec): Promise<Instruction[]>;
@@ -0,0 +1,167 @@
1
+ import { getBeginFillInstructionAsync, getEndFillInstruction, getFillAttestedInstructionAsync, getFillAttestedSplitInstructionAsync, getFillIntentInstructionAsync, } from "../generated/client/index.js";
2
+ import { agentAccount, events, fillExt, INSTRUCTIONS_SYSVAR_ADDRESS, intentOf, mandateAccounts, partnerAccount, } from "./builder-accounts.js";
3
+ import { MAX_SPLIT_RECIPIENTS } from "./bounty.js";
4
+ import { findAssociatedTokenAddress } from "./pdas.js";
5
+ export async function buildFillIntent(input) {
6
+ const feeTo = input.feeRecipient === undefined
7
+ ? undefined
8
+ : await findAssociatedTokenAddress({
9
+ owner: input.feeRecipient,
10
+ mint: input.inputMint,
11
+ tokenProgram: input.inputTokenProgram,
12
+ });
13
+ return getFillIntentInstructionAsync({
14
+ solver: input.solver,
15
+ intent: await intentOf(input.owner, input.nonce),
16
+ inputMint: input.inputMint,
17
+ outputMint: input.outputMint,
18
+ receiver: input.receiver,
19
+ solverOutput: input.solverOutput,
20
+ solverInput: input.solverInput,
21
+ ...(feeTo === undefined ? {} : { feeTo }),
22
+ ...(await partnerAccount(input)),
23
+ inputTokenProgram: input.inputTokenProgram,
24
+ outputTokenProgram: input.outputTokenProgram,
25
+ ...(await mandateAccounts(input)),
26
+ ...(await agentAccount(input)),
27
+ amountIn: input.amountIn,
28
+ amountOut: input.amountOut,
29
+ maxFeeBps: input.maxFeeBps,
30
+ ext: fillExt(input.ext),
31
+ ...(await events()),
32
+ });
33
+ }
34
+ export async function buildFillAttested(input) {
35
+ const feeTo = input.feeRecipient === undefined
36
+ ? undefined
37
+ : await findAssociatedTokenAddress({
38
+ owner: input.feeRecipient,
39
+ mint: input.inputMint,
40
+ tokenProgram: input.inputTokenProgram,
41
+ });
42
+ const judgeTo = input.judge === undefined
43
+ ? undefined
44
+ : await findAssociatedTokenAddress({
45
+ owner: input.judge,
46
+ mint: input.inputMint,
47
+ tokenProgram: input.inputTokenProgram,
48
+ });
49
+ return getFillAttestedInstructionAsync({
50
+ solver: input.solver,
51
+ intent: await intentOf(input.owner, input.nonce),
52
+ inputMint: input.inputMint,
53
+ payee: input.payee,
54
+ ...(feeTo === undefined ? {} : { feeTo }),
55
+ ...(await partnerAccount(input)),
56
+ ...(judgeTo === undefined ? {} : { judgeTo }),
57
+ inputTokenProgram: input.inputTokenProgram,
58
+ instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
59
+ amountIn: input.amountIn,
60
+ result: input.result,
61
+ maxFeeBps: input.maxFeeBps,
62
+ ext: fillExt(input.ext),
63
+ ...(await events()),
64
+ });
65
+ }
66
+ export async function buildFillAttestedSplit(input) {
67
+ if (input.recipients.length < 1 || input.recipients.length > MAX_SPLIT_RECIPIENTS) {
68
+ throw new Error(`split needs 1..=${MAX_SPLIT_RECIPIENTS} recipients, got ${input.recipients.length}`);
69
+ }
70
+ if (input.weights.length !== input.recipients.length) {
71
+ throw new Error(`split needs one weight per recipient, got ${input.weights.length} for ${input.recipients.length}`);
72
+ }
73
+ const feeTo = input.feeRecipient === undefined
74
+ ? undefined
75
+ : await findAssociatedTokenAddress({
76
+ owner: input.feeRecipient,
77
+ mint: input.inputMint,
78
+ tokenProgram: input.inputTokenProgram,
79
+ });
80
+ const judgeTo = input.judge === undefined
81
+ ? undefined
82
+ : await findAssociatedTokenAddress({
83
+ owner: input.judge,
84
+ mint: input.inputMint,
85
+ tokenProgram: input.inputTokenProgram,
86
+ });
87
+ const slots = await Promise.all(input.recipients.map((owner) => findAssociatedTokenAddress({
88
+ owner,
89
+ mint: input.inputMint,
90
+ tokenProgram: input.inputTokenProgram,
91
+ })));
92
+ return getFillAttestedSplitInstructionAsync({
93
+ solver: input.solver,
94
+ intent: await intentOf(input.owner, input.nonce),
95
+ inputMint: input.inputMint,
96
+ ...(feeTo === undefined ? {} : { feeTo }),
97
+ ...(await partnerAccount(input)),
98
+ ...(judgeTo === undefined ? {} : { judgeTo }),
99
+ ...(slots[0] === undefined ? {} : { recipient0: slots[0] }),
100
+ ...(slots[1] === undefined ? {} : { recipient1: slots[1] }),
101
+ ...(slots[2] === undefined ? {} : { recipient2: slots[2] }),
102
+ ...(slots[3] === undefined ? {} : { recipient3: slots[3] }),
103
+ ...(slots[4] === undefined ? {} : { recipient4: slots[4] }),
104
+ ...(slots[5] === undefined ? {} : { recipient5: slots[5] }),
105
+ ...(slots[6] === undefined ? {} : { recipient6: slots[6] }),
106
+ ...(slots[7] === undefined ? {} : { recipient7: slots[7] }),
107
+ inputTokenProgram: input.inputTokenProgram,
108
+ instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
109
+ amountIn: input.amountIn,
110
+ result: input.result,
111
+ maxFeeBps: input.maxFeeBps,
112
+ recipients: input.recipients,
113
+ weights: input.weights,
114
+ ext: fillExt(input.ext),
115
+ ...(await events()),
116
+ });
117
+ }
118
+ export async function buildFlashFill(input) {
119
+ const baseIndex = input.baseIndex ?? 0;
120
+ if (!Number.isInteger(baseIndex) || baseIndex < 0) {
121
+ throw new RangeError(`baseIndex must be a non-negative integer, got ${baseIndex}`);
122
+ }
123
+ const prefix = input.prefix ?? [];
124
+ const route = input.route ?? [];
125
+ const endIndex = baseIndex + prefix.length + 1 + route.length;
126
+ if (endIndex > 0xffff) {
127
+ throw new RangeError(`a flash fill cannot end at instruction ${endIndex}`);
128
+ }
129
+ const intent = await intentOf(input.owner, input.nonce);
130
+ const feeTo = input.feeRecipient === undefined
131
+ ? undefined
132
+ : await findAssociatedTokenAddress({
133
+ owner: input.feeRecipient,
134
+ mint: input.inputMint,
135
+ tokenProgram: input.inputTokenProgram,
136
+ });
137
+ const begin = await getBeginFillInstructionAsync({
138
+ solver: input.solver,
139
+ intent,
140
+ inputMint: input.inputMint,
141
+ solverInput: input.solverInput,
142
+ ...(feeTo === undefined ? {} : { feeTo }),
143
+ ...(await partnerAccount(input)),
144
+ inputTokenProgram: input.inputTokenProgram,
145
+ instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
146
+ ...(await mandateAccounts(input)),
147
+ ...(await agentAccount(input)),
148
+ amountIn: input.amountIn,
149
+ endIndex,
150
+ maxFeeBps: input.maxFeeBps,
151
+ ext: fillExt(input.beginExt),
152
+ ...(await events()),
153
+ });
154
+ const end = getEndFillInstruction({
155
+ intent,
156
+ solver: input.solver,
157
+ outputMint: input.outputMint,
158
+ receiver: input.receiver,
159
+ solverOutput: input.solverOutput,
160
+ outputTokenProgram: input.outputTokenProgram,
161
+ amountOut: input.amountOut,
162
+ ext: fillExt(input.endExt),
163
+ ...(await events()),
164
+ });
165
+ return [...prefix, begin, ...route, end];
166
+ }
167
+ //# sourceMappingURL=fill-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fill-builders.js","sourceRoot":"","sources":["../../src/fill-builders.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,9 @@ export * from "./ext.js";
10
10
  export * from "./fee.js";
11
11
  export * from "./kinds.js";
12
12
  export * from "./mandate.js";
13
+ export * from "./manifest.js";
13
14
  export * from "./math.js";
15
+ export * from "./memo.js";
14
16
  export * from "./mints.js";
15
17
  export * from "./pdas.js";
16
18
  export * from "./sig.js";
package/dist/src/index.js CHANGED
@@ -10,7 +10,9 @@ export * from "./ext.js";
10
10
  export * from "./fee.js";
11
11
  export * from "./kinds.js";
12
12
  export * from "./mandate.js";
13
+ export * from "./manifest.js";
13
14
  export * from "./math.js";
15
+ export * from "./memo.js";
14
16
  export * from "./mints.js";
15
17
  export * from "./pdas.js";
16
18
  export * from "./sig.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { Address, TransactionSigner } from "@solana/kit";
2
+ import type { Partner } from "./ext.js";
3
+ import type { IntentParams } from "./kinds.js";
4
+ export type CreateIntentSpec = {
5
+ owner: TransactionSigner;
6
+ treasury: Address;
7
+ maxCreateFee: number;
8
+ maxBounty: number;
9
+ nonce: bigint;
10
+ params: IntentParams;
11
+ expiresAt: bigint;
12
+ flags?: number;
13
+ ext?: Uint8Array;
14
+ partner?: Partner;
15
+ inputMint: Address;
16
+ outputMint: Address;
17
+ inputTokenProgram: Address;
18
+ outputTokenProgram: Address;
19
+ ownerInput?: Address;
20
+ receiver?: Address;
21
+ receiverAuthority?: Address;
22
+ };
23
+ export declare function buildCreateIntent(input: CreateIntentSpec): Promise<import("../generated/client/index.js").CreateIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
24
+ type IntentRef = {
25
+ owner: Address;
26
+ nonce: bigint;
27
+ inputMint: Address;
28
+ tokenProgram: Address;
29
+ };
30
+ export declare function buildCancelIntent(input: Omit<IntentRef, "owner"> & {
31
+ owner: TransactionSigner;
32
+ refundTo?: Address;
33
+ ext?: Uint8Array;
34
+ }): Promise<import("../generated/client/index.js").CancelIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
35
+ export declare function buildExpireIntent(input: IntentRef & {
36
+ cranker: TransactionSigner;
37
+ refundTo?: Address;
38
+ ext?: Uint8Array;
39
+ }): Promise<import("../generated/client/index.js").ExpireIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
40
+ export declare function buildCloseIntent(input: IntentRef & {
41
+ cranker: TransactionSigner;
42
+ rentPayer?: Address;
43
+ refundTo?: Address;
44
+ ext?: Uint8Array;
45
+ }): Promise<import("../generated/client/index.js").CloseIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
46
+ export type CreateIntentSignedSpec = Omit<CreateIntentSpec, "owner"> & {
47
+ payer: TransactionSigner;
48
+ owner: Address;
49
+ submitBy: bigint;
50
+ relayerFee?: bigint;
51
+ relayerFeeAccount?: Address;
52
+ };
53
+ export declare function buildCreateIntentSigned(input: CreateIntentSignedSpec): Promise<import("../generated/client/index.js").CreateIntentSignedInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "Sysvar1nstructions1111111111111111111111111", string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
54
+ export type CreateIntentByAgentSpec = Omit<CreateIntentSpec, "owner" | "treasury" | "receiverAuthority"> & {
55
+ agent: TransactionSigner;
56
+ owner: Address;
57
+ mandateId: bigint;
58
+ treasury: Address;
59
+ };
60
+ export declare function buildCreateIntentByAgent(input: CreateIntentByAgentSpec): Promise<import("../generated/client/index.js").CreateIntentByAgentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
61
+ export {};
@@ -0,0 +1,152 @@
1
+ import { findDelegatePda, getCancelIntentInstructionAsync, getCloseIntentInstructionAsync, getCreateIntentInstructionAsync, getCreateIntentByAgentInstructionAsync, getCreateIntentSignedInstructionAsync, getExpireIntentInstructionAsync, } from "../generated/client/index.js";
2
+ import { createArgs, events, INSTRUCTIONS_SYSVAR_ADDRESS, intentOf, settleExt } from "./builder-accounts.js";
3
+ import { findAssociatedTokenAddress, findMandatePda } from "./pdas.js";
4
+ export async function buildCreateIntent(input) {
5
+ const owner = input.owner.address;
6
+ const args = createArgs(input);
7
+ const ownerInput = input.ownerInput ??
8
+ (await findAssociatedTokenAddress({
9
+ owner,
10
+ mint: input.inputMint,
11
+ tokenProgram: input.inputTokenProgram,
12
+ }));
13
+ const receiver = input.receiver ??
14
+ (await findAssociatedTokenAddress({
15
+ owner,
16
+ mint: input.outputMint,
17
+ tokenProgram: input.outputTokenProgram,
18
+ }));
19
+ return getCreateIntentInstructionAsync({
20
+ owner: input.owner,
21
+ intent: await intentOf(owner, input.nonce),
22
+ inputMint: input.inputMint,
23
+ outputMint: input.outputMint,
24
+ ownerInput,
25
+ receiver,
26
+ receiverAuthority: input.receiverAuthority ?? owner,
27
+ treasury: input.treasury,
28
+ inputTokenProgram: input.inputTokenProgram,
29
+ outputTokenProgram: input.outputTokenProgram,
30
+ args,
31
+ ...(await events()),
32
+ });
33
+ }
34
+ async function canonicalRefund(ref) {
35
+ return findAssociatedTokenAddress({
36
+ owner: ref.owner,
37
+ mint: ref.inputMint,
38
+ tokenProgram: ref.tokenProgram,
39
+ });
40
+ }
41
+ export async function buildCancelIntent(input) {
42
+ const ref = { ...input, owner: input.owner.address };
43
+ const ext = settleExt(input.ext);
44
+ return getCancelIntentInstructionAsync({
45
+ owner: input.owner,
46
+ intent: await intentOf(ref.owner, input.nonce),
47
+ inputMint: input.inputMint,
48
+ refundTo: input.refundTo ?? (await canonicalRefund(ref)),
49
+ tokenProgram: input.tokenProgram,
50
+ ext,
51
+ ...(await events()),
52
+ });
53
+ }
54
+ export async function buildExpireIntent(input) {
55
+ const ext = settleExt(input.ext);
56
+ return getExpireIntentInstructionAsync({
57
+ cranker: input.cranker,
58
+ intent: await intentOf(input.owner, input.nonce),
59
+ inputMint: input.inputMint,
60
+ refundTo: input.refundTo ?? (await canonicalRefund(input)),
61
+ canonicalRefund: await canonicalRefund(input),
62
+ tokenProgram: input.tokenProgram,
63
+ ext,
64
+ ...(await events()),
65
+ });
66
+ }
67
+ export async function buildCloseIntent(input) {
68
+ const ext = settleExt(input.ext);
69
+ return getCloseIntentInstructionAsync({
70
+ cranker: input.cranker,
71
+ intent: await intentOf(input.owner, input.nonce),
72
+ inputMint: input.inputMint,
73
+ refundTo: input.refundTo ?? (await canonicalRefund(input)),
74
+ canonicalRefund: await canonicalRefund(input),
75
+ owner: input.owner,
76
+ rentPayer: input.rentPayer ?? input.owner,
77
+ tokenProgram: input.tokenProgram,
78
+ ext,
79
+ ...(await events()),
80
+ });
81
+ }
82
+ async function feeAccount(name, fee, account, owner, input) {
83
+ if (fee === 0n) {
84
+ return {};
85
+ }
86
+ const address = account ?? (await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
87
+ return { [name]: address };
88
+ }
89
+ export async function buildCreateIntentSigned(input) {
90
+ const owner = input.owner;
91
+ const relayerFee = input.relayerFee ?? 0n;
92
+ const args = createArgs(input);
93
+ const ownerInput = input.ownerInput ??
94
+ (await findAssociatedTokenAddress({
95
+ owner,
96
+ mint: input.inputMint,
97
+ tokenProgram: input.inputTokenProgram,
98
+ }));
99
+ const receiver = input.receiver ??
100
+ (await findAssociatedTokenAddress({
101
+ owner,
102
+ mint: input.outputMint,
103
+ tokenProgram: input.outputTokenProgram,
104
+ }));
105
+ return getCreateIntentSignedInstructionAsync({
106
+ payer: input.payer,
107
+ owner,
108
+ intent: await intentOf(owner, input.nonce),
109
+ inputMint: input.inputMint,
110
+ outputMint: input.outputMint,
111
+ ownerInput,
112
+ receiver,
113
+ receiverAuthority: input.receiverAuthority ?? owner,
114
+ delegate: (await findDelegatePda({ owner }))[0],
115
+ treasury: input.treasury,
116
+ inputTokenProgram: input.inputTokenProgram,
117
+ outputTokenProgram: input.outputTokenProgram,
118
+ instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
119
+ ...(await feeAccount("relayerFeeTo", relayerFee, input.relayerFeeAccount, input.payer.address, input)),
120
+ args,
121
+ submitBy: input.submitBy,
122
+ relayerFee,
123
+ ...(await events()),
124
+ });
125
+ }
126
+ export async function buildCreateIntentByAgent(input) {
127
+ const owner = input.owner;
128
+ const args = createArgs(input);
129
+ const ownerInput = input.ownerInput ??
130
+ (await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
131
+ const receiver = input.receiver ??
132
+ (await findAssociatedTokenAddress({ owner, mint: input.outputMint, tokenProgram: input.outputTokenProgram }));
133
+ const [mandate] = await findMandatePda({ owner, agent: input.agent.address, id: input.mandateId });
134
+ return getCreateIntentByAgentInstructionAsync({
135
+ agent: input.agent,
136
+ owner,
137
+ mandate,
138
+ intent: await intentOf(owner, input.nonce),
139
+ inputMint: input.inputMint,
140
+ outputMint: input.outputMint,
141
+ ownerInput,
142
+ receiver,
143
+ receiverAuthority: owner,
144
+ delegate: (await findDelegatePda({ owner }))[0],
145
+ treasury: input.treasury,
146
+ inputTokenProgram: input.inputTokenProgram,
147
+ outputTokenProgram: input.outputTokenProgram,
148
+ args,
149
+ ...(await events()),
150
+ });
151
+ }
152
+ //# sourceMappingURL=intent-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-builders.js","sourceRoot":"","sources":["../../src/intent-builders.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { formatAmount, formatTime, tokenOf } from "./describe.js";
1
+ import { formatAmount, formatTime, partnerFeeLine, tokenOf } from "./describe.js";
2
2
  import { encodePartner } from "./ext.js";
3
3
  import { Kind, kindBit } from "./kinds.js";
4
4
  export const MANDATE_KINDS = Number(kindBit(Kind.SwapExactIn) | kindBit(Kind.LimitOrder) | kindBit(Kind.DutchAuction));
@@ -68,7 +68,7 @@ export function describeMandate(spec, o) {
68
68
  `Price floor: at least ${formatAmount(spec.floorOut, o.outputDecimals)} of ${tokenOf(o.outputMint, o.outputName)} for every ${sell(spec.floorIn)}`,
69
69
  `Each intent expires within ${spec.maxTtl} seconds of its creation`,
70
70
  `Valid until: ${formatTime(spec.validUntil)}`,
71
- ...(spec.partner === undefined ? [] : [`Partner fee: ${spec.partner.bps} bps of the sold amount to ${spec.partner.key}`]),
71
+ ...(spec.partner === undefined ? [] : [partnerFeeLine(spec.partner.bps, spec.partner.key)]),
72
72
  ...(agentFee === 0n
73
73
  ? []
74
74
  : [
@@ -1 +1 @@
1
- {"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type ManifestEntry = {
2
+ path: string;
3
+ bytes: Uint8Array;
4
+ };
5
+ export declare function manifestSha256(entries: readonly ManifestEntry[]): Promise<string>;