@metadaoproject/futarchy 0.3.0-alpha.16 → 0.3.0-alpha.17

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.
@@ -1,5 +1,5 @@
1
1
  import { AnchorProvider, Program } from "@coral-xyz/anchor";
2
- import { Keypair, PublicKey } from "@solana/web3.js";
2
+ import { AddressLookupTableAccount, Keypair, PublicKey } from "@solana/web3.js";
3
3
  import { ConditionalVault } from "./types/conditional_vault";
4
4
  import BN from "bn.js";
5
5
  import { MethodsBuilder } from "@coral-xyz/anchor/dist/cjs/program/namespace/methods";
@@ -10,110 +10,65 @@ export type CreateVaultClientParams = {
10
10
  export declare class ConditionalVaultClient {
11
11
  readonly provider: AnchorProvider;
12
12
  readonly vaultProgram: Program<ConditionalVault>;
13
- constructor(provider: AnchorProvider, conditionalVaultProgramId: PublicKey);
13
+ readonly luts: AddressLookupTableAccount[];
14
+ constructor(provider: AnchorProvider, conditionalVaultProgramId: PublicKey, luts: AddressLookupTableAccount[]);
14
15
  static createClient(createVaultClientParams: CreateVaultClientParams): ConditionalVaultClient;
15
- fetchQuestion(question: PublicKey): Promise<{
16
- questionId: number[];
17
- oracle: PublicKey;
18
- payoutNumerators: number[];
19
- payoutDenominator: number;
20
- }>;
21
- fetchVault(vault: PublicKey): Promise<{
22
- question: PublicKey;
23
- underlyingTokenMint: PublicKey;
24
- underlyingTokenAccount: PublicKey;
25
- conditionalTokenMints: PublicKey[];
26
- pdaBump: number;
27
- decimals: number;
28
- }>;
29
16
  getVault(vault: PublicKey): Promise<{
30
- question: PublicKey;
17
+ status: ({
18
+ finalized?: undefined;
19
+ reverted?: undefined;
20
+ } & {
21
+ active: Record<string, never>;
22
+ }) | ({
23
+ active?: undefined;
24
+ reverted?: undefined;
25
+ } & {
26
+ finalized: Record<string, never>;
27
+ }) | ({
28
+ active?: undefined;
29
+ finalized?: undefined;
30
+ } & {
31
+ reverted: Record<string, never>;
32
+ });
33
+ settlementAuthority: PublicKey;
31
34
  underlyingTokenMint: PublicKey;
32
35
  underlyingTokenAccount: PublicKey;
33
- conditionalTokenMints: PublicKey[];
36
+ conditionalOnFinalizeTokenMint: PublicKey;
37
+ conditionalOnRevertTokenMint: PublicKey;
34
38
  pdaBump: number;
35
39
  decimals: number;
36
40
  }>;
37
- initializeQuestionIx(questionId: Uint8Array, oracle: PublicKey, numConditions: number): MethodsBuilder<ConditionalVault, {
38
- name: "initializeQuestion";
41
+ mintConditionalTokens(vault: PublicKey, uiAmount: number, user?: PublicKey | Keypair): Promise<string>;
42
+ mintConditionalTokensIx(vault: PublicKey, underlyingTokenMint: PublicKey, amount: BN, user?: PublicKey | Keypair): MethodsBuilder<ConditionalVault, {
43
+ name: "mintConditionalTokens";
39
44
  accounts: [{
40
- name: "question";
41
- isMut: true;
45
+ name: "vault";
46
+ isMut: false;
42
47
  isSigner: false;
43
48
  }, {
44
- name: "payer";
49
+ name: "conditionalOnFinalizeTokenMint";
45
50
  isMut: true;
46
- isSigner: true;
51
+ isSigner: false;
47
52
  }, {
48
- name: "systemProgram";
49
- isMut: false;
53
+ name: "conditionalOnRevertTokenMint";
54
+ isMut: true;
50
55
  isSigner: false;
51
- }];
52
- args: [{
53
- name: "args";
54
- type: {
55
- defined: "InitializeQuestionArgs";
56
- };
57
- }];
58
- } & {
59
- name: "initializeQuestion";
60
- }>;
61
- initializeQuestion(questionId: Uint8Array, oracle: PublicKey, numConditions: number): Promise<PublicKey>;
62
- initializeVaultIx(question: PublicKey, underlyingTokenMint: PublicKey, numOutcomes: number): MethodsBuilder<ConditionalVault, any>;
63
- initializeVault(question: PublicKey, underlyingTokenMint: PublicKey, numOutcomes: number): Promise<PublicKey>;
64
- resolveQuestionIx(question: PublicKey, oracle: Keypair, payoutNumerators: number[]): MethodsBuilder<ConditionalVault, {
65
- name: "resolveQuestion";
66
- accounts: [{
67
- name: "question";
56
+ }, {
57
+ name: "vaultUnderlyingTokenAccount";
68
58
  isMut: true;
69
59
  isSigner: false;
70
60
  }, {
71
- name: "oracle";
61
+ name: "authority";
72
62
  isMut: false;
73
63
  isSigner: true;
74
- }];
75
- args: [{
76
- name: "args";
77
- type: {
78
- defined: "ResolveQuestionArgs";
79
- };
80
- }];
81
- } & {
82
- name: "resolveQuestion";
83
- }>;
84
- getConditionalTokenMints(vault: PublicKey, numOutcomes: number): PublicKey[];
85
- getRemainingAccounts(conditionalTokenMints: PublicKey[], userConditionalAccounts: PublicKey[]): {
86
- pubkey: PublicKey;
87
- isWritable: boolean;
88
- isSigner: boolean;
89
- }[];
90
- getConditionalTokenAccountsAndInstructions(vault: PublicKey, numOutcomes: number, user: PublicKey): {
91
- userConditionalAccounts: PublicKey[];
92
- preInstructions: import("@solana/web3.js").TransactionInstruction[];
93
- remainingAccounts: {
94
- pubkey: PublicKey;
95
- isWritable: boolean;
96
- isSigner: boolean;
97
- }[];
98
- };
99
- splitTokensIx(question: PublicKey, vault: PublicKey, underlyingTokenMint: PublicKey, amount: BN, numOutcomes: number, user?: PublicKey): MethodsBuilder<ConditionalVault, {
100
- name: "splitTokens";
101
- accounts: [{
102
- name: "question";
103
- isMut: false;
104
- isSigner: false;
105
64
  }, {
106
- name: "vault";
107
- isMut: false;
65
+ name: "userConditionalOnFinalizeTokenAccount";
66
+ isMut: true;
108
67
  isSigner: false;
109
68
  }, {
110
- name: "vaultUnderlyingTokenAccount";
69
+ name: "userConditionalOnRevertTokenAccount";
111
70
  isMut: true;
112
71
  isSigner: false;
113
- }, {
114
- name: "authority";
115
- isMut: false;
116
- isSigner: true;
117
72
  }, {
118
73
  name: "userUnderlyingTokenAccount";
119
74
  isMut: true;
@@ -128,51 +83,78 @@ export declare class ConditionalVaultClient {
128
83
  type: "u64";
129
84
  }];
130
85
  } & {
131
- name: "splitTokens";
86
+ name: "mintConditionalTokens";
132
87
  }>;
133
- mergeTokensIx(question: PublicKey, vault: PublicKey, underlyingTokenMint: PublicKey, amount: BN, numOutcomes: number, user?: PublicKey): MethodsBuilder<ConditionalVault, {
134
- name: "mergeTokens";
88
+ initializeVaultIx(settlementAuthority: PublicKey, underlyingTokenMint: PublicKey): MethodsBuilder<ConditionalVault, any>;
89
+ addMetadataToConditionalTokensIx(vault: PublicKey, underlyingTokenMint: PublicKey, proposalNumber: number, onFinalizeUri: string, onRevertUri: string): MethodsBuilder<ConditionalVault, {
90
+ name: "addMetadataToConditionalTokens";
135
91
  accounts: [{
136
- name: "question";
137
- isMut: false;
138
- isSigner: false;
92
+ name: "payer";
93
+ isMut: true;
94
+ isSigner: true;
139
95
  }, {
140
96
  name: "vault";
141
- isMut: false;
97
+ isMut: true;
142
98
  isSigner: false;
143
99
  }, {
144
- name: "vaultUnderlyingTokenAccount";
100
+ name: "underlyingTokenMint";
145
101
  isMut: true;
146
102
  isSigner: false;
147
103
  }, {
148
- name: "authority";
104
+ name: "underlyingTokenMetadata";
149
105
  isMut: false;
150
- isSigner: true;
106
+ isSigner: false;
151
107
  }, {
152
- name: "userUnderlyingTokenAccount";
108
+ name: "conditionalOnFinalizeTokenMint";
153
109
  isMut: true;
154
110
  isSigner: false;
155
111
  }, {
156
- name: "tokenProgram";
112
+ name: "conditionalOnRevertTokenMint";
113
+ isMut: true;
114
+ isSigner: false;
115
+ }, {
116
+ name: "conditionalOnFinalizeTokenMetadata";
117
+ isMut: true;
118
+ isSigner: false;
119
+ }, {
120
+ name: "conditionalOnRevertTokenMetadata";
121
+ isMut: true;
122
+ isSigner: false;
123
+ }, {
124
+ name: "tokenMetadataProgram";
125
+ isMut: false;
126
+ isSigner: false;
127
+ }, {
128
+ name: "systemProgram";
129
+ isMut: false;
130
+ isSigner: false;
131
+ }, {
132
+ name: "rent";
157
133
  isMut: false;
158
134
  isSigner: false;
159
135
  }];
160
136
  args: [{
161
- name: "amount";
162
- type: "u64";
137
+ name: "args";
138
+ type: {
139
+ defined: "AddMetadataToConditionalTokensArgs";
140
+ };
163
141
  }];
164
142
  } & {
165
- name: "mergeTokens";
143
+ name: "addMetadataToConditionalTokens";
166
144
  }>;
167
- redeemTokensIx(question: PublicKey, vault: PublicKey, underlyingTokenMint: PublicKey, numOutcomes: number, user?: PublicKey): MethodsBuilder<ConditionalVault, {
168
- name: "redeemTokens";
145
+ redeemConditionalTokensIx(vault: PublicKey, underlyingTokenMint: PublicKey): MethodsBuilder<ConditionalVault, {
146
+ name: "redeemConditionalTokensForUnderlyingTokens";
169
147
  accounts: [{
170
- name: "question";
148
+ name: "vault";
171
149
  isMut: false;
172
150
  isSigner: false;
173
151
  }, {
174
- name: "vault";
175
- isMut: false;
152
+ name: "conditionalOnFinalizeTokenMint";
153
+ isMut: true;
154
+ isSigner: false;
155
+ }, {
156
+ name: "conditionalOnRevertTokenMint";
157
+ isMut: true;
176
158
  isSigner: false;
177
159
  }, {
178
160
  name: "vaultUnderlyingTokenAccount";
@@ -182,6 +164,14 @@ export declare class ConditionalVaultClient {
182
164
  name: "authority";
183
165
  isMut: false;
184
166
  isSigner: true;
167
+ }, {
168
+ name: "userConditionalOnFinalizeTokenAccount";
169
+ isMut: true;
170
+ isSigner: false;
171
+ }, {
172
+ name: "userConditionalOnRevertTokenAccount";
173
+ isMut: true;
174
+ isSigner: false;
185
175
  }, {
186
176
  name: "userUnderlyingTokenAccount";
187
177
  isMut: true;
@@ -193,46 +183,53 @@ export declare class ConditionalVaultClient {
193
183
  }];
194
184
  args: [];
195
185
  } & {
196
- name: "redeemTokens";
186
+ name: "redeemConditionalTokensForUnderlyingTokens";
197
187
  }>;
198
- addMetadataToConditionalTokensIx(vault: PublicKey, index: number, name: string, symbol: string, image: string): MethodsBuilder<ConditionalVault, {
199
- name: "addMetadataToConditionalTokens";
188
+ mergeConditionalTokensIx(vault: PublicKey, underlyingTokenMint: PublicKey, amount: BN): MethodsBuilder<ConditionalVault, {
189
+ name: "mergeConditionalTokensForUnderlyingTokens";
200
190
  accounts: [{
201
- name: "payer";
202
- isMut: true;
203
- isSigner: true;
204
- }, {
205
191
  name: "vault";
192
+ isMut: false;
193
+ isSigner: false;
194
+ }, {
195
+ name: "conditionalOnFinalizeTokenMint";
206
196
  isMut: true;
207
197
  isSigner: false;
208
198
  }, {
209
- name: "conditionalTokenMint";
199
+ name: "conditionalOnRevertTokenMint";
210
200
  isMut: true;
211
201
  isSigner: false;
212
202
  }, {
213
- name: "conditionalTokenMetadata";
203
+ name: "vaultUnderlyingTokenAccount";
214
204
  isMut: true;
215
205
  isSigner: false;
216
206
  }, {
217
- name: "tokenMetadataProgram";
207
+ name: "authority";
218
208
  isMut: false;
209
+ isSigner: true;
210
+ }, {
211
+ name: "userConditionalOnFinalizeTokenAccount";
212
+ isMut: true;
219
213
  isSigner: false;
220
214
  }, {
221
- name: "systemProgram";
222
- isMut: false;
215
+ name: "userConditionalOnRevertTokenAccount";
216
+ isMut: true;
223
217
  isSigner: false;
224
218
  }, {
225
- name: "rent";
219
+ name: "userUnderlyingTokenAccount";
220
+ isMut: true;
221
+ isSigner: false;
222
+ }, {
223
+ name: "tokenProgram";
226
224
  isMut: false;
227
225
  isSigner: false;
228
226
  }];
229
227
  args: [{
230
- name: "args";
231
- type: {
232
- defined: "AddMetadataToConditionalTokensArgs";
233
- };
228
+ name: "amount";
229
+ type: "u64";
234
230
  }];
235
231
  } & {
236
- name: "addMetadataToConditionalTokens";
232
+ name: "mergeConditionalTokensForUnderlyingTokens";
237
233
  }>;
234
+ initializeVault(settlementAuthority: PublicKey, underlyingTokenMint: PublicKey): Promise<PublicKey>;
238
235
  }