@intent-engine/core 0.1.23 → 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.
- package/dist/src/admin-builders.d.ts +49 -0
- package/dist/src/admin-builders.js +52 -0
- package/dist/src/admin-builders.js.map +1 -0
- package/dist/src/bounty.d.ts +3 -1
- package/dist/src/bounty.js +6 -2
- package/dist/src/bounty.js.map +1 -1
- package/dist/src/builder-accounts.d.ts +62 -0
- package/dist/src/builder-accounts.js +64 -0
- package/dist/src/builder-accounts.js.map +1 -0
- package/dist/src/builders.d.ts +5 -213
- package/dist/src/builders.js +5 -493
- package/dist/src/builders.js.map +1 -1
- package/dist/src/describe.d.ts +5 -1
- package/dist/src/describe.js +22 -3
- package/dist/src/describe.js.map +1 -1
- package/dist/src/errors.d.ts +2 -1
- package/dist/src/errors.js +39 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/fee.d.ts +1 -0
- package/dist/src/fee.js +13 -5
- package/dist/src/fee.js.map +1 -1
- package/dist/src/fill-builders.d.ts +51 -0
- package/dist/src/fill-builders.js +167 -0
- package/dist/src/fill-builders.js.map +1 -0
- package/dist/src/intent-builders.d.ts +61 -0
- package/dist/src/intent-builders.js +152 -0
- package/dist/src/intent-builders.js.map +1 -0
- package/dist/src/mandate.js +2 -2
- package/dist/src/mandate.js.map +1 -1
- package/dist/src/math.d.ts +1 -0
- package/dist/src/math.js +9 -0
- package/dist/src/math.js.map +1 -1
- package/dist/src/memo.d.ts +2 -1
- package/dist/src/memo.js +12 -4
- package/dist/src/memo.js.map +1 -1
- package/dist/src/owner-builders.d.ts +52 -0
- package/dist/src/owner-builders.js +83 -0
- package/dist/src/owner-builders.js.map +1 -0
- package/dist/src/sig.d.ts +1 -0
- package/dist/src/sig.js +4 -0
- package/dist/src/sig.js.map +1 -1
- package/dist/src/validate.d.ts +2 -0
- package/dist/src/validate.js +15 -0
- package/dist/src/validate.js.map +1 -1
- package/package.json +17 -4
- package/dist/generated/client/types/configSettings.d.ts +0 -25
- package/dist/generated/client/types/configSettings.js +0 -30
- package/dist/generated/client/types/configSettings.js.map +0 -1
package/dist/src/builders.js
CHANGED
|
@@ -1,494 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { U64_MAX } from "./math.js";
|
|
7
|
-
import { MANDATE_NONCE_BIT, mandateArgs, NO_MANDATE } from "./mandate.js";
|
|
8
|
-
import { findAssociatedTokenAddress, findEventAuthorityPda, findIntentPda, findMandatePda } from "./pdas.js";
|
|
9
|
-
export const INSTRUCTIONS_SYSVAR_ADDRESS = "Sysvar1nstructions1111111111111111111111111";
|
|
10
|
-
async function events() {
|
|
11
|
-
const [eventAuthority] = await findEventAuthorityPda();
|
|
12
|
-
return { eventAuthority, program: INTENT_ENGINE_PROGRAM_ADDRESS };
|
|
13
|
-
}
|
|
14
|
-
const fillExt = (ext) => validateExt(ext ?? new Uint8Array(), FILL_EXT_TAGS);
|
|
15
|
-
const settleExt = (ext) => validateExt(ext ?? new Uint8Array(), SETTLE_EXT_TAGS);
|
|
16
|
-
export function createExt(input) {
|
|
17
|
-
if (input.ext !== undefined && input.partner !== undefined) {
|
|
18
|
-
throw new RangeError("pass either raw extension bytes or a partner, not both");
|
|
19
|
-
}
|
|
20
|
-
const ext = input.ext ?? (input.partner === undefined ? new Uint8Array() : encodePartner(input.partner));
|
|
21
|
-
partnerOf(ext);
|
|
22
|
-
return ext;
|
|
23
|
-
}
|
|
24
|
-
function createArgs(input) {
|
|
25
|
-
const params = validate(input.params);
|
|
26
|
-
return {
|
|
27
|
-
nonce: input.nonce,
|
|
28
|
-
kind: params.kind,
|
|
29
|
-
flags: checkFlags(input.flags ?? 0),
|
|
30
|
-
params: encodeParams(params),
|
|
31
|
-
expiresAt: input.expiresAt,
|
|
32
|
-
ext: createExt(input),
|
|
33
|
-
maxCreateFee: input.maxCreateFee,
|
|
34
|
-
maxBounty: input.maxBounty,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async function partnerAccount(input) {
|
|
38
|
-
return input.partner === undefined
|
|
39
|
-
? {}
|
|
40
|
-
: {
|
|
41
|
-
partnerTo: await findAssociatedTokenAddress({
|
|
42
|
-
owner: input.partner,
|
|
43
|
-
mint: input.inputMint,
|
|
44
|
-
tokenProgram: input.inputTokenProgram,
|
|
45
|
-
}),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
async function mandateAccounts(input) {
|
|
49
|
-
return input.mandate === undefined || input.mandate === NO_MANDATE
|
|
50
|
-
? {}
|
|
51
|
-
: { mandate: input.mandate, ownerState: (await findUserStatePda({ owner: input.owner }))[0] };
|
|
52
|
-
}
|
|
53
|
-
async function agentAccount(input) {
|
|
54
|
-
return input.agent === undefined
|
|
55
|
-
? {}
|
|
56
|
-
: {
|
|
57
|
-
agentTo: await findAssociatedTokenAddress({
|
|
58
|
-
owner: input.agent,
|
|
59
|
-
mint: input.inputMint,
|
|
60
|
-
tokenProgram: input.inputTokenProgram,
|
|
61
|
-
}),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
async function intentOf(owner, nonce) {
|
|
65
|
-
return (await findIntentPda({ owner, nonce }))[0];
|
|
66
|
-
}
|
|
67
|
-
export const UPGRADEABLE_LOADER_ADDRESS = "BPFLoaderUpgradeab1e11111111111111111111111";
|
|
68
|
-
export async function findProgramDataAddress(program = INTENT_ENGINE_PROGRAM_ADDRESS) {
|
|
69
|
-
const [address] = await getProgramDerivedAddress({
|
|
70
|
-
programAddress: UPGRADEABLE_LOADER_ADDRESS,
|
|
71
|
-
seeds: [getAddressEncoder().encode(program)],
|
|
72
|
-
});
|
|
73
|
-
return address;
|
|
74
|
-
}
|
|
75
|
-
export async function buildInitConfig(input) {
|
|
76
|
-
return getInitConfigInstructionAsync({
|
|
77
|
-
authority: input.authority,
|
|
78
|
-
programData: await findProgramDataAddress(),
|
|
79
|
-
domain: input.domain,
|
|
80
|
-
guardian: input.guardian,
|
|
81
|
-
feeRecipient: input.feeRecipient,
|
|
82
|
-
enabledKinds: input.enabledKinds,
|
|
83
|
-
feeBps: input.feeBps,
|
|
84
|
-
paused: input.paused,
|
|
85
|
-
...(await events()),
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
export async function buildRaisePause(input) {
|
|
89
|
-
return getRaisePauseInstruction({ authority: input.authority, flags: input.flags, ...(await events()) });
|
|
90
|
-
}
|
|
91
|
-
export async function buildLowerPause(input) {
|
|
92
|
-
return getLowerPauseInstruction({ admin: input.admin, flags: input.flags, ...(await events()) });
|
|
93
|
-
}
|
|
94
|
-
export async function buildUpdateConfig(input) {
|
|
95
|
-
return getUpdateConfigInstruction({ admin: input.admin, ...input.update, ...(await events()) });
|
|
96
|
-
}
|
|
97
|
-
export async function buildProposeAdmin(input) {
|
|
98
|
-
return getProposeAdminInstruction({ admin: input.admin, pendingAdmin: input.pendingAdmin, ...(await events()) });
|
|
99
|
-
}
|
|
100
|
-
export async function buildAcceptAdmin(input) {
|
|
101
|
-
return getAcceptAdminInstruction({ pendingAdmin: input.pendingAdmin, ...(await events()) });
|
|
102
|
-
}
|
|
103
|
-
export async function buildUpdateEconomics(input) {
|
|
104
|
-
const e = input.economics;
|
|
105
|
-
return getUpdateEconomicsInstruction({
|
|
106
|
-
admin: input.admin,
|
|
107
|
-
kindFeeMask: e.kindFeeMask,
|
|
108
|
-
kindFeeBps: [...e.kindFeeBps],
|
|
109
|
-
partnerCutBps: e.partnerCutBps,
|
|
110
|
-
crankBounty: e.crankBounty,
|
|
111
|
-
createFee: e.createFee,
|
|
112
|
-
...(await events()),
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
export async function buildInitUser(input) {
|
|
116
|
-
return getInitUserInstructionAsync({ owner: input.owner, ...(await events()) });
|
|
117
|
-
}
|
|
118
|
-
export async function buildAdvanceNonce(input) {
|
|
119
|
-
return getAdvanceNonceInstructionAsync({
|
|
120
|
-
owner: input.owner,
|
|
121
|
-
nonceBase: input.nonceBase,
|
|
122
|
-
...(await events()),
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
export const EPOCH_JUMP_BITS = 48n;
|
|
126
|
-
export const MAX_EPOCH_JUMP = 1n << EPOCH_JUMP_BITS;
|
|
127
|
-
export const MAX_NONCE_JUMP = 1n << 32n;
|
|
128
|
-
export const NONCE_CEILING = MANDATE_NONCE_BIT - 256n;
|
|
129
|
-
export function nextEpoch(current, entropy = crypto.getRandomValues(new Uint8Array(6))) {
|
|
130
|
-
if (current < 0n || current >= U64_MAX) {
|
|
131
|
-
throw new RangeError(`no epoch follows ${current}`);
|
|
132
|
-
}
|
|
133
|
-
if (entropy.length !== Number(EPOCH_JUMP_BITS / 8n)) {
|
|
134
|
-
throw new RangeError(`epoch entropy must be ${EPOCH_JUMP_BITS / 8n} bytes`);
|
|
135
|
-
}
|
|
136
|
-
const drawn = entropy.reduce((acc, b) => (acc << 8n) | BigInt(b), 0n);
|
|
137
|
-
return current + (drawn % (U64_MAX - current)) + 1n;
|
|
138
|
-
}
|
|
139
|
-
export async function buildAdvanceEpoch(input) {
|
|
140
|
-
return getAdvanceEpochInstructionAsync({ owner: input.owner, epoch: input.epoch, ...(await events()) });
|
|
141
|
-
}
|
|
142
|
-
export async function buildCreateIntent(input) {
|
|
143
|
-
const owner = input.owner.address;
|
|
144
|
-
const args = createArgs(input);
|
|
145
|
-
const ownerInput = input.ownerInput ??
|
|
146
|
-
(await findAssociatedTokenAddress({
|
|
147
|
-
owner,
|
|
148
|
-
mint: input.inputMint,
|
|
149
|
-
tokenProgram: input.inputTokenProgram,
|
|
150
|
-
}));
|
|
151
|
-
const receiver = input.receiver ??
|
|
152
|
-
(await findAssociatedTokenAddress({
|
|
153
|
-
owner,
|
|
154
|
-
mint: input.outputMint,
|
|
155
|
-
tokenProgram: input.outputTokenProgram,
|
|
156
|
-
}));
|
|
157
|
-
return getCreateIntentInstructionAsync({
|
|
158
|
-
owner: input.owner,
|
|
159
|
-
intent: await intentOf(owner, input.nonce),
|
|
160
|
-
inputMint: input.inputMint,
|
|
161
|
-
outputMint: input.outputMint,
|
|
162
|
-
ownerInput,
|
|
163
|
-
receiver,
|
|
164
|
-
receiverAuthority: input.receiverAuthority ?? owner,
|
|
165
|
-
treasury: input.treasury,
|
|
166
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
167
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
168
|
-
args,
|
|
169
|
-
...(await events()),
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
async function canonicalRefund(ref) {
|
|
173
|
-
return findAssociatedTokenAddress({
|
|
174
|
-
owner: ref.owner,
|
|
175
|
-
mint: ref.inputMint,
|
|
176
|
-
tokenProgram: ref.tokenProgram,
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
export async function buildCancelIntent(input) {
|
|
180
|
-
const ref = { ...input, owner: input.owner.address };
|
|
181
|
-
const ext = settleExt(input.ext);
|
|
182
|
-
return getCancelIntentInstructionAsync({
|
|
183
|
-
owner: input.owner,
|
|
184
|
-
intent: await intentOf(ref.owner, input.nonce),
|
|
185
|
-
inputMint: input.inputMint,
|
|
186
|
-
refundTo: input.refundTo ?? (await canonicalRefund(ref)),
|
|
187
|
-
tokenProgram: input.tokenProgram,
|
|
188
|
-
ext,
|
|
189
|
-
...(await events()),
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
export async function buildExpireIntent(input) {
|
|
193
|
-
const ext = settleExt(input.ext);
|
|
194
|
-
return getExpireIntentInstructionAsync({
|
|
195
|
-
cranker: input.cranker,
|
|
196
|
-
intent: await intentOf(input.owner, input.nonce),
|
|
197
|
-
inputMint: input.inputMint,
|
|
198
|
-
refundTo: input.refundTo ?? (await canonicalRefund(input)),
|
|
199
|
-
canonicalRefund: await canonicalRefund(input),
|
|
200
|
-
tokenProgram: input.tokenProgram,
|
|
201
|
-
ext,
|
|
202
|
-
...(await events()),
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
export async function buildCloseIntent(input) {
|
|
206
|
-
const ext = settleExt(input.ext);
|
|
207
|
-
return getCloseIntentInstructionAsync({
|
|
208
|
-
cranker: input.cranker,
|
|
209
|
-
intent: await intentOf(input.owner, input.nonce),
|
|
210
|
-
inputMint: input.inputMint,
|
|
211
|
-
refundTo: input.refundTo ?? (await canonicalRefund(input)),
|
|
212
|
-
canonicalRefund: await canonicalRefund(input),
|
|
213
|
-
owner: input.owner,
|
|
214
|
-
rentPayer: input.rentPayer ?? input.owner,
|
|
215
|
-
tokenProgram: input.tokenProgram,
|
|
216
|
-
ext,
|
|
217
|
-
...(await events()),
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
export async function buildFillIntent(input) {
|
|
221
|
-
const feeTo = input.feeRecipient === undefined
|
|
222
|
-
? undefined
|
|
223
|
-
: await findAssociatedTokenAddress({
|
|
224
|
-
owner: input.feeRecipient,
|
|
225
|
-
mint: input.inputMint,
|
|
226
|
-
tokenProgram: input.inputTokenProgram,
|
|
227
|
-
});
|
|
228
|
-
return getFillIntentInstructionAsync({
|
|
229
|
-
solver: input.solver,
|
|
230
|
-
intent: await intentOf(input.owner, input.nonce),
|
|
231
|
-
inputMint: input.inputMint,
|
|
232
|
-
outputMint: input.outputMint,
|
|
233
|
-
receiver: input.receiver,
|
|
234
|
-
solverOutput: input.solverOutput,
|
|
235
|
-
solverInput: input.solverInput,
|
|
236
|
-
...(feeTo === undefined ? {} : { feeTo }),
|
|
237
|
-
...(await partnerAccount(input)),
|
|
238
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
239
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
240
|
-
...(await mandateAccounts(input)),
|
|
241
|
-
...(await agentAccount(input)),
|
|
242
|
-
amountIn: input.amountIn,
|
|
243
|
-
amountOut: input.amountOut,
|
|
244
|
-
maxFeeBps: input.maxFeeBps,
|
|
245
|
-
ext: fillExt(input.ext),
|
|
246
|
-
...(await events()),
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
async function feeAccount(name, fee, account, owner, input) {
|
|
250
|
-
if (fee === 0n) {
|
|
251
|
-
return {};
|
|
252
|
-
}
|
|
253
|
-
const address = account ?? (await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
|
|
254
|
-
return { [name]: address };
|
|
255
|
-
}
|
|
256
|
-
export async function buildCreateIntentSigned(input) {
|
|
257
|
-
const owner = input.owner;
|
|
258
|
-
const relayerFee = input.relayerFee ?? 0n;
|
|
259
|
-
const args = createArgs(input);
|
|
260
|
-
const ownerInput = input.ownerInput ??
|
|
261
|
-
(await findAssociatedTokenAddress({
|
|
262
|
-
owner,
|
|
263
|
-
mint: input.inputMint,
|
|
264
|
-
tokenProgram: input.inputTokenProgram,
|
|
265
|
-
}));
|
|
266
|
-
const receiver = input.receiver ??
|
|
267
|
-
(await findAssociatedTokenAddress({
|
|
268
|
-
owner,
|
|
269
|
-
mint: input.outputMint,
|
|
270
|
-
tokenProgram: input.outputTokenProgram,
|
|
271
|
-
}));
|
|
272
|
-
return getCreateIntentSignedInstructionAsync({
|
|
273
|
-
payer: input.payer,
|
|
274
|
-
owner,
|
|
275
|
-
intent: await intentOf(owner, input.nonce),
|
|
276
|
-
inputMint: input.inputMint,
|
|
277
|
-
outputMint: input.outputMint,
|
|
278
|
-
ownerInput,
|
|
279
|
-
receiver,
|
|
280
|
-
receiverAuthority: input.receiverAuthority ?? owner,
|
|
281
|
-
delegate: (await findDelegatePda({ owner }))[0],
|
|
282
|
-
treasury: input.treasury,
|
|
283
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
284
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
285
|
-
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
286
|
-
...(await feeAccount("relayerFeeTo", relayerFee, input.relayerFeeAccount, input.payer.address, input)),
|
|
287
|
-
args,
|
|
288
|
-
submitBy: input.submitBy,
|
|
289
|
-
relayerFee,
|
|
290
|
-
...(await events()),
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
export async function buildApproveDelegate(input) {
|
|
294
|
-
const source = input.source ??
|
|
295
|
-
(await findAssociatedTokenAddress({
|
|
296
|
-
owner: input.owner.address,
|
|
297
|
-
mint: input.mint,
|
|
298
|
-
tokenProgram: input.tokenProgram,
|
|
299
|
-
}));
|
|
300
|
-
return getApproveCheckedInstruction({
|
|
301
|
-
source,
|
|
302
|
-
mint: input.mint,
|
|
303
|
-
delegate: (await findDelegatePda({ owner: input.owner.address }))[0],
|
|
304
|
-
owner: input.owner,
|
|
305
|
-
amount: input.amount,
|
|
306
|
-
decimals: input.decimals,
|
|
307
|
-
}, { programAddress: input.tokenProgram });
|
|
308
|
-
}
|
|
309
|
-
export async function buildApproveForIntent(input) {
|
|
310
|
-
return buildApproveDelegate({ ...input, amount: escrowAmount(validate(input.params)) });
|
|
311
|
-
}
|
|
312
|
-
export async function buildFillAttested(input) {
|
|
313
|
-
const feeTo = input.feeRecipient === undefined
|
|
314
|
-
? undefined
|
|
315
|
-
: await findAssociatedTokenAddress({
|
|
316
|
-
owner: input.feeRecipient,
|
|
317
|
-
mint: input.inputMint,
|
|
318
|
-
tokenProgram: input.inputTokenProgram,
|
|
319
|
-
});
|
|
320
|
-
const judgeTo = input.judge === undefined
|
|
321
|
-
? undefined
|
|
322
|
-
: await findAssociatedTokenAddress({
|
|
323
|
-
owner: input.judge,
|
|
324
|
-
mint: input.inputMint,
|
|
325
|
-
tokenProgram: input.inputTokenProgram,
|
|
326
|
-
});
|
|
327
|
-
return getFillAttestedInstructionAsync({
|
|
328
|
-
solver: input.solver,
|
|
329
|
-
intent: await intentOf(input.owner, input.nonce),
|
|
330
|
-
inputMint: input.inputMint,
|
|
331
|
-
payee: input.payee,
|
|
332
|
-
...(feeTo === undefined ? {} : { feeTo }),
|
|
333
|
-
...(await partnerAccount(input)),
|
|
334
|
-
...(judgeTo === undefined ? {} : { judgeTo }),
|
|
335
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
336
|
-
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
337
|
-
amountIn: input.amountIn,
|
|
338
|
-
result: input.result,
|
|
339
|
-
maxFeeBps: input.maxFeeBps,
|
|
340
|
-
ext: fillExt(input.ext),
|
|
341
|
-
...(await events()),
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
export const MAX_SPLIT_RECIPIENTS = 8;
|
|
345
|
-
export async function buildFillAttestedSplit(input) {
|
|
346
|
-
if (input.recipients.length < 1 || input.recipients.length > MAX_SPLIT_RECIPIENTS) {
|
|
347
|
-
throw new Error(`split needs 1..=${MAX_SPLIT_RECIPIENTS} recipients, got ${input.recipients.length}`);
|
|
348
|
-
}
|
|
349
|
-
if (input.weights.length !== input.recipients.length) {
|
|
350
|
-
throw new Error(`split needs one weight per recipient, got ${input.weights.length} for ${input.recipients.length}`);
|
|
351
|
-
}
|
|
352
|
-
const feeTo = input.feeRecipient === undefined
|
|
353
|
-
? undefined
|
|
354
|
-
: await findAssociatedTokenAddress({
|
|
355
|
-
owner: input.feeRecipient,
|
|
356
|
-
mint: input.inputMint,
|
|
357
|
-
tokenProgram: input.inputTokenProgram,
|
|
358
|
-
});
|
|
359
|
-
const judgeTo = input.judge === undefined
|
|
360
|
-
? undefined
|
|
361
|
-
: await findAssociatedTokenAddress({
|
|
362
|
-
owner: input.judge,
|
|
363
|
-
mint: input.inputMint,
|
|
364
|
-
tokenProgram: input.inputTokenProgram,
|
|
365
|
-
});
|
|
366
|
-
const slots = await Promise.all(input.recipients.map((owner) => findAssociatedTokenAddress({
|
|
367
|
-
owner,
|
|
368
|
-
mint: input.inputMint,
|
|
369
|
-
tokenProgram: input.inputTokenProgram,
|
|
370
|
-
})));
|
|
371
|
-
return getFillAttestedSplitInstructionAsync({
|
|
372
|
-
solver: input.solver,
|
|
373
|
-
intent: await intentOf(input.owner, input.nonce),
|
|
374
|
-
inputMint: input.inputMint,
|
|
375
|
-
...(feeTo === undefined ? {} : { feeTo }),
|
|
376
|
-
...(await partnerAccount(input)),
|
|
377
|
-
...(judgeTo === undefined ? {} : { judgeTo }),
|
|
378
|
-
...(slots[0] === undefined ? {} : { recipient0: slots[0] }),
|
|
379
|
-
...(slots[1] === undefined ? {} : { recipient1: slots[1] }),
|
|
380
|
-
...(slots[2] === undefined ? {} : { recipient2: slots[2] }),
|
|
381
|
-
...(slots[3] === undefined ? {} : { recipient3: slots[3] }),
|
|
382
|
-
...(slots[4] === undefined ? {} : { recipient4: slots[4] }),
|
|
383
|
-
...(slots[5] === undefined ? {} : { recipient5: slots[5] }),
|
|
384
|
-
...(slots[6] === undefined ? {} : { recipient6: slots[6] }),
|
|
385
|
-
...(slots[7] === undefined ? {} : { recipient7: slots[7] }),
|
|
386
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
387
|
-
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
388
|
-
amountIn: input.amountIn,
|
|
389
|
-
result: input.result,
|
|
390
|
-
maxFeeBps: input.maxFeeBps,
|
|
391
|
-
recipients: input.recipients,
|
|
392
|
-
weights: input.weights,
|
|
393
|
-
ext: fillExt(input.ext),
|
|
394
|
-
...(await events()),
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
export async function buildFlashFill(input) {
|
|
398
|
-
const baseIndex = input.baseIndex ?? 0;
|
|
399
|
-
if (!Number.isInteger(baseIndex) || baseIndex < 0) {
|
|
400
|
-
throw new RangeError(`baseIndex must be a non-negative integer, got ${baseIndex}`);
|
|
401
|
-
}
|
|
402
|
-
const prefix = input.prefix ?? [];
|
|
403
|
-
const route = input.route ?? [];
|
|
404
|
-
const endIndex = baseIndex + prefix.length + 1 + route.length;
|
|
405
|
-
if (endIndex > 0xffff) {
|
|
406
|
-
throw new RangeError(`a flash fill cannot end at instruction ${endIndex}`);
|
|
407
|
-
}
|
|
408
|
-
const intent = await intentOf(input.owner, input.nonce);
|
|
409
|
-
const feeTo = input.feeRecipient === undefined
|
|
410
|
-
? undefined
|
|
411
|
-
: await findAssociatedTokenAddress({
|
|
412
|
-
owner: input.feeRecipient,
|
|
413
|
-
mint: input.inputMint,
|
|
414
|
-
tokenProgram: input.inputTokenProgram,
|
|
415
|
-
});
|
|
416
|
-
const begin = await getBeginFillInstructionAsync({
|
|
417
|
-
solver: input.solver,
|
|
418
|
-
intent,
|
|
419
|
-
inputMint: input.inputMint,
|
|
420
|
-
solverInput: input.solverInput,
|
|
421
|
-
...(feeTo === undefined ? {} : { feeTo }),
|
|
422
|
-
...(await partnerAccount(input)),
|
|
423
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
424
|
-
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
425
|
-
...(await mandateAccounts(input)),
|
|
426
|
-
...(await agentAccount(input)),
|
|
427
|
-
amountIn: input.amountIn,
|
|
428
|
-
endIndex,
|
|
429
|
-
maxFeeBps: input.maxFeeBps,
|
|
430
|
-
ext: fillExt(input.beginExt),
|
|
431
|
-
...(await events()),
|
|
432
|
-
});
|
|
433
|
-
const end = getEndFillInstruction({
|
|
434
|
-
intent,
|
|
435
|
-
solver: input.solver,
|
|
436
|
-
outputMint: input.outputMint,
|
|
437
|
-
receiver: input.receiver,
|
|
438
|
-
solverOutput: input.solverOutput,
|
|
439
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
440
|
-
amountOut: input.amountOut,
|
|
441
|
-
ext: fillExt(input.endExt),
|
|
442
|
-
...(await events()),
|
|
443
|
-
});
|
|
444
|
-
return [...prefix, begin, ...route, end];
|
|
445
|
-
}
|
|
446
|
-
export async function buildCreateMandate(input) {
|
|
447
|
-
const owner = input.owner.address;
|
|
448
|
-
const [mandate] = await findMandatePda({ owner, agent: input.mandate.agent, id: input.mandate.id });
|
|
449
|
-
return getCreateMandateInstructionAsync({
|
|
450
|
-
owner: input.owner,
|
|
451
|
-
mandate,
|
|
452
|
-
inputMint: input.inputMint,
|
|
453
|
-
outputMint: input.outputMint,
|
|
454
|
-
ownerInput: input.ownerInput ??
|
|
455
|
-
(await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram })),
|
|
456
|
-
receiver: input.receiver ??
|
|
457
|
-
(await findAssociatedTokenAddress({ owner, mint: input.outputMint, tokenProgram: input.outputTokenProgram })),
|
|
458
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
459
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
460
|
-
...mandateArgs(input.mandate),
|
|
461
|
-
...(await events()),
|
|
462
|
-
});
|
|
463
|
-
}
|
|
464
|
-
export async function buildRevokeMandate(input) {
|
|
465
|
-
const [mandate] = await findMandatePda({ owner: input.owner.address, agent: input.agent, id: input.id });
|
|
466
|
-
return getRevokeMandateInstruction({ owner: input.owner, mandate, ...(await events()) });
|
|
467
|
-
}
|
|
468
|
-
export async function buildCreateIntentByAgent(input) {
|
|
469
|
-
const owner = input.owner;
|
|
470
|
-
const args = createArgs(input);
|
|
471
|
-
const ownerInput = input.ownerInput ??
|
|
472
|
-
(await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
|
|
473
|
-
const receiver = input.receiver ??
|
|
474
|
-
(await findAssociatedTokenAddress({ owner, mint: input.outputMint, tokenProgram: input.outputTokenProgram }));
|
|
475
|
-
const [mandate] = await findMandatePda({ owner, agent: input.agent.address, id: input.mandateId });
|
|
476
|
-
return getCreateIntentByAgentInstructionAsync({
|
|
477
|
-
agent: input.agent,
|
|
478
|
-
owner,
|
|
479
|
-
mandate,
|
|
480
|
-
intent: await intentOf(owner, input.nonce),
|
|
481
|
-
inputMint: input.inputMint,
|
|
482
|
-
outputMint: input.outputMint,
|
|
483
|
-
ownerInput,
|
|
484
|
-
receiver,
|
|
485
|
-
receiverAuthority: owner,
|
|
486
|
-
delegate: (await findDelegatePda({ owner }))[0],
|
|
487
|
-
treasury: input.treasury,
|
|
488
|
-
inputTokenProgram: input.inputTokenProgram,
|
|
489
|
-
outputTokenProgram: input.outputTokenProgram,
|
|
490
|
-
args,
|
|
491
|
-
...(await events()),
|
|
492
|
-
});
|
|
493
|
-
}
|
|
1
|
+
export { createExt, INSTRUCTIONS_SYSVAR_ADDRESS } from "./builder-accounts.js";
|
|
2
|
+
export { buildAcceptAdmin, buildInitConfig, buildLowerPause, buildProposeAdmin, buildRaisePause, buildUpdateConfig, buildUpdateEconomics, findProgramDataAddress, UPGRADEABLE_LOADER_ADDRESS, } from "./admin-builders.js";
|
|
3
|
+
export { buildAdvanceEpoch, buildAdvanceNonce, buildApproveDelegate, buildApproveForIntent, buildCreateMandate, buildInitUser, buildRevokeMandate, EPOCH_JUMP_BITS, MAX_EPOCH_JUMP, MAX_NONCE_JUMP, nextEpoch, NONCE_CEILING, } from "./owner-builders.js";
|
|
4
|
+
export { buildCancelIntent, buildCloseIntent, buildCreateIntent, buildCreateIntentByAgent, buildCreateIntentSigned, buildExpireIntent, } from "./intent-builders.js";
|
|
5
|
+
export { buildFillAttested, buildFillAttestedSplit, buildFillIntent, buildFlashFill, } from "./fill-builders.js";
|
|
494
6
|
//# sourceMappingURL=builders.js.map
|
package/dist/src/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EAGpB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAIlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,cAAc,GAKf,MAAM,oBAAoB,CAAC"}
|
package/dist/src/describe.d.ts
CHANGED
|
@@ -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;
|
|
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;
|
|
@@ -39,4 +39,8 @@ export declare function describeTerms(f: TermsFields, o: {
|
|
|
39
39
|
inputDecimals?: number | undefined;
|
|
40
40
|
outputDecimals?: number | undefined;
|
|
41
41
|
} & TokenNames): string[];
|
|
42
|
+
export declare const PARTNER_BASE_SOLD = "the sold amount";
|
|
43
|
+
export declare const PARTNER_BASE_AFTER_JUDGE = "the sold amount less the judge fee";
|
|
44
|
+
export declare function partnerBaseOf(params: IntentParams): string;
|
|
45
|
+
export declare function partnerFeeLine(bps: number, key: string, base?: string): string;
|
|
42
46
|
export declare function describeSignedIntent(f: SignedIntentFields, o: DescribeOptions): Promise<SignedIntentDescription>;
|
package/dist/src/describe.js
CHANGED
|
@@ -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;
|
|
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;
|
|
@@ -73,17 +73,36 @@ export function describeTerms(f, o) {
|
|
|
73
73
|
sell(params.amountIn),
|
|
74
74
|
`Receive: at least ${out(params.startOut)} at ${formatTime(params.startTs)}, falling to ${out(params.endOut)} at ${formatTime(params.endTs)}`,
|
|
75
75
|
];
|
|
76
|
-
case Kind.AttestedResult:
|
|
76
|
+
case Kind.AttestedResult: {
|
|
77
|
+
const proof = params.specHash.some((byte) => byte !== 0);
|
|
77
78
|
return [
|
|
78
79
|
sell(params.amountIn),
|
|
79
80
|
`Settles: when ${params.attestor} attests a result between ${params.minResult} and ${params.maxResult}`,
|
|
81
|
+
...(proof ? [`Spec hash: ${hex(params.specHash)}, the spec the judge checks the work against`] : []),
|
|
82
|
+
...(proof || params.judgeFee !== 0n
|
|
83
|
+
? [
|
|
84
|
+
`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`,
|
|
85
|
+
]
|
|
86
|
+
: []),
|
|
80
87
|
`Output token: ${tokenOf(f.outputMint, o.outputName)}, recorded with the intent only; an attested settlement pays you nothing on chain`,
|
|
81
88
|
];
|
|
89
|
+
}
|
|
82
90
|
}
|
|
83
91
|
}
|
|
92
|
+
export const PARTNER_BASE_SOLD = "the sold amount";
|
|
93
|
+
export const PARTNER_BASE_AFTER_JUDGE = "the sold amount less the judge fee";
|
|
94
|
+
export function partnerBaseOf(params) {
|
|
95
|
+
return params.kind === Kind.AttestedResult && params.judgeFee !== 0n ? PARTNER_BASE_AFTER_JUDGE : PARTNER_BASE_SOLD;
|
|
96
|
+
}
|
|
97
|
+
export function partnerFeeLine(bps, key, base = PARTNER_BASE_SOLD) {
|
|
98
|
+
return `Partner fee: ${bps} bps of ${base}, rounded up, to ${key}, less the protocol's partner cut fixed when the intent is created`;
|
|
99
|
+
}
|
|
84
100
|
function partnerLine(f) {
|
|
85
101
|
const partner = partnerOf(f.ext ?? new Uint8Array());
|
|
86
|
-
|
|
102
|
+
if (partner === undefined) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
return [partnerFeeLine(partner.bps, partner.key, partnerBaseOf(decodeParams(f.kind, f.params)))];
|
|
87
106
|
}
|
|
88
107
|
export async function describeSignedIntent(f, o) {
|
|
89
108
|
checkSignable(f);
|
package/dist/src/describe.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/describe.ts"],"names":[],"mappings":"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"}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export
|
|
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"];
|
|
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);
|