@intent-engine/core 0.1.23 → 0.1.27

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 (208) hide show
  1. package/dist/generated/client/accounts/claimBoard.d.ts +50 -0
  2. package/dist/generated/client/accounts/claimBoard.js +77 -0
  3. package/dist/generated/client/accounts/claimBoard.js.map +1 -0
  4. package/dist/generated/client/accounts/committee.d.ts +48 -0
  5. package/dist/generated/client/accounts/committee.js +75 -0
  6. package/dist/generated/client/accounts/committee.js.map +1 -0
  7. package/dist/generated/client/accounts/config.d.ts +2 -0
  8. package/dist/generated/client/accounts/config.js +4 -2
  9. package/dist/generated/client/accounts/config.js.map +1 -1
  10. package/dist/generated/client/accounts/index.d.ts +4 -0
  11. package/dist/generated/client/accounts/index.js +4 -0
  12. package/dist/generated/client/accounts/index.js.map +1 -1
  13. package/dist/generated/client/accounts/intent.d.ts +2 -0
  14. package/dist/generated/client/accounts/intent.js +4 -2
  15. package/dist/generated/client/accounts/intent.js.map +1 -1
  16. package/dist/generated/client/accounts/mintCap.d.ts +48 -0
  17. package/dist/generated/client/accounts/mintCap.js +75 -0
  18. package/dist/generated/client/accounts/mintCap.js.map +1 -0
  19. package/dist/generated/client/accounts/profile.d.ts +48 -0
  20. package/dist/generated/client/accounts/profile.js +81 -0
  21. package/dist/generated/client/accounts/profile.js.map +1 -0
  22. package/dist/generated/client/errors/intentEngine.d.ts +31 -1
  23. package/dist/generated/client/errors/intentEngine.js +45 -0
  24. package/dist/generated/client/errors/intentEngine.js.map +1 -1
  25. package/dist/generated/client/events/capsRequiredSet.d.ts +22 -0
  26. package/dist/generated/client/events/capsRequiredSet.js +32 -0
  27. package/dist/generated/client/events/capsRequiredSet.js.map +1 -0
  28. package/dist/generated/client/events/claimDropped.d.ts +28 -0
  29. package/dist/generated/client/events/claimDropped.js +40 -0
  30. package/dist/generated/client/events/claimDropped.js.map +1 -0
  31. package/dist/generated/client/events/claimsClosed.d.ts +23 -0
  32. package/dist/generated/client/events/claimsClosed.js +38 -0
  33. package/dist/generated/client/events/claimsClosed.js.map +1 -0
  34. package/dist/generated/client/events/claimsOpened.d.ts +30 -0
  35. package/dist/generated/client/events/claimsOpened.js +42 -0
  36. package/dist/generated/client/events/claimsOpened.js.map +1 -0
  37. package/dist/generated/client/events/committeeAttested.d.ts +24 -0
  38. package/dist/generated/client/events/committeeAttested.js +40 -0
  39. package/dist/generated/client/events/committeeAttested.js.map +1 -0
  40. package/dist/generated/client/events/committeeCreated.d.ts +25 -0
  41. package/dist/generated/client/events/committeeCreated.js +42 -0
  42. package/dist/generated/client/events/committeeCreated.js.map +1 -0
  43. package/dist/generated/client/events/index.d.ts +11 -0
  44. package/dist/generated/client/events/index.js +11 -0
  45. package/dist/generated/client/events/index.js.map +1 -1
  46. package/dist/generated/client/events/jobClaimed.d.ts +30 -0
  47. package/dist/generated/client/events/jobClaimed.js +42 -0
  48. package/dist/generated/client/events/jobClaimed.js.map +1 -0
  49. package/dist/generated/client/events/mintCapSet.d.ts +36 -0
  50. package/dist/generated/client/events/mintCapSet.js +48 -0
  51. package/dist/generated/client/events/mintCapSet.js.map +1 -0
  52. package/dist/generated/client/events/profileClosed.d.ts +22 -0
  53. package/dist/generated/client/events/profileClosed.js +32 -0
  54. package/dist/generated/client/events/profileClosed.js.map +1 -0
  55. package/dist/generated/client/events/profileSet.d.ts +26 -0
  56. package/dist/generated/client/events/profileSet.js +50 -0
  57. package/dist/generated/client/events/profileSet.js.map +1 -0
  58. package/dist/generated/client/events/stakeMoved.d.ts +32 -0
  59. package/dist/generated/client/events/stakeMoved.js +44 -0
  60. package/dist/generated/client/events/stakeMoved.js.map +1 -0
  61. package/dist/generated/client/instructions/claimJob.d.ts +72 -0
  62. package/dist/generated/client/instructions/claimJob.js +163 -0
  63. package/dist/generated/client/instructions/claimJob.js.map +1 -0
  64. package/dist/generated/client/instructions/closeProfile.d.ts +55 -0
  65. package/dist/generated/client/instructions/closeProfile.js +131 -0
  66. package/dist/generated/client/instructions/closeProfile.js.map +1 -0
  67. package/dist/generated/client/instructions/createCommittee.d.ts +76 -0
  68. package/dist/generated/client/instructions/createCommittee.js +163 -0
  69. package/dist/generated/client/instructions/createCommittee.js.map +1 -0
  70. package/dist/generated/client/instructions/createIntent.d.ts +13 -9
  71. package/dist/generated/client/instructions/createIntent.js +21 -2
  72. package/dist/generated/client/instructions/createIntent.js.map +1 -1
  73. package/dist/generated/client/instructions/createIntentByAgent.d.ts +13 -9
  74. package/dist/generated/client/instructions/createIntentByAgent.js +21 -2
  75. package/dist/generated/client/instructions/createIntentByAgent.js.map +1 -1
  76. package/dist/generated/client/instructions/createIntentSigned.d.ts +13 -9
  77. package/dist/generated/client/instructions/createIntentSigned.js +15 -2
  78. package/dist/generated/client/instructions/createIntentSigned.js.map +1 -1
  79. package/dist/generated/client/instructions/createProfile.d.ts +65 -0
  80. package/dist/generated/client/instructions/createProfile.js +162 -0
  81. package/dist/generated/client/instructions/createProfile.js.map +1 -0
  82. package/dist/generated/client/instructions/dropClaim.d.ts +59 -0
  83. package/dist/generated/client/instructions/dropClaim.js +128 -0
  84. package/dist/generated/client/instructions/dropClaim.js.map +1 -0
  85. package/dist/generated/client/instructions/fillAttested.d.ts +17 -9
  86. package/dist/generated/client/instructions/fillAttested.js +20 -2
  87. package/dist/generated/client/instructions/fillAttested.js.map +1 -1
  88. package/dist/generated/client/instructions/fillAttestedCommittee.d.ts +124 -0
  89. package/dist/generated/client/instructions/fillAttestedCommittee.js +271 -0
  90. package/dist/generated/client/instructions/fillAttestedCommittee.js.map +1 -0
  91. package/dist/generated/client/instructions/fillAttestedSplit.d.ts +22 -17
  92. package/dist/generated/client/instructions/fillAttestedSplit.js +24 -7
  93. package/dist/generated/client/instructions/fillAttestedSplit.js.map +1 -1
  94. package/dist/generated/client/instructions/fillAttestedSplitCommittee.d.ts +157 -0
  95. package/dist/generated/client/instructions/fillAttestedSplitCommittee.js +373 -0
  96. package/dist/generated/client/instructions/fillAttestedSplitCommittee.js.map +1 -0
  97. package/dist/generated/client/instructions/index.d.ts +12 -0
  98. package/dist/generated/client/instructions/index.js +12 -0
  99. package/dist/generated/client/instructions/index.js.map +1 -1
  100. package/dist/generated/client/instructions/openClaims.d.ts +72 -0
  101. package/dist/generated/client/instructions/openClaims.js +160 -0
  102. package/dist/generated/client/instructions/openClaims.js.map +1 -0
  103. package/dist/generated/client/instructions/setCapsRequired.d.ts +50 -0
  104. package/dist/generated/client/instructions/setCapsRequired.js +93 -0
  105. package/dist/generated/client/instructions/setCapsRequired.js.map +1 -0
  106. package/dist/generated/client/instructions/setMintCap.d.ts +84 -0
  107. package/dist/generated/client/instructions/setMintCap.js +188 -0
  108. package/dist/generated/client/instructions/setMintCap.js.map +1 -0
  109. package/dist/generated/client/instructions/settleClaims.d.ts +63 -0
  110. package/dist/generated/client/instructions/settleClaims.js +139 -0
  111. package/dist/generated/client/instructions/settleClaims.js.map +1 -0
  112. package/dist/generated/client/instructions/updateProfile.d.ts +61 -0
  113. package/dist/generated/client/instructions/updateProfile.js +140 -0
  114. package/dist/generated/client/instructions/updateProfile.js.map +1 -0
  115. package/dist/generated/client/pdas/board.d.ts +14 -0
  116. package/dist/generated/client/pdas/board.js +19 -0
  117. package/dist/generated/client/pdas/board.js.map +1 -0
  118. package/dist/generated/client/pdas/committee.d.ts +14 -0
  119. package/dist/generated/client/pdas/committee.js +19 -0
  120. package/dist/generated/client/pdas/committee.js.map +1 -0
  121. package/dist/generated/client/pdas/index.d.ts +4 -0
  122. package/dist/generated/client/pdas/index.js +4 -0
  123. package/dist/generated/client/pdas/index.js.map +1 -1
  124. package/dist/generated/client/pdas/mintCap.d.ts +14 -0
  125. package/dist/generated/client/pdas/mintCap.js +19 -0
  126. package/dist/generated/client/pdas/mintCap.js.map +1 -0
  127. package/dist/generated/client/pdas/profile.d.ts +14 -0
  128. package/dist/generated/client/pdas/profile.js +19 -0
  129. package/dist/generated/client/pdas/profile.js.map +1 -0
  130. package/dist/generated/client/programs/intentEngine.d.ts +190 -92
  131. package/dist/generated/client/programs/intentEngine.js +336 -91
  132. package/dist/generated/client/programs/intentEngine.js.map +1 -1
  133. package/dist/generated/client/types/index.d.ts +2 -0
  134. package/dist/generated/client/types/index.js +2 -0
  135. package/dist/generated/client/types/index.js.map +1 -1
  136. package/dist/generated/client/types/profileFields.d.ts +18 -0
  137. package/dist/generated/client/types/profileFields.js +34 -0
  138. package/dist/generated/client/types/profileFields.js.map +1 -0
  139. package/dist/generated/client/types/splitClaim.d.ts +16 -0
  140. package/dist/generated/client/types/splitClaim.js +24 -0
  141. package/dist/generated/client/types/splitClaim.js.map +1 -0
  142. package/dist/src/admin-builders.d.ts +49 -0
  143. package/dist/src/admin-builders.js +52 -0
  144. package/dist/src/admin-builders.js.map +1 -0
  145. package/dist/src/bounty.d.ts +3 -1
  146. package/dist/src/bounty.js +6 -2
  147. package/dist/src/bounty.js.map +1 -1
  148. package/dist/src/builder-accounts.d.ts +62 -0
  149. package/dist/src/builder-accounts.js +64 -0
  150. package/dist/src/builder-accounts.js.map +1 -0
  151. package/dist/src/builders.d.ts +5 -213
  152. package/dist/src/builders.js +5 -493
  153. package/dist/src/builders.js.map +1 -1
  154. package/dist/src/claims.d.ts +47 -0
  155. package/dist/src/claims.js +69 -0
  156. package/dist/src/claims.js.map +1 -0
  157. package/dist/src/committee.d.ts +40 -0
  158. package/dist/src/committee.js +145 -0
  159. package/dist/src/committee.js.map +1 -0
  160. package/dist/src/describe.d.ts +6 -1
  161. package/dist/src/describe.js +25 -3
  162. package/dist/src/describe.js.map +1 -1
  163. package/dist/src/errors.d.ts +2 -1
  164. package/dist/src/errors.js +44 -0
  165. package/dist/src/errors.js.map +1 -1
  166. package/dist/src/events.d.ts +12 -1
  167. package/dist/src/events.js +15 -1
  168. package/dist/src/events.js.map +1 -1
  169. package/dist/src/fee.d.ts +1 -0
  170. package/dist/src/fee.js +13 -5
  171. package/dist/src/fee.js.map +1 -1
  172. package/dist/src/fill-builders.d.ts +63 -0
  173. package/dist/src/fill-builders.js +151 -0
  174. package/dist/src/fill-builders.js.map +1 -0
  175. package/dist/src/index.d.ts +3 -0
  176. package/dist/src/index.js +3 -0
  177. package/dist/src/index.js.map +1 -1
  178. package/dist/src/intent-builders.d.ts +65 -0
  179. package/dist/src/intent-builders.js +159 -0
  180. package/dist/src/intent-builders.js.map +1 -0
  181. package/dist/src/mandate.js +2 -2
  182. package/dist/src/mandate.js.map +1 -1
  183. package/dist/src/math.d.ts +1 -0
  184. package/dist/src/math.js +9 -0
  185. package/dist/src/math.js.map +1 -1
  186. package/dist/src/memo.d.ts +11 -1
  187. package/dist/src/memo.js +40 -4
  188. package/dist/src/memo.js.map +1 -1
  189. package/dist/src/mint-caps.d.ts +31 -0
  190. package/dist/src/mint-caps.js +73 -0
  191. package/dist/src/mint-caps.js.map +1 -0
  192. package/dist/src/owner-builders.d.ts +52 -0
  193. package/dist/src/owner-builders.js +83 -0
  194. package/dist/src/owner-builders.js.map +1 -0
  195. package/dist/src/sig.d.ts +1 -0
  196. package/dist/src/sig.js +4 -0
  197. package/dist/src/sig.js.map +1 -1
  198. package/dist/src/state.d.ts +3 -0
  199. package/dist/src/state.js +5 -0
  200. package/dist/src/state.js.map +1 -1
  201. package/dist/src/validate.d.ts +2 -0
  202. package/dist/src/validate.js +15 -0
  203. package/dist/src/validate.js.map +1 -1
  204. package/generated/idl.json +1990 -63
  205. package/package.json +19 -6
  206. package/dist/generated/client/types/configSettings.d.ts +0 -25
  207. package/dist/generated/client/types/configSettings.js +0 -30
  208. package/dist/generated/client/types/configSettings.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { type Address, type Instruction, type KeyPairSigner, type TransactionSigner } from "@solana/kit";
2
+ import { type AttestedProofFields } from "./sig.js";
3
+ export declare const MAX_COMMITTEE_MEMBERS = 8;
4
+ export declare const MAX_COMMITTEE_THRESHOLD = 3;
5
+ export declare const COMMITTEE_TAG: NodeJS.NonSharedUint8Array;
6
+ export declare const COMMITTEE_COSIGN_TAG: NodeJS.NonSharedUint8Array;
7
+ export declare const COMMITTEE_PREIMAGE_LEN: number;
8
+ export type CommitteeTerms = {
9
+ members: readonly Address[];
10
+ threshold: number;
11
+ feeWallet: Address;
12
+ };
13
+ export type ResolvedCommittee = CommitteeTerms & {
14
+ id: Uint8Array;
15
+ address: Address;
16
+ };
17
+ export declare function sortMembers(members: readonly Address[]): Address[];
18
+ export declare function checkCommittee(terms: CommitteeTerms): CommitteeTerms;
19
+ export declare function committeePreimage(terms: CommitteeTerms): Uint8Array;
20
+ export declare function committeeOf(terms: CommitteeTerms): Promise<ResolvedCommittee>;
21
+ export declare function committeeSigners(terms: CommitteeTerms, mask: number): Address[];
22
+ export declare function committeeMask(terms: CommitteeTerms, signers: readonly Address[]): number;
23
+ export declare function committeeEnvelope(digest: Uint8Array): Uint8Array;
24
+ export type CommitteeVote = {
25
+ member: Address;
26
+ signature: Uint8Array;
27
+ };
28
+ export declare function buildCommitteeBatch(terms: CommitteeTerms, digest: Uint8Array, votes: readonly CommitteeVote[]): {
29
+ instruction: Instruction;
30
+ mask: number;
31
+ };
32
+ export declare function buildCreateCommittee(input: CommitteeTerms & {
33
+ payer: TransactionSigner;
34
+ }): Promise<{
35
+ committee: ResolvedCommittee;
36
+ instruction: import("../generated/client/index.js").CreateCommitteeInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>;
37
+ }>;
38
+ export declare function committeeProofDigest(f: AttestedProofFields): Promise<Uint8Array>;
39
+ export declare function signCommitteeVote(member: KeyPairSigner, digest: Uint8Array): Promise<CommitteeVote>;
40
+ export declare function verifyCommitteeVote(vote: CommitteeVote, digest: Uint8Array): Promise<boolean>;
@@ -0,0 +1,145 @@
1
+ import { getAddressEncoder, getPublicKeyFromAddress, signBytes, verifySignature, } from "@solana/kit";
2
+ import { findCommitteePda, getCreateCommitteeInstructionAsync } from "../generated/client/index.js";
3
+ import { events } from "./builder-accounts.js";
4
+ import { IntentCoreError } from "./errors.js";
5
+ import { FILL_EXT_TAGS, validateExt } from "./ext.js";
6
+ import { attestedProofPreimage, buildEd25519BatchInstruction, ENVELOPE_LEN, OFFCHAIN_PREFIX, } from "./sig.js";
7
+ const ascii = (s) => new TextEncoder().encode(s);
8
+ export const MAX_COMMITTEE_MEMBERS = 8;
9
+ export const MAX_COMMITTEE_THRESHOLD = 3;
10
+ export const COMMITTEE_TAG = ascii("intent-engine-cm");
11
+ export const COMMITTEE_COSIGN_TAG = ascii("intent-engine-committee-member\0\0");
12
+ export const COMMITTEE_PREIMAGE_LEN = 16 + 1 + 1 + 32 * MAX_COMMITTEE_MEMBERS + 32;
13
+ function bytesOf(address) {
14
+ return new Uint8Array(getAddressEncoder().encode(address));
15
+ }
16
+ function compareBytes(a, b) {
17
+ for (let i = 0; i < 32; i += 1) {
18
+ const d = (a[i] ?? 0) - (b[i] ?? 0);
19
+ if (d !== 0)
20
+ return d;
21
+ }
22
+ return 0;
23
+ }
24
+ const isZero = (bytes) => bytes.every((b) => b === 0);
25
+ export function sortMembers(members) {
26
+ return [...members].sort((a, b) => compareBytes(bytesOf(a), bytesOf(b)));
27
+ }
28
+ export function checkCommittee(terms) {
29
+ const keys = terms.members.map(bytesOf);
30
+ const count = keys.length;
31
+ const ascending = keys.every((k, i) => i === 0 || compareBytes(keys[i - 1] ?? k, k) < 0);
32
+ if (count < 1 ||
33
+ count > MAX_COMMITTEE_MEMBERS ||
34
+ !ascending ||
35
+ keys.some(isZero) ||
36
+ !Number.isInteger(terms.threshold) ||
37
+ terms.threshold < 1 ||
38
+ terms.threshold > count ||
39
+ terms.threshold > MAX_COMMITTEE_THRESHOLD ||
40
+ isZero(bytesOf(terms.feeWallet))) {
41
+ throw new IntentCoreError("CommitteeInvalid");
42
+ }
43
+ return terms;
44
+ }
45
+ export function committeePreimage(terms) {
46
+ checkCommittee(terms);
47
+ const out = new Uint8Array(COMMITTEE_PREIMAGE_LEN);
48
+ out.set(COMMITTEE_TAG, 0);
49
+ out[16] = terms.threshold;
50
+ out[17] = terms.members.length;
51
+ terms.members.forEach((member, i) => out.set(bytesOf(member), 18 + 32 * i));
52
+ out.set(bytesOf(terms.feeWallet), 18 + 32 * MAX_COMMITTEE_MEMBERS);
53
+ return out;
54
+ }
55
+ export async function committeeOf(terms) {
56
+ const members = sortMembers(terms.members);
57
+ const sorted = { members, threshold: terms.threshold, feeWallet: terms.feeWallet };
58
+ const preimage = committeePreimage(sorted);
59
+ const id = new Uint8Array(await crypto.subtle.digest("SHA-256", preimage.slice()));
60
+ const [address] = await findCommitteePda({ id });
61
+ return { ...sorted, id, address };
62
+ }
63
+ export function committeeSigners(terms, mask) {
64
+ checkCommittee(terms);
65
+ const count = terms.members.length;
66
+ if (!Number.isInteger(mask) || mask < 0 || mask > 0xff || mask >> count !== 0) {
67
+ throw new IntentCoreError("CommitteeSigners");
68
+ }
69
+ const signers = terms.members.filter((_, i) => (mask >> i) & 1);
70
+ if (signers.length < terms.threshold) {
71
+ throw new IntentCoreError("CommitteeSigners");
72
+ }
73
+ return signers;
74
+ }
75
+ export function committeeMask(terms, signers) {
76
+ checkCommittee(terms);
77
+ let mask = 0;
78
+ for (const signer of signers) {
79
+ const at = terms.members.indexOf(signer);
80
+ if (at < 0 || (mask >> at) & 1) {
81
+ throw new IntentCoreError("CommitteeSigners");
82
+ }
83
+ mask |= 1 << at;
84
+ }
85
+ committeeSigners(terms, mask);
86
+ return mask;
87
+ }
88
+ export function committeeEnvelope(digest) {
89
+ if (digest.length !== 32) {
90
+ throw new RangeError(`a committee digest is 32 bytes, got ${digest.length}`);
91
+ }
92
+ const hex = Array.from(digest, (b) => b.toString(16).padStart(2, "0")).join("");
93
+ const out = new Uint8Array(ENVELOPE_LEN);
94
+ out.set(OFFCHAIN_PREFIX, 0);
95
+ out.set([1, 1], OFFCHAIN_PREFIX.length);
96
+ out.set(COMMITTEE_COSIGN_TAG, OFFCHAIN_PREFIX.length + 2);
97
+ out.set(ascii(hex), OFFCHAIN_PREFIX.length + 2 + 32);
98
+ return out;
99
+ }
100
+ export function buildCommitteeBatch(terms, digest, votes) {
101
+ const mask = committeeMask(terms, votes.map((v) => v.member));
102
+ const byMember = new Map(votes.map((v) => [v.member, v.signature]));
103
+ const entries = committeeSigners(terms, mask).map((member) => ({
104
+ publicKey: member,
105
+ signature: byMember.get(member) ?? new Uint8Array(),
106
+ }));
107
+ return {
108
+ instruction: buildEd25519BatchInstruction({ entries, message: committeeEnvelope(digest) }),
109
+ mask,
110
+ };
111
+ }
112
+ export async function buildCreateCommittee(input) {
113
+ const committee = await committeeOf(input);
114
+ const instruction = await getCreateCommitteeInstructionAsync({
115
+ payer: input.payer,
116
+ committee: committee.address,
117
+ id: committee.id,
118
+ members: [...committee.members],
119
+ threshold: committee.threshold,
120
+ feeWallet: committee.feeWallet,
121
+ ...(await events()),
122
+ });
123
+ return { committee, instruction };
124
+ }
125
+ export async function committeeProofDigest(f) {
126
+ validateExt(f.ext ?? new Uint8Array(), FILL_EXT_TAGS);
127
+ const preimage = await attestedProofPreimage(f);
128
+ return new Uint8Array(await crypto.subtle.digest("SHA-256", preimage.slice()));
129
+ }
130
+ export async function signCommitteeVote(member, digest) {
131
+ const signature = new Uint8Array(await signBytes(member.keyPair.privateKey, committeeEnvelope(digest)));
132
+ return { member: member.address, signature };
133
+ }
134
+ export async function verifyCommitteeVote(vote, digest) {
135
+ if (vote.signature.length !== 64)
136
+ return false;
137
+ try {
138
+ const key = await getPublicKeyFromAddress(vote.member);
139
+ return await verifySignature(key, vote.signature, committeeEnvelope(digest));
140
+ }
141
+ catch {
142
+ return false;
143
+ }
144
+ }
145
+ //# sourceMappingURL=committee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"committee.js","sourceRoot":"","sources":["../../src/committee.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Address } from "@solana/kit";
2
2
  import { type IntentParams } from "./kinds.js";
3
3
  import { type SignedIntentFields } from "./sig.js";
4
4
  export declare const LONG_LIVED_SECONDS: bigint;
5
- export declare const WARN_ATTESTOR = "an attestor alone decides the settlement result; nothing is checked on-chain";
5
+ export declare const WARN_ATTESTOR = "an attestor alone decides the settlement result; the chain checks only the attestor's signature and that the result lies between the minimum and maximum";
6
6
  export declare const WARN_LONG_LIVED = "this intent stays fillable for more than 30 days";
7
7
  export declare const WARN_RECEIVER = "the output goes to an account other than your own canonical token account";
8
8
  export declare const LONG_SUBMIT_SECONDS: bigint;
@@ -12,6 +12,7 @@ export declare const WARN_DOMAIN = "this signature is for a different cluster th
12
12
  export declare const WARN_RELAYER_FEE = "the relayer fee is more than 1% of what you sell";
13
13
  export declare const WARN_PROOF = "the judge alone decides whether the work meets the committed spec; the chain checks only that its verdict names that spec";
14
14
  export declare function settlementWarnings(params: IntentParams): string[];
15
+ export declare const ATTESTED_PROTOCOL_FEE = "Protocol fee: taken out of what the payee receives, not added on top of the sold amount";
15
16
  export type DescribeOptions = {
16
17
  now: bigint;
17
18
  currentEpoch: bigint;
@@ -39,4 +40,8 @@ export declare function describeTerms(f: TermsFields, o: {
39
40
  inputDecimals?: number | undefined;
40
41
  outputDecimals?: number | undefined;
41
42
  } & TokenNames): string[];
43
+ export declare const PARTNER_BASE_SOLD = "the sold amount";
44
+ export declare const PARTNER_BASE_AFTER_JUDGE = "the sold amount less the judge fee";
45
+ export declare function partnerBaseOf(params: IntentParams): string;
46
+ export declare function partnerFeeLine(bps: number, key: string, base?: string): string;
42
47
  export declare function describeSignedIntent(f: SignedIntentFields, o: DescribeOptions): Promise<SignedIntentDescription>;
@@ -4,7 +4,7 @@ import { U64_MAX } from "./math.js";
4
4
  import { findAssociatedTokenAddress } from "./pdas.js";
5
5
  import { checkSignable, signedIntentPreimage } from "./sig.js";
6
6
  export const LONG_LIVED_SECONDS = 30n * 24n * 60n * 60n;
7
- export const WARN_ATTESTOR = "an attestor alone decides the settlement result; nothing is checked on-chain";
7
+ export const WARN_ATTESTOR = "an attestor alone decides the settlement result; the chain checks only the attestor's signature and that the result lies between the minimum and maximum";
8
8
  export const WARN_LONG_LIVED = "this intent stays fillable for more than 30 days";
9
9
  export const WARN_RECEIVER = "the output goes to an account other than your own canonical token account";
10
10
  export const LONG_SUBMIT_SECONDS = 24n * 60n * 60n;
@@ -19,6 +19,7 @@ export function settlementWarnings(params) {
19
19
  }
20
20
  return [params.specHash.some((byte) => byte !== 0) ? WARN_PROOF : WARN_ATTESTOR];
21
21
  }
22
+ export const ATTESTED_PROTOCOL_FEE = "Protocol fee: taken out of what the payee receives, not added on top of the sold amount";
22
23
  const MAX_DATE_SECONDS = 8640000000000n;
23
24
  export const tokenOf = (mint, name) => (name === undefined ? mint : `${name} (${mint})`);
24
25
  export function formatAmount(raw, decimals) {
@@ -73,17 +74,38 @@ export function describeTerms(f, o) {
73
74
  sell(params.amountIn),
74
75
  `Receive: at least ${out(params.startOut)} at ${formatTime(params.startTs)}, falling to ${out(params.endOut)} at ${formatTime(params.endTs)}`,
75
76
  ];
76
- case Kind.AttestedResult:
77
+ case Kind.AttestedResult: {
78
+ const proof = params.specHash.some((byte) => byte !== 0);
77
79
  return [
78
80
  sell(params.amountIn),
79
81
  `Settles: when ${params.attestor} attests a result between ${params.minResult} and ${params.maxResult}`,
82
+ `Payee: chosen by ${params.attestor} when it attests; one signature from it pays the sold amount, less fees, to any wallet it signs for`,
83
+ ...(proof ? [`Spec hash: ${hex(params.specHash)}, the spec the judge checks the work against`] : []),
84
+ ...(proof || params.judgeFee !== 0n
85
+ ? [
86
+ `Judge fee: ${formatAmount(params.judgeFee, o.inputDecimals)} of ${tokenOf(f.inputMint, o.inputName)}, paid to ${params.attestor} out of the sold amount when the intent settles`,
87
+ ]
88
+ : []),
89
+ ATTESTED_PROTOCOL_FEE,
80
90
  `Output token: ${tokenOf(f.outputMint, o.outputName)}, recorded with the intent only; an attested settlement pays you nothing on chain`,
81
91
  ];
92
+ }
82
93
  }
83
94
  }
95
+ export const PARTNER_BASE_SOLD = "the sold amount";
96
+ export const PARTNER_BASE_AFTER_JUDGE = "the sold amount less the judge fee";
97
+ export function partnerBaseOf(params) {
98
+ return params.kind === Kind.AttestedResult && params.judgeFee !== 0n ? PARTNER_BASE_AFTER_JUDGE : PARTNER_BASE_SOLD;
99
+ }
100
+ export function partnerFeeLine(bps, key, base = PARTNER_BASE_SOLD) {
101
+ return `Partner fee: ${bps} bps of ${base}, rounded up, to ${key}, less the protocol's partner cut fixed when the intent is created`;
102
+ }
84
103
  function partnerLine(f) {
85
104
  const partner = partnerOf(f.ext ?? new Uint8Array());
86
- return partner === undefined ? [] : [`Partner fee: ${partner.bps} bps of the sold amount to ${partner.key}`];
105
+ if (partner === undefined) {
106
+ return [];
107
+ }
108
+ return [partnerFeeLine(partner.bps, partner.key, partnerBaseOf(decodeParams(f.kind, f.params)))];
87
109
  }
88
110
  export async function describeSignedIntent(f, o) {
89
111
  checkSignable(f);
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAqB,IAAI,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAA2B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAExF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,8EAA8E,CAAC;AAC5G,MAAM,CAAC,MAAM,eAAe,GAAG,kDAAkD,CAAC;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,2EAA2E,CAAC;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,qEAAqE,CAAC;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,8DAA8D,CAAC;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,mEAAmE,CAAC;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,kDAAkD,CAAC;AACnF,MAAM,CAAC,MAAM,UAAU,GACrB,2HAA2H,CAAC;AAE9H,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,gBAAgB,GAAG,cAAkB,CAAC;AAa5C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,IAAwB,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;AAQ9H,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAiB;IACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,GAAG,GAAG,YAAY,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QAClE,MAAM,IAAI,UAAU,CAAC,GAAG,QAAQ,gCAAgC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrF,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QAClE,MAAM,IAAI,UAAU,CAAC,GAAG,QAAQ,gCAAgC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,8BAA8B,QAAQ,iBAAiB,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9G,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,IAAI,WAAW,GAAG,gBAAgB,IAAI,WAAW,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,QAAQ,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,KAAwB,EAAE,EAAE,CACvC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAIrE,MAAM,UAAU,aAAa,CAC3B,CAAc,EACd,CAA2F;IAE3F,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,iBAAiB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAClI,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IACtH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,WAAW;YACnB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,UAAU;YAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,YAAY;YACpB,OAAO;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrB,qBAAqB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC9I,CAAC;QACJ,KAAK,IAAI,CAAC,cAAc;YACtB,OAAO;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrB,iBAAiB,MAAM,CAAC,QAAQ,6BAA6B,MAAM,CAAC,SAAS,QAAQ,MAAM,CAAC,SAAS,EAAE;gBACvG,iBAAiB,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,mFAAmF;aACxI,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAqB;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACrD,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,GAAG,8BAA8B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAAqB,EACrB,CAAkB;IAElB,aAAa,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,8CAA8C,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,YAAY,yCAAyC,CACxI,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,UAAU;QAClB,YAAY,EAAE,CAAC,CAAC,kBAAkB;KACnC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG;QACf,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACrD,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnG,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,UAAU,CAAC,CAAC,KAAK,EAAE;QACnB,cAAc,CAAC,CAAC,UAAU,EAAE;QAC5B,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,aAAa,CAAC,CAAC,QAAQ,EAAE;QACzB,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QACrC,cAAc,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QACtC,UAAU,CAAC,CAAC,KAAK,EAAE;QACnB,kBAAkB,CAAC,CAAC,KAAK,EAAE;QAC3B,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,UAAU,KAAK,EAAE;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,gBAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,wBAAwB,CAAC,CAAC;QAC3J,mBAAmB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QAClC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,6CAA6C,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,+HAA+H;QAClM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,oCAAoC,MAAM,EAAE;KAC7C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/describe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- export type CoreErrorCode = "Overflow" | "DivideByZero" | "Truncated" | "NonCanonical" | "UnknownKind" | "UnknownStatus" | "InvalidParams" | "AmountMismatch" | "InsufficientOutput" | "InvalidTransition" | "IntentExpired" | "NotExpired" | "NonceUsed" | "NonceOutOfWindow" | "NonceRegression" | "SigProgram" | "SigHeader" | "SigPubkey" | "SigMessage" | "KindMismatch" | "ResultOutOfBounds" | "FlashEndProgram" | "FlashEndDiscriminator" | "FlashEndIntent" | "ExtTooLong" | "ExtMalformed" | "ExtUnknown" | "FlagsUnknown" | "PartnerFeeTooHigh";
1
+ export declare const CORE_ERROR_CODES: readonly ["Overflow", "DivideByZero", "Truncated", "NonCanonical", "UnknownKind", "UnknownStatus", "InvalidParams", "AmountMismatch", "InsufficientOutput", "InvalidTransition", "IntentExpired", "NotExpired", "NonceUsed", "NonceOutOfWindow", "NonceRegression", "SigProgram", "SigHeader", "SigPubkey", "SigMessage", "KindMismatch", "ResultOutOfBounds", "FlashEndProgram", "FlashEndDiscriminator", "FlashEndIntent", "ExtTooLong", "ExtMalformed", "ExtUnknown", "FlagsUnknown", "PartnerFeeTooHigh", "MandateInvalid", "MandateExpired", "MandateKind", "MandateTtl", "MandateCap", "MandateBudget", "MandateCount", "MandatePrice", "CommitteeInvalid", "CommitteeSigners", "ClaimTerms", "ClaimHeld", "ProfileInvalid"];
2
+ export type CoreErrorCode = (typeof CORE_ERROR_CODES)[number];
2
3
  export declare class IntentCoreError extends Error {
3
4
  readonly code: CoreErrorCode;
4
5
  constructor(code: CoreErrorCode);
@@ -1,3 +1,47 @@
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
+ "CommitteeInvalid",
40
+ "CommitteeSigners",
41
+ "ClaimTerms",
42
+ "ClaimHeld",
43
+ "ProfileInvalid",
44
+ ];
1
45
  export class IntentCoreError extends Error {
2
46
  code;
3
47
  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;IACd,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,gBAAgB;CACR,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"}
@@ -1,10 +1,20 @@
1
- import { IntentEngineEvent, parseAgentPaidEvent, parseAdminAcceptedEvent, parseAdminProposedEvent, parseConfigInitializedEvent, parseConfigUpdatedEvent, parseEconomicsUpdatedEvent, parseEpochAdvancedEvent, parseFeeWithheldEvent, parseFillBegunEvent, parseFillEndedEvent, parseIntentAttestedEvent, parseIntentCancelledEvent, parseIntentClosedEvent, parseIntentCreatedEvent, parseIntentExpiredEvent, parseIntentFilledEvent, parseIntentSplitEvent, parseMandateClosedEvent, parseMandateCreatedEvent, parseMandateUsedEvent, parseNonceAdvancedEvent, parsePauseLoweredEvent, parsePauseRaisedEvent, parseRelayerPaidEvent, parseUserInitializedEvent } from "../generated/client/index.js";
1
+ import { IntentEngineEvent, parseAgentPaidEvent, parseAdminAcceptedEvent, parseAdminProposedEvent, parseCapsRequiredSetEvent, parseClaimDroppedEvent, parseClaimsClosedEvent, parseClaimsOpenedEvent, parseJobClaimedEvent, parseProfileClosedEvent, parseProfileSetEvent, parseStakeMovedEvent, parseCommitteeAttestedEvent, parseCommitteeCreatedEvent, parseConfigInitializedEvent, parseConfigUpdatedEvent, parseEconomicsUpdatedEvent, parseEpochAdvancedEvent, parseFeeWithheldEvent, parseFillBegunEvent, parseFillEndedEvent, parseIntentAttestedEvent, parseIntentCancelledEvent, parseIntentClosedEvent, parseIntentCreatedEvent, parseIntentExpiredEvent, parseIntentFilledEvent, parseIntentSplitEvent, parseMandateClosedEvent, parseMandateCreatedEvent, parseMandateUsedEvent, parseMintCapSetEvent, parseNonceAdvancedEvent, parsePauseLoweredEvent, parsePauseRaisedEvent, parseRelayerPaidEvent, parseUserInitializedEvent } from "../generated/client/index.js";
2
2
  export declare const EVENT_IX_TAG: Uint8Array<ArrayBuffer>;
3
3
  type EventName = (typeof IntentEngineEvent)[IntentEngineEvent];
4
4
  declare const PARSERS: {
5
5
  AdminAccepted: typeof parseAdminAcceptedEvent;
6
6
  AgentPaid: typeof parseAgentPaidEvent;
7
7
  AdminProposed: typeof parseAdminProposedEvent;
8
+ CapsRequiredSet: typeof parseCapsRequiredSetEvent;
9
+ ClaimDropped: typeof parseClaimDroppedEvent;
10
+ ClaimsClosed: typeof parseClaimsClosedEvent;
11
+ ClaimsOpened: typeof parseClaimsOpenedEvent;
12
+ JobClaimed: typeof parseJobClaimedEvent;
13
+ ProfileClosed: typeof parseProfileClosedEvent;
14
+ ProfileSet: typeof parseProfileSetEvent;
15
+ StakeMoved: typeof parseStakeMovedEvent;
16
+ CommitteeAttested: typeof parseCommitteeAttestedEvent;
17
+ CommitteeCreated: typeof parseCommitteeCreatedEvent;
8
18
  ConfigInitialized: typeof parseConfigInitializedEvent;
9
19
  ConfigUpdated: typeof parseConfigUpdatedEvent;
10
20
  EconomicsUpdated: typeof parseEconomicsUpdatedEvent;
@@ -22,6 +32,7 @@ declare const PARSERS: {
22
32
  MandateClosed: typeof parseMandateClosedEvent;
23
33
  MandateCreated: typeof parseMandateCreatedEvent;
24
34
  MandateUsed: typeof parseMandateUsedEvent;
35
+ MintCapSet: typeof parseMintCapSetEvent;
25
36
  NonceAdvanced: typeof parseNonceAdvancedEvent;
26
37
  PauseLowered: typeof parsePauseLoweredEvent;
27
38
  PauseRaised: typeof parsePauseRaisedEvent;
@@ -1,9 +1,19 @@
1
- import { IntentEngineEvent, parseAgentPaidEvent, identifyIntentEngineEvent, parseAdminAcceptedEvent, parseAdminProposedEvent, parseConfigInitializedEvent, parseConfigUpdatedEvent, parseEconomicsUpdatedEvent, parseEpochAdvancedEvent, parseFeeWithheldEvent, parseFillBegunEvent, parseFillEndedEvent, parseIntentAttestedEvent, parseIntentCancelledEvent, parseIntentClosedEvent, parseIntentCreatedEvent, parseIntentExpiredEvent, parseIntentFilledEvent, parseIntentSplitEvent, parseMandateClosedEvent, parseMandateCreatedEvent, parseMandateUsedEvent, parseNonceAdvancedEvent, parsePauseLoweredEvent, parsePauseRaisedEvent, parseRelayerPaidEvent, parseUserInitializedEvent, } from "../generated/client/index.js";
1
+ import { IntentEngineEvent, parseAgentPaidEvent, identifyIntentEngineEvent, parseAdminAcceptedEvent, parseAdminProposedEvent, parseCapsRequiredSetEvent, parseClaimDroppedEvent, parseClaimsClosedEvent, parseClaimsOpenedEvent, parseJobClaimedEvent, parseProfileClosedEvent, parseProfileSetEvent, parseStakeMovedEvent, parseCommitteeAttestedEvent, parseCommitteeCreatedEvent, parseConfigInitializedEvent, parseConfigUpdatedEvent, parseEconomicsUpdatedEvent, parseEpochAdvancedEvent, parseFeeWithheldEvent, parseFillBegunEvent, parseFillEndedEvent, parseIntentAttestedEvent, parseIntentCancelledEvent, parseIntentClosedEvent, parseIntentCreatedEvent, parseIntentExpiredEvent, parseIntentFilledEvent, parseIntentSplitEvent, parseMandateClosedEvent, parseMandateCreatedEvent, parseMandateUsedEvent, parseMintCapSetEvent, parseNonceAdvancedEvent, parsePauseLoweredEvent, parsePauseRaisedEvent, parseRelayerPaidEvent, parseUserInitializedEvent, } from "../generated/client/index.js";
2
2
  export const EVENT_IX_TAG = new Uint8Array([0xe4, 0x45, 0xa5, 0x2e, 0x51, 0xcb, 0x9a, 0x1d]);
3
3
  const PARSERS = {
4
4
  AdminAccepted: parseAdminAcceptedEvent,
5
5
  AgentPaid: parseAgentPaidEvent,
6
6
  AdminProposed: parseAdminProposedEvent,
7
+ CapsRequiredSet: parseCapsRequiredSetEvent,
8
+ ClaimDropped: parseClaimDroppedEvent,
9
+ ClaimsClosed: parseClaimsClosedEvent,
10
+ ClaimsOpened: parseClaimsOpenedEvent,
11
+ JobClaimed: parseJobClaimedEvent,
12
+ ProfileClosed: parseProfileClosedEvent,
13
+ ProfileSet: parseProfileSetEvent,
14
+ StakeMoved: parseStakeMovedEvent,
15
+ CommitteeAttested: parseCommitteeAttestedEvent,
16
+ CommitteeCreated: parseCommitteeCreatedEvent,
7
17
  ConfigInitialized: parseConfigInitializedEvent,
8
18
  ConfigUpdated: parseConfigUpdatedEvent,
9
19
  EconomicsUpdated: parseEconomicsUpdatedEvent,
@@ -21,6 +31,7 @@ const PARSERS = {
21
31
  MandateClosed: parseMandateClosedEvent,
22
32
  MandateCreated: parseMandateCreatedEvent,
23
33
  MandateUsed: parseMandateUsedEvent,
34
+ MintCapSet: parseMintCapSetEvent,
24
35
  NonceAdvanced: parseNonceAdvancedEvent,
25
36
  PauseLowered: parsePauseLoweredEvent,
26
37
  PauseRaised: parsePauseRaisedEvent,
@@ -30,11 +41,14 @@ const PARSERS = {
30
41
  export const NOTABLE = new Set([
31
42
  "AdminAccepted",
32
43
  "AdminProposed",
44
+ "CapsRequiredSet",
45
+ "CommitteeCreated",
33
46
  "ConfigInitialized",
34
47
  "ConfigUpdated",
35
48
  "EconomicsUpdated",
36
49
  "MandateClosed",
37
50
  "MandateCreated",
51
+ "MintCapSet",
38
52
  "PauseLowered",
39
53
  "PauseRaised",
40
54
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAI7F,MAAM,OAAO,GAAG;IACd,aAAa,EAAE,uBAAuB;IACtC,SAAS,EAAE,mBAAmB;IAC9B,aAAa,EAAE,uBAAuB;IACtC,iBAAiB,EAAE,2BAA2B;IAC9C,aAAa,EAAE,uBAAuB;IACtC,gBAAgB,EAAE,0BAA0B;IAC5C,aAAa,EAAE,uBAAuB;IACtC,WAAW,EAAE,qBAAqB;IAClC,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,cAAc,EAAE,wBAAwB;IACxC,eAAe,EAAE,yBAAyB;IAC1C,YAAY,EAAE,sBAAsB;IACpC,aAAa,EAAE,uBAAuB;IACtC,aAAa,EAAE,uBAAuB;IACtC,YAAY,EAAE,sBAAsB;IACpC,WAAW,EAAE,qBAAqB;IAClC,aAAa,EAAE,uBAAuB;IACtC,cAAc,EAAE,wBAAwB;IACxC,WAAW,EAAE,qBAAqB;IAClC,aAAa,EAAE,uBAAuB;IACtC,YAAY,EAAE,sBAAsB;IACpC,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,qBAAqB;IAClC,eAAe,EAAE,yBAAyB;CACe,CAAC;AAM5D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;IAC7B,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAIH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAe,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAA6C,MAAoB,EAAE,IAAO;IAClG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
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,63 @@
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
+ claims?: Address;
34
+ stakeTo?: Address;
35
+ amountIn: bigint;
36
+ result: bigint;
37
+ maxFeeBps: number;
38
+ ext?: Uint8Array;
39
+ };
40
+ type AttestedAccounts = Omit<FillAttestedSpec, "payee">;
41
+ 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, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
42
+ export type CommitteeRelease = {
43
+ committee: Address;
44
+ signers: number;
45
+ };
46
+ export type FillAttestedCommitteeSpec = FillAttestedSpec & CommitteeRelease;
47
+ export declare function buildFillAttestedCommittee(input: FillAttestedCommitteeSpec): Promise<import("../generated/client/index.js").FillAttestedCommitteeInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, "Sysvar1nstructions1111111111111111111111111", string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
48
+ export type FillAttestedSplitSpec = AttestedAccounts & {
49
+ recipients: Address[];
50
+ weights: number[];
51
+ };
52
+ 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, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
53
+ export type FillAttestedSplitCommitteeSpec = FillAttestedSplitSpec & CommitteeRelease;
54
+ export declare function buildFillAttestedSplitCommittee(input: FillAttestedSplitCommitteeSpec): Promise<import("../generated/client/index.js").FillAttestedSplitCommitteeInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "Sysvar1nstructions1111111111111111111111111", string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
55
+ export type FlashFillSpec = Omit<FillIntentSpec, "ext"> & {
56
+ beginExt?: Uint8Array;
57
+ endExt?: Uint8Array;
58
+ baseIndex?: number;
59
+ prefix?: Instruction[];
60
+ route?: Instruction[];
61
+ };
62
+ export declare function buildFlashFill(input: FlashFillSpec): Promise<Instruction[]>;
63
+ export {};