@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
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, buildFillAttestedCommittee, buildFillAttestedSplit, buildFillAttestedSplitCommittee, 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,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,eAAe,EACf,cAAc,GAQf,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Address, TransactionSigner } from "@solana/kit";
|
|
2
|
+
export declare const CLAIMS_OPEN = 1;
|
|
3
|
+
export declare const MAX_CLAIM_SECS: number;
|
|
4
|
+
export declare const MAX_CLAIM_STAKE = 100000000000n;
|
|
5
|
+
export type ClaimSlot = {
|
|
6
|
+
state: "free";
|
|
7
|
+
} | {
|
|
8
|
+
state: "held";
|
|
9
|
+
worker: Address;
|
|
10
|
+
until: bigint;
|
|
11
|
+
} | {
|
|
12
|
+
state: "lapsed";
|
|
13
|
+
worker: Address;
|
|
14
|
+
};
|
|
15
|
+
export type BoardView = {
|
|
16
|
+
owner: Address;
|
|
17
|
+
worker: Address;
|
|
18
|
+
until: bigint;
|
|
19
|
+
held: bigint;
|
|
20
|
+
};
|
|
21
|
+
export declare function claimSlot(board: Pick<BoardView, "worker" | "until">, now: bigint): ClaimSlot;
|
|
22
|
+
export declare function checkClaimTerms(maxSecs: number, stake: bigint): void;
|
|
23
|
+
export declare function claimUntil(maxSecs: number, now: bigint, secs: number, expiresAt: bigint): bigint;
|
|
24
|
+
export declare function stakeReceiverOnRelease(board: BoardView, now: bigint, payees: readonly Address[]): Address | null;
|
|
25
|
+
export declare function stakeReceiverOnSettle(board: BoardView, now: bigint, escrowOpen: boolean): Address | null;
|
|
26
|
+
export declare function claimBoardAddress(intent: Address): Promise<Address>;
|
|
27
|
+
export declare function buildOpenClaims(input: {
|
|
28
|
+
owner: TransactionSigner;
|
|
29
|
+
intent: Address;
|
|
30
|
+
maxSecs: number;
|
|
31
|
+
stake: bigint;
|
|
32
|
+
}): Promise<import("../generated/client/index.js").OpenClaimsInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
33
|
+
export declare function buildClaimJob(input: {
|
|
34
|
+
worker: TransactionSigner;
|
|
35
|
+
intent: Address;
|
|
36
|
+
owner: Address;
|
|
37
|
+
secs: number;
|
|
38
|
+
}): Promise<import("../generated/client/index.js").ClaimJobInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
39
|
+
export declare function buildDropClaim(input: {
|
|
40
|
+
worker: TransactionSigner;
|
|
41
|
+
intent: Address;
|
|
42
|
+
}): Promise<import("../generated/client/index.js").DropClaimInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
43
|
+
export declare function buildSettleClaims(input: {
|
|
44
|
+
intent: Address;
|
|
45
|
+
owner: Address;
|
|
46
|
+
worker?: Address;
|
|
47
|
+
}): Promise<import("../generated/client/index.js").SettleClaimsInstruction<Address<"GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU">, string, string, string, string, string, "GHFB9q4fhhqRyCoycoivdxMhFkp1aLHJk5VvroUsgrJU", []>>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { findBoardPda, getClaimJobInstructionAsync, getDropClaimInstructionAsync, getOpenClaimsInstructionAsync, getSettleClaimsInstructionAsync, } from "../generated/client/index.js";
|
|
2
|
+
import { events } from "./builder-accounts.js";
|
|
3
|
+
import { IntentCoreError } from "./errors.js";
|
|
4
|
+
export const CLAIMS_OPEN = 1;
|
|
5
|
+
export const MAX_CLAIM_SECS = 7 * 24 * 60 * 60;
|
|
6
|
+
export const MAX_CLAIM_STAKE = 100000000000n;
|
|
7
|
+
const NONE = "11111111111111111111111111111111";
|
|
8
|
+
export function claimSlot(board, now) {
|
|
9
|
+
if (board.worker === NONE)
|
|
10
|
+
return { state: "free" };
|
|
11
|
+
return now < board.until ? { state: "held", worker: board.worker, until: board.until } : { state: "lapsed", worker: board.worker };
|
|
12
|
+
}
|
|
13
|
+
export function checkClaimTerms(maxSecs, stake) {
|
|
14
|
+
if (!Number.isInteger(maxSecs) || maxSecs < 1 || maxSecs > MAX_CLAIM_SECS || stake < 0n || stake > MAX_CLAIM_STAKE) {
|
|
15
|
+
throw new IntentCoreError("ClaimTerms");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function claimUntil(maxSecs, now, secs, expiresAt) {
|
|
19
|
+
if (!Number.isInteger(secs) || secs < 1 || secs > maxSecs)
|
|
20
|
+
throw new IntentCoreError("ClaimTerms");
|
|
21
|
+
const until = now + BigInt(secs);
|
|
22
|
+
if (until > expiresAt)
|
|
23
|
+
throw new IntentCoreError("ClaimTerms");
|
|
24
|
+
return until;
|
|
25
|
+
}
|
|
26
|
+
export function stakeReceiverOnRelease(board, now, payees) {
|
|
27
|
+
const slot = claimSlot(board, now);
|
|
28
|
+
if (slot.state === "free")
|
|
29
|
+
return null;
|
|
30
|
+
if (slot.state === "held") {
|
|
31
|
+
if (!payees.includes(slot.worker))
|
|
32
|
+
throw new IntentCoreError("ClaimHeld");
|
|
33
|
+
return slot.worker;
|
|
34
|
+
}
|
|
35
|
+
return payees.includes(slot.worker) ? slot.worker : board.owner;
|
|
36
|
+
}
|
|
37
|
+
export function stakeReceiverOnSettle(board, now, escrowOpen) {
|
|
38
|
+
const slot = claimSlot(board, now);
|
|
39
|
+
if (slot.state === "free")
|
|
40
|
+
return null;
|
|
41
|
+
if (slot.state === "held") {
|
|
42
|
+
if (escrowOpen)
|
|
43
|
+
throw new IntentCoreError("ClaimHeld");
|
|
44
|
+
return slot.worker;
|
|
45
|
+
}
|
|
46
|
+
return board.owner;
|
|
47
|
+
}
|
|
48
|
+
export async function claimBoardAddress(intent) {
|
|
49
|
+
return (await findBoardPda({ intent }))[0];
|
|
50
|
+
}
|
|
51
|
+
export async function buildOpenClaims(input) {
|
|
52
|
+
checkClaimTerms(input.maxSecs, input.stake);
|
|
53
|
+
return getOpenClaimsInstructionAsync({ ...input, ...(await events()) });
|
|
54
|
+
}
|
|
55
|
+
export async function buildClaimJob(input) {
|
|
56
|
+
return getClaimJobInstructionAsync({ ...input, ...(await events()) });
|
|
57
|
+
}
|
|
58
|
+
export async function buildDropClaim(input) {
|
|
59
|
+
return getDropClaimInstructionAsync({ ...input, ...(await events()) });
|
|
60
|
+
}
|
|
61
|
+
export async function buildSettleClaims(input) {
|
|
62
|
+
return getSettleClaimsInstructionAsync({
|
|
63
|
+
intent: input.intent,
|
|
64
|
+
owner: input.owner,
|
|
65
|
+
...(input.worker === undefined ? {} : { worker: input.worker }),
|
|
66
|
+
...(await events()),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=claims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../src/claims.ts"],"names":[],"mappings":"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"}
|