@metadaoproject/futarchy 0.6.0-alpha.7 → 0.6.0-alpha.9
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/v0.6/FutarchyClient.d.ts +25 -1
- package/dist/v0.6/FutarchyClient.js +1 -1
- package/dist/v0.6/FutarchyClient.js.map +1 -1
- package/dist/v0.6/LaunchpadClient.d.ts +112 -20
- package/dist/v0.6/LaunchpadClient.js +76 -19
- package/dist/v0.6/LaunchpadClient.js.map +1 -1
- package/dist/v0.6/{PriceBasedUnlockClient.d.ts → PriceBasedPerformancePackageClient.d.ts} +59 -97
- package/dist/v0.6/PriceBasedPerformancePackageClient.js +116 -0
- package/dist/v0.6/PriceBasedPerformancePackageClient.js.map +1 -0
- package/dist/v0.6/constants.d.ts +2 -1
- package/dist/v0.6/constants.js +2 -1
- package/dist/v0.6/constants.js.map +1 -1
- package/dist/v0.6/index.d.ts +1 -1
- package/dist/v0.6/index.js +1 -1
- package/dist/v0.6/index.js.map +1 -1
- package/dist/v0.6/types/futarchy.d.ts +327 -1
- package/dist/v0.6/types/futarchy.js +327 -1
- package/dist/v0.6/types/futarchy.js.map +1 -1
- package/dist/v0.6/types/index.d.ts +7 -7
- package/dist/v0.6/types/index.js +12 -4
- package/dist/v0.6/types/index.js.map +1 -1
- package/dist/v0.6/types/launchpad.d.ts +233 -26
- package/dist/v0.6/types/launchpad.js +233 -26
- package/dist/v0.6/types/launchpad.js.map +1 -1
- package/dist/v0.6/types/{price_based_unlock.d.ts → price_based_performance_package.d.ts} +175 -166
- package/dist/v0.6/types/{price_based_unlock.js → price_based_performance_package.js} +173 -164
- package/dist/v0.6/types/price_based_performance_package.js.map +1 -0
- package/dist/v0.6/utils/pda.d.ts +4 -0
- package/dist/v0.6/utils/pda.js +4 -1
- package/dist/v0.6/utils/pda.js.map +1 -1
- package/package.json +1 -1
- package/dist/v0.6/PriceBasedUnlockClient.js +0 -134
- package/dist/v0.6/PriceBasedUnlockClient.js.map +0 -1
- package/dist/v0.6/types/price_based_token_lock.d.ts +0 -444
- package/dist/v0.6/types/price_based_token_lock.js +0 -444
- package/dist/v0.6/types/price_based_token_lock.js.map +0 -1
- package/dist/v0.6/types/price_based_unlock.js.map +0 -1
- package/dist/v0.6/types/shared_liquidity_manager.d.ts +0 -89
- package/dist/v0.6/types/shared_liquidity_manager.js +0 -89
- package/dist/v0.6/types/shared_liquidity_manager.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/v0.6/utils/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,EAAE,MAAM,OAAO,CAAC;AAKvB,OAAO,EAEL,6BAA6B,
|
|
1
|
+
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../src/v0.6/utils/pda.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Program } from "@coral-xyz/anchor";
|
|
2
|
-
import { PublicKey, SystemProgram, } from "@solana/web3.js";
|
|
3
|
-
import { TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, } from "@solana/spl-token";
|
|
4
|
-
import { IDL as PriceBasedUnlockIDL, } from "./types/price_based_unlock.js";
|
|
5
|
-
import { PRICE_BASED_TOKEN_LOCK_PROGRAM_ID } from "./constants.js";
|
|
6
|
-
import { getEventAuthorityAddr } from "./utils/pda.js";
|
|
7
|
-
export class PriceBasedUnlockClient {
|
|
8
|
-
provider;
|
|
9
|
-
program;
|
|
10
|
-
programId;
|
|
11
|
-
constructor(provider, priceBasedTokenLockProgramId) {
|
|
12
|
-
this.provider = provider;
|
|
13
|
-
this.programId = priceBasedTokenLockProgramId;
|
|
14
|
-
this.program = new Program(PriceBasedUnlockIDL, priceBasedTokenLockProgramId, provider);
|
|
15
|
-
}
|
|
16
|
-
static createClient(createClientParams) {
|
|
17
|
-
let { provider, priceBasedTokenLockProgramId } = createClientParams;
|
|
18
|
-
if (!priceBasedTokenLockProgramId) {
|
|
19
|
-
priceBasedTokenLockProgramId = PRICE_BASED_TOKEN_LOCK_PROGRAM_ID;
|
|
20
|
-
}
|
|
21
|
-
return new PriceBasedUnlockClient(provider, priceBasedTokenLockProgramId);
|
|
22
|
-
}
|
|
23
|
-
initializeLockerIx(params) {
|
|
24
|
-
const lockerTokenAccount = this.getLockerTokenAccountAddress(this.getLockerAddress(params.createKey));
|
|
25
|
-
return this.program.methods
|
|
26
|
-
.initializeLocker({
|
|
27
|
-
priceThreshold: params.params.priceThreshold,
|
|
28
|
-
tokenAmount: params.params.tokenAmount,
|
|
29
|
-
unlockTimestamp: params.params.unlockTimestamp,
|
|
30
|
-
oracleConfig: params.params.oracleConfig,
|
|
31
|
-
twapLengthSeconds: params.params.twapLengthSeconds,
|
|
32
|
-
beneficiary: params.params.tokenRecipient,
|
|
33
|
-
lockerAuthority: params.params.lockerAuthority,
|
|
34
|
-
})
|
|
35
|
-
.accounts({
|
|
36
|
-
locker: this.getLockerAddress(params.createKey),
|
|
37
|
-
createKey: params.createKey,
|
|
38
|
-
tokenMint: params.tokenMint,
|
|
39
|
-
fromTokenAccount: params.fromTokenAccount,
|
|
40
|
-
tokenAuthority: params.tokenAuthority,
|
|
41
|
-
lockerTokenAccount,
|
|
42
|
-
payer: params.payer,
|
|
43
|
-
systemProgram: SystemProgram.programId,
|
|
44
|
-
tokenProgram: TOKEN_PROGRAM_ID,
|
|
45
|
-
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
46
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
47
|
-
program: this.programId,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
startUnlockIx(params) {
|
|
51
|
-
return this.program.methods.startUnlock().accounts({
|
|
52
|
-
locker: params.locker,
|
|
53
|
-
oracleAccount: params.oracleAccount,
|
|
54
|
-
recipient: params.recipient,
|
|
55
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
56
|
-
program: this.programId,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
completeUnlockIx(params) {
|
|
60
|
-
return this.program.methods.completeUnlock().accounts({
|
|
61
|
-
locker: params.locker,
|
|
62
|
-
oracleAccount: params.oracleAccount,
|
|
63
|
-
lockerTokenAccount: this.getLockerTokenAccountAddress(params.locker),
|
|
64
|
-
tokenMint: params.tokenMint,
|
|
65
|
-
recipientTokenAccount: getAssociatedTokenAddressSync(params.tokenMint, params.tokenRecipient),
|
|
66
|
-
tokenRecipient: params.tokenRecipient,
|
|
67
|
-
payer: params.payer,
|
|
68
|
-
systemProgram: SystemProgram.programId,
|
|
69
|
-
tokenProgram: TOKEN_PROGRAM_ID,
|
|
70
|
-
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
71
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
72
|
-
program: this.programId,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
proposeChangeIx(params) {
|
|
76
|
-
const changeRequestAddress = this.getChangeRequestAddress(params.locker, params.proposer, params.params.pdaNonce);
|
|
77
|
-
return this.program.methods.proposeChange(params.params).accounts({
|
|
78
|
-
changeRequest: changeRequestAddress,
|
|
79
|
-
locker: params.locker,
|
|
80
|
-
proposer: params.proposer,
|
|
81
|
-
systemProgram: SystemProgram.programId,
|
|
82
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
83
|
-
program: this.programId,
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
executeChangeIx(params) {
|
|
87
|
-
return this.program.methods.executeChange().accounts({
|
|
88
|
-
changeRequest: params.changeRequest,
|
|
89
|
-
locker: params.locker,
|
|
90
|
-
executor: params.executor,
|
|
91
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
92
|
-
program: this.programId,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
changeLockerAuthorityIx(params) {
|
|
96
|
-
return this.program.methods
|
|
97
|
-
.changeLockerAuthority({
|
|
98
|
-
newLockerAuthority: params.newLockerAuthority,
|
|
99
|
-
})
|
|
100
|
-
.accounts({
|
|
101
|
-
locker: params.locker,
|
|
102
|
-
currentAuthority: params.currentAuthority,
|
|
103
|
-
eventAuthority: this.getEventAuthorityAddress(),
|
|
104
|
-
program: this.programId,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
async getLocker(lockerAddress) {
|
|
108
|
-
return await this.program.account.locker.fetch(lockerAddress);
|
|
109
|
-
}
|
|
110
|
-
async getChangeRequest(changeRequestAddress) {
|
|
111
|
-
return await this.program.account.changeRequest.fetch(changeRequestAddress);
|
|
112
|
-
}
|
|
113
|
-
getLockerAddress(createKey) {
|
|
114
|
-
const [lockerAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker"), createKey.toBuffer()], this.programId);
|
|
115
|
-
return lockerAddress;
|
|
116
|
-
}
|
|
117
|
-
getChangeRequestAddress(locker, proposer, pdaNonce) {
|
|
118
|
-
const [changeRequestAddress] = PublicKey.findProgramAddressSync([
|
|
119
|
-
Buffer.from("change_request"),
|
|
120
|
-
locker.toBuffer(),
|
|
121
|
-
proposer.toBuffer(),
|
|
122
|
-
Buffer.from(new Uint8Array(new Uint32Array([pdaNonce]).buffer)),
|
|
123
|
-
], this.programId);
|
|
124
|
-
return changeRequestAddress;
|
|
125
|
-
}
|
|
126
|
-
getLockerTokenAccountAddress(locker) {
|
|
127
|
-
const [lockerTokenAccountAddress] = PublicKey.findProgramAddressSync([Buffer.from("locker_token_account"), locker.toBuffer()], this.programId);
|
|
128
|
-
return lockerTokenAccountAddress;
|
|
129
|
-
}
|
|
130
|
-
getEventAuthorityAddress() {
|
|
131
|
-
return getEventAuthorityAddr(this.programId)[0];
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=PriceBasedUnlockClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PriceBasedUnlockClient.js","sourceRoot":"","sources":["../../src/v0.6/PriceBasedUnlockClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,444 +0,0 @@
|
|
|
1
|
-
export type PriceBasedTokenLock = {
|
|
2
|
-
version: "0.1.0";
|
|
3
|
-
name: "price_based_token_lock";
|
|
4
|
-
constants: [
|
|
5
|
-
{
|
|
6
|
-
name: "SEED";
|
|
7
|
-
type: "string";
|
|
8
|
-
value: '"anchor"';
|
|
9
|
-
}
|
|
10
|
-
];
|
|
11
|
-
instructions: [
|
|
12
|
-
{
|
|
13
|
-
name: "initializeLocker";
|
|
14
|
-
accounts: [
|
|
15
|
-
{
|
|
16
|
-
name: "locker";
|
|
17
|
-
isMut: true;
|
|
18
|
-
isSigner: false;
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "createKey";
|
|
22
|
-
isMut: false;
|
|
23
|
-
isSigner: true;
|
|
24
|
-
docs: ["Used to derive the PDA"];
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "tokenMint";
|
|
28
|
-
isMut: false;
|
|
29
|
-
isSigner: false;
|
|
30
|
-
docs: ["The mint of the tokens to be locked"];
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "fromTokenAccount";
|
|
34
|
-
isMut: true;
|
|
35
|
-
isSigner: false;
|
|
36
|
-
docs: ["The token account containing the tokens to be locked"];
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "tokenAuthority";
|
|
40
|
-
isMut: false;
|
|
41
|
-
isSigner: true;
|
|
42
|
-
docs: ["The authority of the token account"];
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "lockerTokenAccount";
|
|
46
|
-
isMut: true;
|
|
47
|
-
isSigner: false;
|
|
48
|
-
docs: ["The locker's token account where tokens will be stored"];
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: "recipientTokenAccount";
|
|
52
|
-
isMut: false;
|
|
53
|
-
isSigner: false;
|
|
54
|
-
docs: [
|
|
55
|
-
"The recipient's token account where tokens will be sent when unlocked"
|
|
56
|
-
];
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: "payer";
|
|
60
|
-
isMut: true;
|
|
61
|
-
isSigner: true;
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
name: "systemProgram";
|
|
65
|
-
isMut: false;
|
|
66
|
-
isSigner: false;
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: "tokenProgram";
|
|
70
|
-
isMut: false;
|
|
71
|
-
isSigner: false;
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: "associatedTokenProgram";
|
|
75
|
-
isMut: false;
|
|
76
|
-
isSigner: false;
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "eventAuthority";
|
|
80
|
-
isMut: false;
|
|
81
|
-
isSigner: false;
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
name: "program";
|
|
85
|
-
isMut: false;
|
|
86
|
-
isSigner: false;
|
|
87
|
-
}
|
|
88
|
-
];
|
|
89
|
-
args: [
|
|
90
|
-
{
|
|
91
|
-
name: "params";
|
|
92
|
-
type: {
|
|
93
|
-
defined: "InitializeLockerParams";
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
];
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: "startUnlock";
|
|
100
|
-
accounts: [
|
|
101
|
-
{
|
|
102
|
-
name: "locker";
|
|
103
|
-
isMut: true;
|
|
104
|
-
isSigner: false;
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: "oracleAccount";
|
|
108
|
-
isMut: false;
|
|
109
|
-
isSigner: false;
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
name: "eventAuthority";
|
|
113
|
-
isMut: false;
|
|
114
|
-
isSigner: false;
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
name: "program";
|
|
118
|
-
isMut: false;
|
|
119
|
-
isSigner: false;
|
|
120
|
-
}
|
|
121
|
-
];
|
|
122
|
-
args: [];
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
name: "completeUnlock";
|
|
126
|
-
accounts: [
|
|
127
|
-
{
|
|
128
|
-
name: "locker";
|
|
129
|
-
isMut: true;
|
|
130
|
-
isSigner: false;
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: "oracleAccount";
|
|
134
|
-
isMut: false;
|
|
135
|
-
isSigner: false;
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
name: "lockerTokenAccount";
|
|
139
|
-
isMut: true;
|
|
140
|
-
isSigner: false;
|
|
141
|
-
docs: ["The token account where locked tokens are stored"];
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: "recipientTokenAccount";
|
|
145
|
-
isMut: true;
|
|
146
|
-
isSigner: false;
|
|
147
|
-
docs: ["The recipient's token account where tokens will be sent"];
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: "tokenProgram";
|
|
151
|
-
isMut: false;
|
|
152
|
-
isSigner: false;
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
name: "eventAuthority";
|
|
156
|
-
isMut: false;
|
|
157
|
-
isSigner: false;
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
name: "program";
|
|
161
|
-
isMut: false;
|
|
162
|
-
isSigner: false;
|
|
163
|
-
}
|
|
164
|
-
];
|
|
165
|
-
args: [];
|
|
166
|
-
}
|
|
167
|
-
];
|
|
168
|
-
accounts: [
|
|
169
|
-
{
|
|
170
|
-
name: "locker";
|
|
171
|
-
type: {
|
|
172
|
-
kind: "struct";
|
|
173
|
-
fields: [
|
|
174
|
-
{
|
|
175
|
-
name: "priceThreshold";
|
|
176
|
-
docs: [
|
|
177
|
-
"The price threshold that must be met for tokens to be unlocked"
|
|
178
|
-
];
|
|
179
|
-
type: "u128";
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
name: "tokenAmount";
|
|
183
|
-
docs: ["The amount of tokens locked"];
|
|
184
|
-
type: "u64";
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
name: "unlockTimestamp";
|
|
188
|
-
docs: ["The timestamp when unlocking can begin"];
|
|
189
|
-
type: "i64";
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
name: "oracleConfig";
|
|
193
|
-
docs: ["Where to pull price data from"];
|
|
194
|
-
type: {
|
|
195
|
-
defined: "OracleConfig";
|
|
196
|
-
};
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
name: "twapLengthSeconds";
|
|
200
|
-
docs: ["Length of time in seconds for TWAP calculation"];
|
|
201
|
-
type: "u64";
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: "tokenRecipient";
|
|
205
|
-
docs: ["The recipient of the tokens when unlocked"];
|
|
206
|
-
type: "publicKey";
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
name: "state";
|
|
210
|
-
docs: ["The current state of the locker"];
|
|
211
|
-
type: {
|
|
212
|
-
defined: "LockerState";
|
|
213
|
-
};
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
name: "createKey";
|
|
217
|
-
docs: ["Used to derive the PDA"];
|
|
218
|
-
type: "publicKey";
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
name: "pdaBump";
|
|
222
|
-
docs: ["The PDA bump"];
|
|
223
|
-
type: "u8";
|
|
224
|
-
}
|
|
225
|
-
];
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
];
|
|
229
|
-
types: [
|
|
230
|
-
{
|
|
231
|
-
name: "InitializeLockerParams";
|
|
232
|
-
type: {
|
|
233
|
-
kind: "struct";
|
|
234
|
-
fields: [
|
|
235
|
-
{
|
|
236
|
-
name: "priceThreshold";
|
|
237
|
-
type: "u128";
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
name: "tokenAmount";
|
|
241
|
-
type: "u64";
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
name: "unlockTimestamp";
|
|
245
|
-
type: "i64";
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
name: "oracleConfig";
|
|
249
|
-
type: {
|
|
250
|
-
defined: "OracleConfig";
|
|
251
|
-
};
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
name: "twapLengthSeconds";
|
|
255
|
-
type: "u64";
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
name: "tokenRecipient";
|
|
259
|
-
type: "publicKey";
|
|
260
|
-
}
|
|
261
|
-
];
|
|
262
|
-
};
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
name: "OracleConfig";
|
|
266
|
-
docs: [
|
|
267
|
-
"Starting at `byte_offset` in `oracle_account`, this program expects to read:",
|
|
268
|
-
"- 16 bytes for the aggregator, stored as a little endian u128",
|
|
269
|
-
"- 8 bytes for the slot that the aggregator was last updated, stored as a",
|
|
270
|
-
"little endian u64",
|
|
271
|
-
"",
|
|
272
|
-
"The aggregator should be a weighted sum of prices, where the weight is the",
|
|
273
|
-
"number of seconds between prices. Here's an example:",
|
|
274
|
-
"- at second 0, the aggregator is 0",
|
|
275
|
-
"- at second 1, the price is 10 and the aggregator is 10 (10 * 1)",
|
|
276
|
-
"- at second 4, the price is 11 and 3 seconds have passed, so the aggregator is",
|
|
277
|
-
"10 + 11 * 3 = 43",
|
|
278
|
-
"",
|
|
279
|
-
"This allows our program to read a TWAP over a time period by reading the",
|
|
280
|
-
"aggregator value at the beginning and at the end, and dividing the difference",
|
|
281
|
-
"by the number of seconds between the two."
|
|
282
|
-
];
|
|
283
|
-
type: {
|
|
284
|
-
kind: "struct";
|
|
285
|
-
fields: [
|
|
286
|
-
{
|
|
287
|
-
name: "oracleAccount";
|
|
288
|
-
type: "publicKey";
|
|
289
|
-
},
|
|
290
|
-
{
|
|
291
|
-
name: "byteOffset";
|
|
292
|
-
type: "u32";
|
|
293
|
-
}
|
|
294
|
-
];
|
|
295
|
-
};
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
name: "LockerState";
|
|
299
|
-
type: {
|
|
300
|
-
kind: "enum";
|
|
301
|
-
variants: [
|
|
302
|
-
{
|
|
303
|
-
name: "Locked";
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
name: "Unlocking";
|
|
307
|
-
fields: [
|
|
308
|
-
{
|
|
309
|
-
name: "startAggregator";
|
|
310
|
-
docs: ["The aggregator value when unlocking started"];
|
|
311
|
-
type: "u128";
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
name: "startTimestamp";
|
|
315
|
-
docs: ["The timestamp when unlocking started"];
|
|
316
|
-
type: "i64";
|
|
317
|
-
}
|
|
318
|
-
];
|
|
319
|
-
},
|
|
320
|
-
{
|
|
321
|
-
name: "Unlocked";
|
|
322
|
-
}
|
|
323
|
-
];
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
];
|
|
327
|
-
events: [
|
|
328
|
-
{
|
|
329
|
-
name: "LockerInitialized";
|
|
330
|
-
fields: [
|
|
331
|
-
{
|
|
332
|
-
name: "locker";
|
|
333
|
-
type: "publicKey";
|
|
334
|
-
index: false;
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
name: "priceThreshold";
|
|
338
|
-
type: "u128";
|
|
339
|
-
index: false;
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
name: "tokenAmount";
|
|
343
|
-
type: "u64";
|
|
344
|
-
index: false;
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
name: "unlockTimestamp";
|
|
348
|
-
type: "i64";
|
|
349
|
-
index: false;
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
name: "oracleConfig";
|
|
353
|
-
type: {
|
|
354
|
-
defined: "OracleConfig";
|
|
355
|
-
};
|
|
356
|
-
index: false;
|
|
357
|
-
},
|
|
358
|
-
{
|
|
359
|
-
name: "tokenRecipient";
|
|
360
|
-
type: "publicKey";
|
|
361
|
-
index: false;
|
|
362
|
-
}
|
|
363
|
-
];
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
name: "UnlockStarted";
|
|
367
|
-
fields: [
|
|
368
|
-
{
|
|
369
|
-
name: "locker";
|
|
370
|
-
type: "publicKey";
|
|
371
|
-
index: false;
|
|
372
|
-
},
|
|
373
|
-
{
|
|
374
|
-
name: "startAggregator";
|
|
375
|
-
type: "u128";
|
|
376
|
-
index: false;
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
name: "startTimestamp";
|
|
380
|
-
type: "i64";
|
|
381
|
-
index: false;
|
|
382
|
-
}
|
|
383
|
-
];
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
name: "UnlockCompleted";
|
|
387
|
-
fields: [
|
|
388
|
-
{
|
|
389
|
-
name: "locker";
|
|
390
|
-
type: "publicKey";
|
|
391
|
-
index: false;
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
name: "tokenAmount";
|
|
395
|
-
type: "u64";
|
|
396
|
-
index: false;
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
name: "recipient";
|
|
400
|
-
type: "publicKey";
|
|
401
|
-
index: false;
|
|
402
|
-
},
|
|
403
|
-
{
|
|
404
|
-
name: "twapPrice";
|
|
405
|
-
type: "u128";
|
|
406
|
-
index: false;
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
name: "priceThreshold";
|
|
410
|
-
type: "u128";
|
|
411
|
-
index: false;
|
|
412
|
-
}
|
|
413
|
-
];
|
|
414
|
-
}
|
|
415
|
-
];
|
|
416
|
-
errors: [
|
|
417
|
-
{
|
|
418
|
-
code: 6000;
|
|
419
|
-
name: "UnlockTimestampNotReached";
|
|
420
|
-
msg: "Unlock timestamp has not been reached yet";
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
code: 6001;
|
|
424
|
-
name: "InvalidLockerState";
|
|
425
|
-
msg: "Locker is not in the expected state";
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
code: 6002;
|
|
429
|
-
name: "TwapCalculationFailed";
|
|
430
|
-
msg: "TWAP calculation failed";
|
|
431
|
-
},
|
|
432
|
-
{
|
|
433
|
-
code: 6003;
|
|
434
|
-
name: "PriceThresholdNotMet";
|
|
435
|
-
msg: "Price threshold not met";
|
|
436
|
-
},
|
|
437
|
-
{
|
|
438
|
-
code: 6004;
|
|
439
|
-
name: "InvalidOracleData";
|
|
440
|
-
msg: "Invalid oracle account data";
|
|
441
|
-
}
|
|
442
|
-
];
|
|
443
|
-
};
|
|
444
|
-
export declare const IDL: PriceBasedTokenLock;
|