@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.
- package/dist/generated/client/accounts/claimBoard.d.ts +50 -0
- package/dist/generated/client/accounts/claimBoard.js +77 -0
- package/dist/generated/client/accounts/claimBoard.js.map +1 -0
- package/dist/generated/client/accounts/committee.d.ts +48 -0
- package/dist/generated/client/accounts/committee.js +75 -0
- package/dist/generated/client/accounts/committee.js.map +1 -0
- package/dist/generated/client/accounts/config.d.ts +2 -0
- package/dist/generated/client/accounts/config.js +4 -2
- package/dist/generated/client/accounts/config.js.map +1 -1
- package/dist/generated/client/accounts/index.d.ts +4 -0
- package/dist/generated/client/accounts/index.js +4 -0
- package/dist/generated/client/accounts/index.js.map +1 -1
- package/dist/generated/client/accounts/intent.d.ts +2 -0
- package/dist/generated/client/accounts/intent.js +4 -2
- package/dist/generated/client/accounts/intent.js.map +1 -1
- package/dist/generated/client/accounts/mintCap.d.ts +48 -0
- package/dist/generated/client/accounts/mintCap.js +75 -0
- package/dist/generated/client/accounts/mintCap.js.map +1 -0
- package/dist/generated/client/accounts/profile.d.ts +48 -0
- package/dist/generated/client/accounts/profile.js +81 -0
- package/dist/generated/client/accounts/profile.js.map +1 -0
- package/dist/generated/client/errors/intentEngine.d.ts +31 -1
- package/dist/generated/client/errors/intentEngine.js +45 -0
- package/dist/generated/client/errors/intentEngine.js.map +1 -1
- package/dist/generated/client/events/capsRequiredSet.d.ts +22 -0
- package/dist/generated/client/events/capsRequiredSet.js +32 -0
- package/dist/generated/client/events/capsRequiredSet.js.map +1 -0
- package/dist/generated/client/events/claimDropped.d.ts +28 -0
- package/dist/generated/client/events/claimDropped.js +40 -0
- package/dist/generated/client/events/claimDropped.js.map +1 -0
- package/dist/generated/client/events/claimsClosed.d.ts +23 -0
- package/dist/generated/client/events/claimsClosed.js +38 -0
- package/dist/generated/client/events/claimsClosed.js.map +1 -0
- package/dist/generated/client/events/claimsOpened.d.ts +30 -0
- package/dist/generated/client/events/claimsOpened.js +42 -0
- package/dist/generated/client/events/claimsOpened.js.map +1 -0
- package/dist/generated/client/events/committeeAttested.d.ts +24 -0
- package/dist/generated/client/events/committeeAttested.js +40 -0
- package/dist/generated/client/events/committeeAttested.js.map +1 -0
- package/dist/generated/client/events/committeeCreated.d.ts +25 -0
- package/dist/generated/client/events/committeeCreated.js +42 -0
- package/dist/generated/client/events/committeeCreated.js.map +1 -0
- package/dist/generated/client/events/index.d.ts +11 -0
- package/dist/generated/client/events/index.js +11 -0
- package/dist/generated/client/events/index.js.map +1 -1
- package/dist/generated/client/events/jobClaimed.d.ts +30 -0
- package/dist/generated/client/events/jobClaimed.js +42 -0
- package/dist/generated/client/events/jobClaimed.js.map +1 -0
- package/dist/generated/client/events/mintCapSet.d.ts +36 -0
- package/dist/generated/client/events/mintCapSet.js +48 -0
- package/dist/generated/client/events/mintCapSet.js.map +1 -0
- package/dist/generated/client/events/profileClosed.d.ts +22 -0
- package/dist/generated/client/events/profileClosed.js +32 -0
- package/dist/generated/client/events/profileClosed.js.map +1 -0
- package/dist/generated/client/events/profileSet.d.ts +26 -0
- package/dist/generated/client/events/profileSet.js +50 -0
- package/dist/generated/client/events/profileSet.js.map +1 -0
- package/dist/generated/client/events/stakeMoved.d.ts +32 -0
- package/dist/generated/client/events/stakeMoved.js +44 -0
- package/dist/generated/client/events/stakeMoved.js.map +1 -0
- package/dist/generated/client/instructions/claimJob.d.ts +72 -0
- package/dist/generated/client/instructions/claimJob.js +163 -0
- package/dist/generated/client/instructions/claimJob.js.map +1 -0
- package/dist/generated/client/instructions/closeProfile.d.ts +55 -0
- package/dist/generated/client/instructions/closeProfile.js +131 -0
- package/dist/generated/client/instructions/closeProfile.js.map +1 -0
- package/dist/generated/client/instructions/createCommittee.d.ts +76 -0
- package/dist/generated/client/instructions/createCommittee.js +163 -0
- package/dist/generated/client/instructions/createCommittee.js.map +1 -0
- package/dist/generated/client/instructions/createIntent.d.ts +13 -9
- package/dist/generated/client/instructions/createIntent.js +21 -2
- package/dist/generated/client/instructions/createIntent.js.map +1 -1
- package/dist/generated/client/instructions/createIntentByAgent.d.ts +13 -9
- package/dist/generated/client/instructions/createIntentByAgent.js +21 -2
- package/dist/generated/client/instructions/createIntentByAgent.js.map +1 -1
- package/dist/generated/client/instructions/createIntentSigned.d.ts +13 -9
- package/dist/generated/client/instructions/createIntentSigned.js +15 -2
- package/dist/generated/client/instructions/createIntentSigned.js.map +1 -1
- package/dist/generated/client/instructions/createProfile.d.ts +65 -0
- package/dist/generated/client/instructions/createProfile.js +162 -0
- package/dist/generated/client/instructions/createProfile.js.map +1 -0
- package/dist/generated/client/instructions/dropClaim.d.ts +59 -0
- package/dist/generated/client/instructions/dropClaim.js +128 -0
- package/dist/generated/client/instructions/dropClaim.js.map +1 -0
- package/dist/generated/client/instructions/fillAttested.d.ts +17 -9
- package/dist/generated/client/instructions/fillAttested.js +20 -2
- package/dist/generated/client/instructions/fillAttested.js.map +1 -1
- package/dist/generated/client/instructions/fillAttestedCommittee.d.ts +124 -0
- package/dist/generated/client/instructions/fillAttestedCommittee.js +271 -0
- package/dist/generated/client/instructions/fillAttestedCommittee.js.map +1 -0
- package/dist/generated/client/instructions/fillAttestedSplit.d.ts +22 -17
- package/dist/generated/client/instructions/fillAttestedSplit.js +24 -7
- package/dist/generated/client/instructions/fillAttestedSplit.js.map +1 -1
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.d.ts +157 -0
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.js +373 -0
- package/dist/generated/client/instructions/fillAttestedSplitCommittee.js.map +1 -0
- package/dist/generated/client/instructions/index.d.ts +12 -0
- package/dist/generated/client/instructions/index.js +12 -0
- package/dist/generated/client/instructions/index.js.map +1 -1
- package/dist/generated/client/instructions/openClaims.d.ts +72 -0
- package/dist/generated/client/instructions/openClaims.js +160 -0
- package/dist/generated/client/instructions/openClaims.js.map +1 -0
- package/dist/generated/client/instructions/setCapsRequired.d.ts +50 -0
- package/dist/generated/client/instructions/setCapsRequired.js +93 -0
- package/dist/generated/client/instructions/setCapsRequired.js.map +1 -0
- package/dist/generated/client/instructions/setMintCap.d.ts +84 -0
- package/dist/generated/client/instructions/setMintCap.js +188 -0
- package/dist/generated/client/instructions/setMintCap.js.map +1 -0
- package/dist/generated/client/instructions/settleClaims.d.ts +63 -0
- package/dist/generated/client/instructions/settleClaims.js +139 -0
- package/dist/generated/client/instructions/settleClaims.js.map +1 -0
- package/dist/generated/client/instructions/updateProfile.d.ts +61 -0
- package/dist/generated/client/instructions/updateProfile.js +140 -0
- package/dist/generated/client/instructions/updateProfile.js.map +1 -0
- package/dist/generated/client/pdas/board.d.ts +14 -0
- package/dist/generated/client/pdas/board.js +19 -0
- package/dist/generated/client/pdas/board.js.map +1 -0
- package/dist/generated/client/pdas/committee.d.ts +14 -0
- package/dist/generated/client/pdas/committee.js +19 -0
- package/dist/generated/client/pdas/committee.js.map +1 -0
- package/dist/generated/client/pdas/index.d.ts +4 -0
- package/dist/generated/client/pdas/index.js +4 -0
- package/dist/generated/client/pdas/index.js.map +1 -1
- package/dist/generated/client/pdas/mintCap.d.ts +14 -0
- package/dist/generated/client/pdas/mintCap.js +19 -0
- package/dist/generated/client/pdas/mintCap.js.map +1 -0
- package/dist/generated/client/pdas/profile.d.ts +14 -0
- package/dist/generated/client/pdas/profile.js +19 -0
- package/dist/generated/client/pdas/profile.js.map +1 -0
- package/dist/generated/client/programs/intentEngine.d.ts +190 -92
- package/dist/generated/client/programs/intentEngine.js +336 -91
- package/dist/generated/client/programs/intentEngine.js.map +1 -1
- package/dist/generated/client/types/index.d.ts +2 -0
- package/dist/generated/client/types/index.js +2 -0
- package/dist/generated/client/types/index.js.map +1 -1
- package/dist/generated/client/types/profileFields.d.ts +18 -0
- package/dist/generated/client/types/profileFields.js +34 -0
- package/dist/generated/client/types/profileFields.js.map +1 -0
- package/dist/generated/client/types/splitClaim.d.ts +16 -0
- package/dist/generated/client/types/splitClaim.js +24 -0
- package/dist/generated/client/types/splitClaim.js.map +1 -0
- 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/claims.d.ts +47 -0
- package/dist/src/claims.js +69 -0
- package/dist/src/claims.js.map +1 -0
- package/dist/src/committee.d.ts +40 -0
- package/dist/src/committee.js +145 -0
- package/dist/src/committee.js.map +1 -0
- package/dist/src/describe.d.ts +6 -1
- package/dist/src/describe.js +25 -3
- package/dist/src/describe.js.map +1 -1
- package/dist/src/errors.d.ts +2 -1
- package/dist/src/errors.js +44 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/events.d.ts +12 -1
- package/dist/src/events.js +15 -1
- package/dist/src/events.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 +63 -0
- package/dist/src/fill-builders.js +151 -0
- package/dist/src/fill-builders.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/intent-builders.d.ts +65 -0
- package/dist/src/intent-builders.js +159 -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 +11 -1
- package/dist/src/memo.js +40 -4
- package/dist/src/memo.js.map +1 -1
- package/dist/src/mint-caps.d.ts +31 -0
- package/dist/src/mint-caps.js +73 -0
- package/dist/src/mint-caps.js.map +1 -0
- 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/state.d.ts +3 -0
- package/dist/src/state.js +5 -0
- package/dist/src/state.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/generated/idl.json +1990 -63
- package/package.json +19 -6
- 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
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { getBeginFillInstructionAsync, getEndFillInstruction, getFillAttestedCommitteeInstructionAsync, getFillAttestedInstructionAsync, getFillAttestedSplitCommitteeInstructionAsync, 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
|
+
async function ataOf(owner, input) {
|
|
35
|
+
return owner === undefined
|
|
36
|
+
? undefined
|
|
37
|
+
: findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram });
|
|
38
|
+
}
|
|
39
|
+
async function attestedAccounts(input) {
|
|
40
|
+
const feeTo = await ataOf(input.feeRecipient, input);
|
|
41
|
+
const judgeTo = await ataOf(input.judge, input);
|
|
42
|
+
return {
|
|
43
|
+
solver: input.solver,
|
|
44
|
+
intent: await intentOf(input.owner, input.nonce),
|
|
45
|
+
inputMint: input.inputMint,
|
|
46
|
+
...(feeTo === undefined ? {} : { feeTo }),
|
|
47
|
+
...(await partnerAccount(input)),
|
|
48
|
+
...(judgeTo === undefined ? {} : { judgeTo }),
|
|
49
|
+
inputTokenProgram: input.inputTokenProgram,
|
|
50
|
+
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
51
|
+
...(input.claims === undefined ? {} : { claims: input.claims }),
|
|
52
|
+
...(input.stakeTo === undefined ? {} : { stakeTo: input.stakeTo }),
|
|
53
|
+
amountIn: input.amountIn,
|
|
54
|
+
result: input.result,
|
|
55
|
+
maxFeeBps: input.maxFeeBps,
|
|
56
|
+
ext: fillExt(input.ext),
|
|
57
|
+
...(await events()),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export async function buildFillAttested(input) {
|
|
61
|
+
return getFillAttestedInstructionAsync({ ...(await attestedAccounts(input)), payee: input.payee });
|
|
62
|
+
}
|
|
63
|
+
export async function buildFillAttestedCommittee(input) {
|
|
64
|
+
return getFillAttestedCommitteeInstructionAsync({
|
|
65
|
+
...(await attestedAccounts(input)),
|
|
66
|
+
payee: input.payee,
|
|
67
|
+
committee: input.committee,
|
|
68
|
+
signers: input.signers,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async function splitAccounts(input) {
|
|
72
|
+
if (input.recipients.length < 1 || input.recipients.length > MAX_SPLIT_RECIPIENTS) {
|
|
73
|
+
throw new Error(`split needs 1..=${MAX_SPLIT_RECIPIENTS} recipients, got ${input.recipients.length}`);
|
|
74
|
+
}
|
|
75
|
+
if (input.weights.length !== input.recipients.length) {
|
|
76
|
+
throw new Error(`split needs one weight per recipient, got ${input.weights.length} for ${input.recipients.length}`);
|
|
77
|
+
}
|
|
78
|
+
const slots = await Promise.all(input.recipients.map((owner) => ataOf(owner, input)));
|
|
79
|
+
return {
|
|
80
|
+
...(await attestedAccounts(input)),
|
|
81
|
+
...(slots[0] === undefined ? {} : { recipient0: slots[0] }),
|
|
82
|
+
...(slots[1] === undefined ? {} : { recipient1: slots[1] }),
|
|
83
|
+
...(slots[2] === undefined ? {} : { recipient2: slots[2] }),
|
|
84
|
+
...(slots[3] === undefined ? {} : { recipient3: slots[3] }),
|
|
85
|
+
...(slots[4] === undefined ? {} : { recipient4: slots[4] }),
|
|
86
|
+
...(slots[5] === undefined ? {} : { recipient5: slots[5] }),
|
|
87
|
+
...(slots[6] === undefined ? {} : { recipient6: slots[6] }),
|
|
88
|
+
...(slots[7] === undefined ? {} : { recipient7: slots[7] }),
|
|
89
|
+
claim: { recipients: input.recipients, weights: input.weights },
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export async function buildFillAttestedSplit(input) {
|
|
93
|
+
return getFillAttestedSplitInstructionAsync(await splitAccounts(input));
|
|
94
|
+
}
|
|
95
|
+
export async function buildFillAttestedSplitCommittee(input) {
|
|
96
|
+
return getFillAttestedSplitCommitteeInstructionAsync({
|
|
97
|
+
...(await splitAccounts(input)),
|
|
98
|
+
committee: input.committee,
|
|
99
|
+
signers: input.signers,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
export async function buildFlashFill(input) {
|
|
103
|
+
const baseIndex = input.baseIndex ?? 0;
|
|
104
|
+
if (!Number.isInteger(baseIndex) || baseIndex < 0) {
|
|
105
|
+
throw new RangeError(`baseIndex must be a non-negative integer, got ${baseIndex}`);
|
|
106
|
+
}
|
|
107
|
+
const prefix = input.prefix ?? [];
|
|
108
|
+
const route = input.route ?? [];
|
|
109
|
+
const endIndex = baseIndex + prefix.length + 1 + route.length;
|
|
110
|
+
if (endIndex > 0xffff) {
|
|
111
|
+
throw new RangeError(`a flash fill cannot end at instruction ${endIndex}`);
|
|
112
|
+
}
|
|
113
|
+
const intent = await intentOf(input.owner, input.nonce);
|
|
114
|
+
const feeTo = input.feeRecipient === undefined
|
|
115
|
+
? undefined
|
|
116
|
+
: await findAssociatedTokenAddress({
|
|
117
|
+
owner: input.feeRecipient,
|
|
118
|
+
mint: input.inputMint,
|
|
119
|
+
tokenProgram: input.inputTokenProgram,
|
|
120
|
+
});
|
|
121
|
+
const begin = await getBeginFillInstructionAsync({
|
|
122
|
+
solver: input.solver,
|
|
123
|
+
intent,
|
|
124
|
+
inputMint: input.inputMint,
|
|
125
|
+
solverInput: input.solverInput,
|
|
126
|
+
...(feeTo === undefined ? {} : { feeTo }),
|
|
127
|
+
...(await partnerAccount(input)),
|
|
128
|
+
inputTokenProgram: input.inputTokenProgram,
|
|
129
|
+
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
130
|
+
...(await mandateAccounts(input)),
|
|
131
|
+
...(await agentAccount(input)),
|
|
132
|
+
amountIn: input.amountIn,
|
|
133
|
+
endIndex,
|
|
134
|
+
maxFeeBps: input.maxFeeBps,
|
|
135
|
+
ext: fillExt(input.beginExt),
|
|
136
|
+
...(await events()),
|
|
137
|
+
});
|
|
138
|
+
const end = getEndFillInstruction({
|
|
139
|
+
intent,
|
|
140
|
+
solver: input.solver,
|
|
141
|
+
outputMint: input.outputMint,
|
|
142
|
+
receiver: input.receiver,
|
|
143
|
+
solverOutput: input.solverOutput,
|
|
144
|
+
outputTokenProgram: input.outputTokenProgram,
|
|
145
|
+
amountOut: input.amountOut,
|
|
146
|
+
ext: fillExt(input.endExt),
|
|
147
|
+
...(await events()),
|
|
148
|
+
});
|
|
149
|
+
return [...prefix, begin, ...route, end];
|
|
150
|
+
}
|
|
151
|
+
//# 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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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export * from "../generated/client/index.js";
|
|
|
2
2
|
export * from "../generated/identity.js";
|
|
3
3
|
export * from "./bounty.js";
|
|
4
4
|
export * from "./builders.js";
|
|
5
|
+
export * from "./claims.js";
|
|
6
|
+
export * from "./committee.js";
|
|
5
7
|
export * from "./compute.js";
|
|
6
8
|
export * from "./describe.js";
|
|
7
9
|
export * from "./errors.js";
|
|
@@ -13,6 +15,7 @@ export * from "./mandate.js";
|
|
|
13
15
|
export * from "./manifest.js";
|
|
14
16
|
export * from "./math.js";
|
|
15
17
|
export * from "./memo.js";
|
|
18
|
+
export * from "./mint-caps.js";
|
|
16
19
|
export * from "./mints.js";
|
|
17
20
|
export * from "./pdas.js";
|
|
18
21
|
export * from "./sig.js";
|
package/dist/src/index.js
CHANGED
|
@@ -2,6 +2,8 @@ export * from "../generated/client/index.js";
|
|
|
2
2
|
export * from "../generated/identity.js";
|
|
3
3
|
export * from "./bounty.js";
|
|
4
4
|
export * from "./builders.js";
|
|
5
|
+
export * from "./claims.js";
|
|
6
|
+
export * from "./committee.js";
|
|
5
7
|
export * from "./compute.js";
|
|
6
8
|
export * from "./describe.js";
|
|
7
9
|
export * from "./errors.js";
|
|
@@ -13,6 +15,7 @@ export * from "./mandate.js";
|
|
|
13
15
|
export * from "./manifest.js";
|
|
14
16
|
export * from "./math.js";
|
|
15
17
|
export * from "./memo.js";
|
|
18
|
+
export * from "./mint-caps.js";
|
|
16
19
|
export * from "./mints.js";
|
|
17
20
|
export * from "./pdas.js";
|
|
18
21
|
export * from "./sig.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -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,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"}
|
|
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,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,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,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
mintCap?: Address;
|
|
23
|
+
};
|
|
24
|
+
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, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
25
|
+
type IntentRef = {
|
|
26
|
+
owner: Address;
|
|
27
|
+
nonce: bigint;
|
|
28
|
+
inputMint: Address;
|
|
29
|
+
tokenProgram: Address;
|
|
30
|
+
};
|
|
31
|
+
export declare function buildCancelIntent(input: Omit<IntentRef, "owner"> & {
|
|
32
|
+
owner: TransactionSigner;
|
|
33
|
+
refundTo?: Address;
|
|
34
|
+
ext?: Uint8Array;
|
|
35
|
+
}): Promise<import("../generated/client/index.js").CancelIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
36
|
+
export declare function buildExpireIntent(input: IntentRef & {
|
|
37
|
+
cranker: TransactionSigner;
|
|
38
|
+
refundTo?: Address;
|
|
39
|
+
ext?: Uint8Array;
|
|
40
|
+
}): Promise<import("../generated/client/index.js").ExpireIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
41
|
+
export declare function buildCloseIntent(input: IntentRef & {
|
|
42
|
+
cranker: TransactionSigner;
|
|
43
|
+
rentPayer?: Address;
|
|
44
|
+
intent?: {
|
|
45
|
+
rentPayer: Address;
|
|
46
|
+
};
|
|
47
|
+
refundTo?: Address;
|
|
48
|
+
ext?: Uint8Array;
|
|
49
|
+
}): Promise<import("../generated/client/index.js").CloseIntentInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
50
|
+
export type CreateIntentSignedSpec = Omit<CreateIntentSpec, "owner"> & {
|
|
51
|
+
payer: TransactionSigner;
|
|
52
|
+
owner: Address;
|
|
53
|
+
submitBy: bigint;
|
|
54
|
+
relayerFee?: bigint;
|
|
55
|
+
relayerFeeAccount?: Address;
|
|
56
|
+
};
|
|
57
|
+
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, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
58
|
+
export type CreateIntentByAgentSpec = Omit<CreateIntentSpec, "owner" | "treasury" | "receiverAuthority"> & {
|
|
59
|
+
agent: TransactionSigner;
|
|
60
|
+
owner: Address;
|
|
61
|
+
mandateId: bigint;
|
|
62
|
+
treasury: Address;
|
|
63
|
+
};
|
|
64
|
+
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, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
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 { mintCapSlot, withMintCap } from "./mint-caps.js";
|
|
4
|
+
import { findAssociatedTokenAddress, findMandatePda } from "./pdas.js";
|
|
5
|
+
export async function buildCreateIntent(input) {
|
|
6
|
+
const owner = input.owner.address;
|
|
7
|
+
const args = createArgs(input);
|
|
8
|
+
const ownerInput = input.ownerInput ??
|
|
9
|
+
(await findAssociatedTokenAddress({
|
|
10
|
+
owner,
|
|
11
|
+
mint: input.inputMint,
|
|
12
|
+
tokenProgram: input.inputTokenProgram,
|
|
13
|
+
}));
|
|
14
|
+
const receiver = input.receiver ??
|
|
15
|
+
(await findAssociatedTokenAddress({
|
|
16
|
+
owner,
|
|
17
|
+
mint: input.outputMint,
|
|
18
|
+
tokenProgram: input.outputTokenProgram,
|
|
19
|
+
}));
|
|
20
|
+
const create = await getCreateIntentInstructionAsync({
|
|
21
|
+
owner: input.owner,
|
|
22
|
+
intent: await intentOf(owner, input.nonce),
|
|
23
|
+
inputMint: input.inputMint,
|
|
24
|
+
outputMint: input.outputMint,
|
|
25
|
+
ownerInput,
|
|
26
|
+
receiver,
|
|
27
|
+
receiverAuthority: input.receiverAuthority ?? owner,
|
|
28
|
+
treasury: input.treasury,
|
|
29
|
+
inputTokenProgram: input.inputTokenProgram,
|
|
30
|
+
outputTokenProgram: input.outputTokenProgram,
|
|
31
|
+
args,
|
|
32
|
+
mintCap: mintCapSlot(input.mintCap),
|
|
33
|
+
...(await events()),
|
|
34
|
+
});
|
|
35
|
+
return withMintCap(create, input.mintCap);
|
|
36
|
+
}
|
|
37
|
+
async function canonicalRefund(ref) {
|
|
38
|
+
return findAssociatedTokenAddress({
|
|
39
|
+
owner: ref.owner,
|
|
40
|
+
mint: ref.inputMint,
|
|
41
|
+
tokenProgram: ref.tokenProgram,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export async function buildCancelIntent(input) {
|
|
45
|
+
const ref = { ...input, owner: input.owner.address };
|
|
46
|
+
const ext = settleExt(input.ext);
|
|
47
|
+
return getCancelIntentInstructionAsync({
|
|
48
|
+
owner: input.owner,
|
|
49
|
+
intent: await intentOf(ref.owner, input.nonce),
|
|
50
|
+
inputMint: input.inputMint,
|
|
51
|
+
refundTo: input.refundTo ?? (await canonicalRefund(ref)),
|
|
52
|
+
tokenProgram: input.tokenProgram,
|
|
53
|
+
ext,
|
|
54
|
+
...(await events()),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export async function buildExpireIntent(input) {
|
|
58
|
+
const ext = settleExt(input.ext);
|
|
59
|
+
return getExpireIntentInstructionAsync({
|
|
60
|
+
cranker: input.cranker,
|
|
61
|
+
intent: await intentOf(input.owner, input.nonce),
|
|
62
|
+
inputMint: input.inputMint,
|
|
63
|
+
refundTo: input.refundTo ?? (await canonicalRefund(input)),
|
|
64
|
+
canonicalRefund: await canonicalRefund(input),
|
|
65
|
+
tokenProgram: input.tokenProgram,
|
|
66
|
+
ext,
|
|
67
|
+
...(await events()),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export async function buildCloseIntent(input) {
|
|
71
|
+
const ext = settleExt(input.ext);
|
|
72
|
+
return getCloseIntentInstructionAsync({
|
|
73
|
+
cranker: input.cranker,
|
|
74
|
+
intent: await intentOf(input.owner, input.nonce),
|
|
75
|
+
inputMint: input.inputMint,
|
|
76
|
+
refundTo: input.refundTo ?? (await canonicalRefund(input)),
|
|
77
|
+
canonicalRefund: await canonicalRefund(input),
|
|
78
|
+
owner: input.owner,
|
|
79
|
+
rentPayer: input.rentPayer ?? input.intent?.rentPayer ?? input.owner,
|
|
80
|
+
tokenProgram: input.tokenProgram,
|
|
81
|
+
ext,
|
|
82
|
+
...(await events()),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async function feeAccount(name, fee, account, owner, input) {
|
|
86
|
+
if (fee === 0n) {
|
|
87
|
+
return {};
|
|
88
|
+
}
|
|
89
|
+
const address = account ?? (await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
|
|
90
|
+
return { [name]: address };
|
|
91
|
+
}
|
|
92
|
+
export async function buildCreateIntentSigned(input) {
|
|
93
|
+
const owner = input.owner;
|
|
94
|
+
const relayerFee = input.relayerFee ?? 0n;
|
|
95
|
+
const args = createArgs(input);
|
|
96
|
+
const ownerInput = input.ownerInput ??
|
|
97
|
+
(await findAssociatedTokenAddress({
|
|
98
|
+
owner,
|
|
99
|
+
mint: input.inputMint,
|
|
100
|
+
tokenProgram: input.inputTokenProgram,
|
|
101
|
+
}));
|
|
102
|
+
const receiver = input.receiver ??
|
|
103
|
+
(await findAssociatedTokenAddress({
|
|
104
|
+
owner,
|
|
105
|
+
mint: input.outputMint,
|
|
106
|
+
tokenProgram: input.outputTokenProgram,
|
|
107
|
+
}));
|
|
108
|
+
const create = await getCreateIntentSignedInstructionAsync({
|
|
109
|
+
payer: input.payer,
|
|
110
|
+
owner,
|
|
111
|
+
intent: await intentOf(owner, input.nonce),
|
|
112
|
+
inputMint: input.inputMint,
|
|
113
|
+
outputMint: input.outputMint,
|
|
114
|
+
ownerInput,
|
|
115
|
+
receiver,
|
|
116
|
+
receiverAuthority: input.receiverAuthority ?? owner,
|
|
117
|
+
delegate: (await findDelegatePda({ owner }))[0],
|
|
118
|
+
treasury: input.treasury,
|
|
119
|
+
inputTokenProgram: input.inputTokenProgram,
|
|
120
|
+
outputTokenProgram: input.outputTokenProgram,
|
|
121
|
+
instructions: INSTRUCTIONS_SYSVAR_ADDRESS,
|
|
122
|
+
...(await feeAccount("relayerFeeTo", relayerFee, input.relayerFeeAccount, input.payer.address, input)),
|
|
123
|
+
args,
|
|
124
|
+
submitBy: input.submitBy,
|
|
125
|
+
relayerFee,
|
|
126
|
+
mintCap: mintCapSlot(input.mintCap),
|
|
127
|
+
...(await events()),
|
|
128
|
+
});
|
|
129
|
+
return withMintCap(create, input.mintCap);
|
|
130
|
+
}
|
|
131
|
+
export async function buildCreateIntentByAgent(input) {
|
|
132
|
+
const owner = input.owner;
|
|
133
|
+
const args = createArgs(input);
|
|
134
|
+
const ownerInput = input.ownerInput ??
|
|
135
|
+
(await findAssociatedTokenAddress({ owner, mint: input.inputMint, tokenProgram: input.inputTokenProgram }));
|
|
136
|
+
const receiver = input.receiver ??
|
|
137
|
+
(await findAssociatedTokenAddress({ owner, mint: input.outputMint, tokenProgram: input.outputTokenProgram }));
|
|
138
|
+
const [mandate] = await findMandatePda({ owner, agent: input.agent.address, id: input.mandateId });
|
|
139
|
+
const create = await getCreateIntentByAgentInstructionAsync({
|
|
140
|
+
agent: input.agent,
|
|
141
|
+
owner,
|
|
142
|
+
mandate,
|
|
143
|
+
intent: await intentOf(owner, input.nonce),
|
|
144
|
+
inputMint: input.inputMint,
|
|
145
|
+
outputMint: input.outputMint,
|
|
146
|
+
ownerInput,
|
|
147
|
+
receiver,
|
|
148
|
+
receiverAuthority: owner,
|
|
149
|
+
delegate: (await findDelegatePda({ owner }))[0],
|
|
150
|
+
treasury: input.treasury,
|
|
151
|
+
inputTokenProgram: input.inputTokenProgram,
|
|
152
|
+
outputTokenProgram: input.outputTokenProgram,
|
|
153
|
+
args,
|
|
154
|
+
mintCap: mintCapSlot(input.mintCap),
|
|
155
|
+
...(await events()),
|
|
156
|
+
});
|
|
157
|
+
return withMintCap(create, input.mintCap);
|
|
158
|
+
}
|
|
159
|
+
//# 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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"}
|
package/dist/src/mandate.js
CHANGED
|
@@ -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 ? [] : [
|
|
71
|
+
...(spec.partner === undefined ? [] : [partnerFeeLine(spec.partner.bps, spec.partner.key)]),
|
|
72
72
|
...(agentFee === 0n
|
|
73
73
|
? []
|
|
74
74
|
: [
|
package/dist/src/mandate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAmB,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mandate.js","sourceRoot":"","sources":["../../src/mandate.ts"],"names":[],"mappings":"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"}
|
package/dist/src/math.d.ts
CHANGED
package/dist/src/math.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { IntentCoreError } from "./errors.js";
|
|
2
2
|
export const U64_MAX = (1n << 64n) - 1n;
|
|
3
|
+
export function checkU64(value, name = "amount") {
|
|
4
|
+
if (value < 0n || value > U64_MAX) {
|
|
5
|
+
throw new RangeError(`${name} ${String(value)} is not between 0 and ${U64_MAX}`);
|
|
6
|
+
}
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
3
9
|
function quotient(a, b, d) {
|
|
10
|
+
checkU64(a, "operand");
|
|
11
|
+
checkU64(b, "operand");
|
|
12
|
+
checkU64(d, "divisor");
|
|
4
13
|
if (d === 0n) {
|
|
5
14
|
throw new IntentCoreError("DivideByZero");
|
|
6
15
|
}
|
package/dist/src/math.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAExC,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACzD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACxD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAExC,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAI,GAAG,QAAQ;IACrD,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACzD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACxD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/src/memo.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { type Address } from "@solana/kit";
|
|
|
2
2
|
export declare const SPEC_MEMO_PREFIX = "solive-spec:";
|
|
3
3
|
export declare const DELIVERY_MEMO_PREFIX = "solive-delivery:";
|
|
4
4
|
export declare const RELEASE_MEMO_PREFIX = "delivery sha256:";
|
|
5
|
+
export declare const FEEDBACK_MEMO_PREFIX = "solive-feedback:";
|
|
6
|
+
export declare const MAX_FEEDBACK_SCORE = 100;
|
|
5
7
|
export declare const MAX_MEMO_URL = 200;
|
|
6
8
|
export declare const MAX_DELIVERY_MEMO: number;
|
|
7
9
|
export type SpecMemo = {
|
|
@@ -12,8 +14,14 @@ export type DeliveryMemo = {
|
|
|
12
14
|
sha256: string;
|
|
13
15
|
url: string;
|
|
14
16
|
};
|
|
15
|
-
export
|
|
17
|
+
export type FeedbackMemo = {
|
|
18
|
+
intent: Address;
|
|
19
|
+
score: number;
|
|
20
|
+
note?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const MEMO_URL_RULE = "an https url of at most 200 printable characters without spaces or backslashes, or http on localhost, 127.0.0.1 or [::1], in canonical form: lowercase scheme and host, no default port, no . or .. path segments, a / path before any ? or #, and characters percent-encoded as new URL() would";
|
|
16
23
|
export declare function isMemoUrl(url: string): boolean;
|
|
24
|
+
export declare function isLegacyMemoUrl(url: string): boolean;
|
|
17
25
|
export declare function isSha256Hex(text: string): boolean;
|
|
18
26
|
export declare function specMemo(url: string): string;
|
|
19
27
|
export declare function parseSpecMemo(text: string): SpecMemo | null;
|
|
@@ -21,3 +29,5 @@ export declare function deliveryMemo({ intent, sha256, url }: DeliveryMemo): str
|
|
|
21
29
|
export declare function parseDeliveryMemo(text: string): DeliveryMemo | null;
|
|
22
30
|
export declare function releaseMemo(sha256: string): string;
|
|
23
31
|
export declare function parseReleaseMemo(text: string): string | null;
|
|
32
|
+
export declare function feedbackMemo({ intent, score, note }: FeedbackMemo): string;
|
|
33
|
+
export declare function parseFeedbackMemo(text: string): FeedbackMemo | null;
|
package/dist/src/memo.js
CHANGED
|
@@ -3,14 +3,24 @@ import { PRODUCT_SLUG } from "../generated/identity.js";
|
|
|
3
3
|
export const SPEC_MEMO_PREFIX = `${PRODUCT_SLUG}-spec:`;
|
|
4
4
|
export const DELIVERY_MEMO_PREFIX = `${PRODUCT_SLUG}-delivery:`;
|
|
5
5
|
export const RELEASE_MEMO_PREFIX = "delivery sha256:";
|
|
6
|
+
export const FEEDBACK_MEMO_PREFIX = `${PRODUCT_SLUG}-feedback:`;
|
|
7
|
+
export const MAX_FEEDBACK_SCORE = 100;
|
|
6
8
|
export const MAX_MEMO_URL = 200;
|
|
7
9
|
export const MAX_DELIVERY_MEMO = DELIVERY_MEMO_PREFIX.length + 44 + 1 + 64 + 1 + MAX_MEMO_URL;
|
|
8
|
-
export const MEMO_URL_RULE = `an https url of at most ${MAX_MEMO_URL} printable characters without spaces, or http on localhost`;
|
|
10
|
+
export const MEMO_URL_RULE = `an https url of at most ${MAX_MEMO_URL} printable characters without spaces or backslashes, or http on localhost, 127.0.0.1 or [::1], in canonical form: lowercase scheme and host, no default port, no . or .. path segments, a / path before any ? or #, and characters percent-encoded as new URL() would`;
|
|
9
11
|
const PRINTABLE = /^[!-~]+$/;
|
|
10
12
|
const SHA256 = /^[0-9a-f]{64}$/;
|
|
11
13
|
const LOCAL_HOSTS = new Set(["localhost", "127.0.0.1", "[::1]"]);
|
|
12
14
|
export function isMemoUrl(url) {
|
|
13
|
-
if (
|
|
15
|
+
if (!isLegacyMemoUrl(url)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const parsed = new URL(url);
|
|
19
|
+
const bareOrigin = parsed.href === `${url}/` && parsed.pathname === "/" && parsed.search === "" && parsed.hash === "";
|
|
20
|
+
return parsed.href === url || bareOrigin;
|
|
21
|
+
}
|
|
22
|
+
export function isLegacyMemoUrl(url) {
|
|
23
|
+
if (url.length > MAX_MEMO_URL || !PRINTABLE.test(url) || url.includes("\\")) {
|
|
14
24
|
return false;
|
|
15
25
|
}
|
|
16
26
|
let parsed;
|
|
@@ -42,7 +52,7 @@ export function parseSpecMemo(text) {
|
|
|
42
52
|
return null;
|
|
43
53
|
}
|
|
44
54
|
const url = text.slice(SPEC_MEMO_PREFIX.length);
|
|
45
|
-
return
|
|
55
|
+
return isLegacyMemoUrl(url) ? { url } : null;
|
|
46
56
|
}
|
|
47
57
|
export function deliveryMemo({ intent, sha256, url }) {
|
|
48
58
|
if (!isAddress(intent)) {
|
|
@@ -68,7 +78,7 @@ export function parseDeliveryMemo(text) {
|
|
|
68
78
|
const intent = rest.slice(0, split);
|
|
69
79
|
const sha256 = rest.slice(split + 1, split + 65);
|
|
70
80
|
const url = rest.slice(split + 66);
|
|
71
|
-
if (rest[split + 65] !== ":" || !isAddress(intent) || !isSha256Hex(sha256) || !
|
|
81
|
+
if (rest[split + 65] !== ":" || !isAddress(intent) || !isSha256Hex(sha256) || !isLegacyMemoUrl(url)) {
|
|
72
82
|
return null;
|
|
73
83
|
}
|
|
74
84
|
return { intent, sha256, url };
|
|
@@ -83,4 +93,30 @@ export function parseReleaseMemo(text) {
|
|
|
83
93
|
const sha256 = text.slice(RELEASE_MEMO_PREFIX.length);
|
|
84
94
|
return text.startsWith(RELEASE_MEMO_PREFIX) && isSha256Hex(sha256) ? sha256 : null;
|
|
85
95
|
}
|
|
96
|
+
const SCORE = /^(0|[1-9][0-9]{0,2})$/;
|
|
97
|
+
export function feedbackMemo({ intent, score, note }) {
|
|
98
|
+
if (!isAddress(intent)) {
|
|
99
|
+
throw new RangeError("feedback names its intent by a base58 address");
|
|
100
|
+
}
|
|
101
|
+
if (!Number.isInteger(score) || score < 0 || score > MAX_FEEDBACK_SCORE) {
|
|
102
|
+
throw new RangeError(`a feedback score is a whole number from 0 to ${MAX_FEEDBACK_SCORE}`);
|
|
103
|
+
}
|
|
104
|
+
if (note !== undefined && !isSha256Hex(note)) {
|
|
105
|
+
throw new RangeError("a feedback note is the sha256 of the note as 64 lowercase hex digits");
|
|
106
|
+
}
|
|
107
|
+
return `${FEEDBACK_MEMO_PREFIX}${intent}:${score}${note === undefined ? "" : `:${note}`}`;
|
|
108
|
+
}
|
|
109
|
+
export function parseFeedbackMemo(text) {
|
|
110
|
+
if (!text.startsWith(FEEDBACK_MEMO_PREFIX)) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const [intent = "", score = "", note, ...rest] = text.slice(FEEDBACK_MEMO_PREFIX.length).split(":");
|
|
114
|
+
if (rest.length > 0 || !isAddress(intent) || !SCORE.test(score) || Number(score) > MAX_FEEDBACK_SCORE) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
if (note !== undefined && !isSha256Hex(note)) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
return { intent, score: Number(score), ...(note === undefined ? {} : { note }) };
|
|
121
|
+
}
|
|
86
122
|
//# sourceMappingURL=memo.js.map
|
package/dist/src/memo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/memo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,YAAY,QAAQ,CAAC;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,YAAY,YAAY,CAAC;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/memo.ts"],"names":[],"mappings":"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"}
|