@across-protocol/contracts 4.0.11 → 4.0.12
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/scripts/svm/{enableRoute.js → createVault.js} +13 -35
- package/dist/scripts/svm/fakeFillWithRandomDistribution.js +9 -8
- package/dist/scripts/svm/nativeDeposit.js +138 -0
- package/dist/scripts/svm/queryEventsV2.js +3 -3
- package/dist/scripts/svm/{queryRoute.js → queryVault.js} +10 -25
- package/dist/scripts/svm/remoteHubPoolPauseDeposits.js +2 -2
- package/dist/scripts/svm/simpleDeposit.js +3 -12
- package/dist/scripts/svm/simpleFakeRelayerRepayment.js +2 -9
- package/dist/scripts/svm/simpleFill.js +3 -2
- package/dist/src/svm/assets/idl/svm_spoke.json +43 -369
- package/dist/src/svm/assets/svm_spoke.d.ts +40 -366
- package/dist/src/svm/clients/SvmSpoke/accounts/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/accounts/index.js +0 -1
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.d.ts +3 -1
- package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.js +4 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/deposit.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/deposit.js +38 -6
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.js +38 -6
- package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.d.ts +20 -16
- package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.js +6 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/index.js +0 -1
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.d.ts +21 -13
- package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.js +38 -6
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.d.ts +6 -10
- package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.js +5 -13
- package/dist/src/svm/clients/SvmSpoke/types/index.d.ts +0 -1
- package/dist/src/svm/clients/SvmSpoke/types/index.js +0 -1
- package/dist/src/svm/web3-v1/helpers.d.ts +114 -1
- package/dist/src/svm/web3-v1/helpers.js +179 -1
- package/dist/target/types/svm_spoke.d.ts +40 -366
- package/dist/test/svm/SvmSpoke.Deposit.js +143 -176
- package/dist/test/svm/SvmSpoke.Fill.AcrossPlus.js +20 -17
- package/dist/test/svm/SvmSpoke.Fill.js +52 -38
- package/dist/test/svm/SvmSpoke.HandleReceiveMessage.js +2 -114
- package/dist/test/svm/SvmSpoke.SlowFill.AcrossPlus.js +2 -2
- package/dist/test/svm/SvmSpoke.SlowFill.js +37 -34
- package/dist/test/svm/SvmSpoke.common.d.ts +2 -3
- package/dist/test/svm/SvmSpoke.common.js +3 -12
- package/package.json +1 -1
- package/dist/scripts/svm/remoteHubPoolSetDepositRoute.d.ts +0 -1
- package/dist/scripts/svm/remoteHubPoolSetDepositRoute.js +0 -252
- package/dist/src/svm/clients/SvmSpoke/accounts/route.d.ts +0 -27
- package/dist/src/svm/clients/SvmSpoke/accounts/route.js +0 -66
- package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.d.ts +0 -95
- package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.js +0 -213
- package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.d.ts +0 -21
- package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.js +0 -30
- package/dist/test/svm/SvmSpoke.Routes.js +0 -167
- /package/dist/scripts/svm/{enableRoute.d.ts → createVault.d.ts} +0 -0
- /package/dist/scripts/svm/{queryRoute.d.ts → nativeDeposit.d.ts} +0 -0
- /package/dist/{test/svm/SvmSpoke.Routes.d.ts → scripts/svm/queryVault.d.ts} +0 -0
|
@@ -9,14 +9,16 @@ import { type Address, type Codec, type Decoder, type Encoder, type IAccountMeta
|
|
|
9
9
|
import { SVM_SPOKE_PROGRAM_ADDRESS } from '../programs';
|
|
10
10
|
export declare const DEPOSIT_DISCRIMINATOR: Uint8Array;
|
|
11
11
|
export declare function getDepositDiscriminatorBytes(): ReadonlyUint8Array;
|
|
12
|
-
export type DepositInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string,
|
|
12
|
+
export type DepositInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string, TAccountDelegate extends string | IAccountMeta<string> = string, TAccountDepositorTokenAccount extends string | IAccountMeta<string> = string, TAccountVault extends string | IAccountMeta<string> = string, TAccountMint extends string | IAccountMeta<string> = string, TAccountTokenProgram extends string | IAccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | IAccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
13
13
|
TAccountSigner extends string ? WritableSignerAccount<TAccountSigner> & IAccountSignerMeta<TAccountSigner> : TAccountSigner,
|
|
14
14
|
TAccountState extends string ? WritableAccount<TAccountState> : TAccountState,
|
|
15
|
-
|
|
15
|
+
TAccountDelegate extends string ? ReadonlyAccount<TAccountDelegate> : TAccountDelegate,
|
|
16
16
|
TAccountDepositorTokenAccount extends string ? WritableAccount<TAccountDepositorTokenAccount> : TAccountDepositorTokenAccount,
|
|
17
17
|
TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault,
|
|
18
18
|
TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,
|
|
19
19
|
TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
|
|
20
|
+
TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
|
|
21
|
+
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
|
|
20
22
|
TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
|
|
21
23
|
TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
|
|
22
24
|
...TRemainingAccounts
|
|
@@ -53,14 +55,16 @@ export type DepositInstructionDataArgs = {
|
|
|
53
55
|
export declare function getDepositInstructionDataEncoder(): Encoder<DepositInstructionDataArgs>;
|
|
54
56
|
export declare function getDepositInstructionDataDecoder(): Decoder<DepositInstructionData>;
|
|
55
57
|
export declare function getDepositInstructionDataCodec(): Codec<DepositInstructionDataArgs, DepositInstructionData>;
|
|
56
|
-
export type DepositAsyncInput<TAccountSigner extends string = string, TAccountState extends string = string,
|
|
58
|
+
export type DepositAsyncInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
57
59
|
signer: TransactionSigner<TAccountSigner>;
|
|
58
60
|
state: Address<TAccountState>;
|
|
59
|
-
|
|
61
|
+
delegate: Address<TAccountDelegate>;
|
|
60
62
|
depositorTokenAccount?: Address<TAccountDepositorTokenAccount>;
|
|
61
63
|
vault?: Address<TAccountVault>;
|
|
62
64
|
mint: Address<TAccountMint>;
|
|
63
65
|
tokenProgram?: Address<TAccountTokenProgram>;
|
|
66
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
67
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
64
68
|
eventAuthority?: Address<TAccountEventAuthority>;
|
|
65
69
|
program: Address<TAccountProgram>;
|
|
66
70
|
depositor: DepositInstructionDataArgs['depositor'];
|
|
@@ -76,17 +80,19 @@ export type DepositAsyncInput<TAccountSigner extends string = string, TAccountSt
|
|
|
76
80
|
exclusivityParameter: DepositInstructionDataArgs['exclusivityParameter'];
|
|
77
81
|
message: DepositInstructionDataArgs['message'];
|
|
78
82
|
};
|
|
79
|
-
export declare function getDepositInstructionAsync<TAccountSigner extends string, TAccountState extends string,
|
|
83
|
+
export declare function getDepositInstructionAsync<TAccountSigner extends string, TAccountState extends string, TAccountDelegate extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositAsyncInput<TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
80
84
|
programAddress?: TProgramAddress;
|
|
81
|
-
}): Promise<DepositInstruction<TProgramAddress, TAccountSigner, TAccountState,
|
|
82
|
-
export type DepositInput<TAccountSigner extends string = string, TAccountState extends string = string,
|
|
85
|
+
}): Promise<DepositInstruction<TProgramAddress, TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
|
|
86
|
+
export type DepositInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
83
87
|
signer: TransactionSigner<TAccountSigner>;
|
|
84
88
|
state: Address<TAccountState>;
|
|
85
|
-
|
|
89
|
+
delegate: Address<TAccountDelegate>;
|
|
86
90
|
depositorTokenAccount: Address<TAccountDepositorTokenAccount>;
|
|
87
91
|
vault: Address<TAccountVault>;
|
|
88
92
|
mint: Address<TAccountMint>;
|
|
89
93
|
tokenProgram?: Address<TAccountTokenProgram>;
|
|
94
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
95
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
90
96
|
eventAuthority: Address<TAccountEventAuthority>;
|
|
91
97
|
program: Address<TAccountProgram>;
|
|
92
98
|
depositor: DepositInstructionDataArgs['depositor'];
|
|
@@ -102,21 +108,23 @@ export type DepositInput<TAccountSigner extends string = string, TAccountState e
|
|
|
102
108
|
exclusivityParameter: DepositInstructionDataArgs['exclusivityParameter'];
|
|
103
109
|
message: DepositInstructionDataArgs['message'];
|
|
104
110
|
};
|
|
105
|
-
export declare function getDepositInstruction<TAccountSigner extends string, TAccountState extends string,
|
|
111
|
+
export declare function getDepositInstruction<TAccountSigner extends string, TAccountState extends string, TAccountDelegate extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositInput<TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
106
112
|
programAddress?: TProgramAddress;
|
|
107
|
-
}): DepositInstruction<TProgramAddress, TAccountSigner, TAccountState,
|
|
113
|
+
}): DepositInstruction<TProgramAddress, TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
|
|
108
114
|
export type ParsedDepositInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
109
115
|
programAddress: Address<TProgram>;
|
|
110
116
|
accounts: {
|
|
111
117
|
signer: TAccountMetas[0];
|
|
112
118
|
state: TAccountMetas[1];
|
|
113
|
-
|
|
119
|
+
delegate: TAccountMetas[2];
|
|
114
120
|
depositorTokenAccount: TAccountMetas[3];
|
|
115
121
|
vault: TAccountMetas[4];
|
|
116
122
|
mint: TAccountMetas[5];
|
|
117
123
|
tokenProgram: TAccountMetas[6];
|
|
118
|
-
|
|
119
|
-
|
|
124
|
+
associatedTokenProgram: TAccountMetas[7];
|
|
125
|
+
systemProgram: TAccountMetas[8];
|
|
126
|
+
eventAuthority: TAccountMetas[9];
|
|
127
|
+
program: TAccountMetas[10];
|
|
120
128
|
};
|
|
121
129
|
data: DepositInstructionData;
|
|
122
130
|
};
|
|
@@ -68,7 +68,7 @@ async function getDepositInstructionAsync(input, config) {
|
|
|
68
68
|
const originalAccounts = {
|
|
69
69
|
signer: { value: input.signer ?? null, isWritable: true },
|
|
70
70
|
state: { value: input.state ?? null, isWritable: true },
|
|
71
|
-
|
|
71
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
72
72
|
depositorTokenAccount: {
|
|
73
73
|
value: input.depositorTokenAccount ?? null,
|
|
74
74
|
isWritable: true,
|
|
@@ -76,6 +76,11 @@ async function getDepositInstructionAsync(input, config) {
|
|
|
76
76
|
vault: { value: input.vault ?? null, isWritable: true },
|
|
77
77
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
78
78
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
79
|
+
associatedTokenProgram: {
|
|
80
|
+
value: input.associatedTokenProgram ?? null,
|
|
81
|
+
isWritable: false,
|
|
82
|
+
},
|
|
83
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
79
84
|
eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
|
|
80
85
|
program: { value: input.program ?? null, isWritable: false },
|
|
81
86
|
};
|
|
@@ -107,6 +112,14 @@ async function getDepositInstructionAsync(input, config) {
|
|
|
107
112
|
],
|
|
108
113
|
});
|
|
109
114
|
}
|
|
115
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
116
|
+
accounts.associatedTokenProgram.value =
|
|
117
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
118
|
+
}
|
|
119
|
+
if (!accounts.systemProgram.value) {
|
|
120
|
+
accounts.systemProgram.value =
|
|
121
|
+
'11111111111111111111111111111111';
|
|
122
|
+
}
|
|
110
123
|
if (!accounts.eventAuthority.value) {
|
|
111
124
|
accounts.eventAuthority.value = await (0, kit_1.getProgramDerivedAddress)({
|
|
112
125
|
programAddress,
|
|
@@ -123,11 +136,13 @@ async function getDepositInstructionAsync(input, config) {
|
|
|
123
136
|
accounts: [
|
|
124
137
|
getAccountMeta(accounts.signer),
|
|
125
138
|
getAccountMeta(accounts.state),
|
|
126
|
-
getAccountMeta(accounts.
|
|
139
|
+
getAccountMeta(accounts.delegate),
|
|
127
140
|
getAccountMeta(accounts.depositorTokenAccount),
|
|
128
141
|
getAccountMeta(accounts.vault),
|
|
129
142
|
getAccountMeta(accounts.mint),
|
|
130
143
|
getAccountMeta(accounts.tokenProgram),
|
|
144
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
145
|
+
getAccountMeta(accounts.systemProgram),
|
|
131
146
|
getAccountMeta(accounts.eventAuthority),
|
|
132
147
|
getAccountMeta(accounts.program),
|
|
133
148
|
],
|
|
@@ -143,7 +158,7 @@ function getDepositInstruction(input, config) {
|
|
|
143
158
|
const originalAccounts = {
|
|
144
159
|
signer: { value: input.signer ?? null, isWritable: true },
|
|
145
160
|
state: { value: input.state ?? null, isWritable: true },
|
|
146
|
-
|
|
161
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
147
162
|
depositorTokenAccount: {
|
|
148
163
|
value: input.depositorTokenAccount ?? null,
|
|
149
164
|
isWritable: true,
|
|
@@ -151,6 +166,11 @@ function getDepositInstruction(input, config) {
|
|
|
151
166
|
vault: { value: input.vault ?? null, isWritable: true },
|
|
152
167
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
153
168
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
169
|
+
associatedTokenProgram: {
|
|
170
|
+
value: input.associatedTokenProgram ?? null,
|
|
171
|
+
isWritable: false,
|
|
172
|
+
},
|
|
173
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
154
174
|
eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
|
|
155
175
|
program: { value: input.program ?? null, isWritable: false },
|
|
156
176
|
};
|
|
@@ -162,16 +182,26 @@ function getDepositInstruction(input, config) {
|
|
|
162
182
|
accounts.tokenProgram.value =
|
|
163
183
|
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
164
184
|
}
|
|
185
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
186
|
+
accounts.associatedTokenProgram.value =
|
|
187
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
188
|
+
}
|
|
189
|
+
if (!accounts.systemProgram.value) {
|
|
190
|
+
accounts.systemProgram.value =
|
|
191
|
+
'11111111111111111111111111111111';
|
|
192
|
+
}
|
|
165
193
|
const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, 'programId');
|
|
166
194
|
const instruction = {
|
|
167
195
|
accounts: [
|
|
168
196
|
getAccountMeta(accounts.signer),
|
|
169
197
|
getAccountMeta(accounts.state),
|
|
170
|
-
getAccountMeta(accounts.
|
|
198
|
+
getAccountMeta(accounts.delegate),
|
|
171
199
|
getAccountMeta(accounts.depositorTokenAccount),
|
|
172
200
|
getAccountMeta(accounts.vault),
|
|
173
201
|
getAccountMeta(accounts.mint),
|
|
174
202
|
getAccountMeta(accounts.tokenProgram),
|
|
203
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
204
|
+
getAccountMeta(accounts.systemProgram),
|
|
175
205
|
getAccountMeta(accounts.eventAuthority),
|
|
176
206
|
getAccountMeta(accounts.program),
|
|
177
207
|
],
|
|
@@ -181,7 +211,7 @@ function getDepositInstruction(input, config) {
|
|
|
181
211
|
return instruction;
|
|
182
212
|
}
|
|
183
213
|
function parseDepositInstruction(instruction) {
|
|
184
|
-
if (instruction.accounts.length <
|
|
214
|
+
if (instruction.accounts.length < 11) {
|
|
185
215
|
// TODO: Coded error.
|
|
186
216
|
throw new Error('Not enough accounts');
|
|
187
217
|
}
|
|
@@ -196,11 +226,13 @@ function parseDepositInstruction(instruction) {
|
|
|
196
226
|
accounts: {
|
|
197
227
|
signer: getNextAccount(),
|
|
198
228
|
state: getNextAccount(),
|
|
199
|
-
|
|
229
|
+
delegate: getNextAccount(),
|
|
200
230
|
depositorTokenAccount: getNextAccount(),
|
|
201
231
|
vault: getNextAccount(),
|
|
202
232
|
mint: getNextAccount(),
|
|
203
233
|
tokenProgram: getNextAccount(),
|
|
234
|
+
associatedTokenProgram: getNextAccount(),
|
|
235
|
+
systemProgram: getNextAccount(),
|
|
204
236
|
eventAuthority: getNextAccount(),
|
|
205
237
|
program: getNextAccount(),
|
|
206
238
|
},
|
|
@@ -9,14 +9,16 @@ import { type Address, type Codec, type Decoder, type Encoder, type IAccountMeta
|
|
|
9
9
|
import { SVM_SPOKE_PROGRAM_ADDRESS } from '../programs';
|
|
10
10
|
export declare const DEPOSIT_NOW_DISCRIMINATOR: Uint8Array;
|
|
11
11
|
export declare function getDepositNowDiscriminatorBytes(): ReadonlyUint8Array;
|
|
12
|
-
export type DepositNowInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string,
|
|
12
|
+
export type DepositNowInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string, TAccountDelegate extends string | IAccountMeta<string> = string, TAccountDepositorTokenAccount extends string | IAccountMeta<string> = string, TAccountVault extends string | IAccountMeta<string> = string, TAccountMint extends string | IAccountMeta<string> = string, TAccountTokenProgram extends string | IAccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | IAccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
13
13
|
TAccountSigner extends string ? WritableSignerAccount<TAccountSigner> & IAccountSignerMeta<TAccountSigner> : TAccountSigner,
|
|
14
14
|
TAccountState extends string ? WritableAccount<TAccountState> : TAccountState,
|
|
15
|
-
|
|
15
|
+
TAccountDelegate extends string ? ReadonlyAccount<TAccountDelegate> : TAccountDelegate,
|
|
16
16
|
TAccountDepositorTokenAccount extends string ? WritableAccount<TAccountDepositorTokenAccount> : TAccountDepositorTokenAccount,
|
|
17
17
|
TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault,
|
|
18
18
|
TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,
|
|
19
19
|
TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
|
|
20
|
+
TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
|
|
21
|
+
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
|
|
20
22
|
TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
|
|
21
23
|
TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
|
|
22
24
|
...TRemainingAccounts
|
|
@@ -51,14 +53,16 @@ export type DepositNowInstructionDataArgs = {
|
|
|
51
53
|
export declare function getDepositNowInstructionDataEncoder(): Encoder<DepositNowInstructionDataArgs>;
|
|
52
54
|
export declare function getDepositNowInstructionDataDecoder(): Decoder<DepositNowInstructionData>;
|
|
53
55
|
export declare function getDepositNowInstructionDataCodec(): Codec<DepositNowInstructionDataArgs, DepositNowInstructionData>;
|
|
54
|
-
export type DepositNowAsyncInput<TAccountSigner extends string = string, TAccountState extends string = string,
|
|
56
|
+
export type DepositNowAsyncInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
55
57
|
signer: TransactionSigner<TAccountSigner>;
|
|
56
58
|
state: Address<TAccountState>;
|
|
57
|
-
|
|
59
|
+
delegate: Address<TAccountDelegate>;
|
|
58
60
|
depositorTokenAccount?: Address<TAccountDepositorTokenAccount>;
|
|
59
61
|
vault?: Address<TAccountVault>;
|
|
60
62
|
mint: Address<TAccountMint>;
|
|
61
63
|
tokenProgram?: Address<TAccountTokenProgram>;
|
|
64
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
65
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
62
66
|
eventAuthority?: Address<TAccountEventAuthority>;
|
|
63
67
|
program: Address<TAccountProgram>;
|
|
64
68
|
depositor: DepositNowInstructionDataArgs['depositor'];
|
|
@@ -73,17 +77,19 @@ export type DepositNowAsyncInput<TAccountSigner extends string = string, TAccoun
|
|
|
73
77
|
exclusivityParameter: DepositNowInstructionDataArgs['exclusivityParameter'];
|
|
74
78
|
message: DepositNowInstructionDataArgs['message'];
|
|
75
79
|
};
|
|
76
|
-
export declare function getDepositNowInstructionAsync<TAccountSigner extends string, TAccountState extends string,
|
|
80
|
+
export declare function getDepositNowInstructionAsync<TAccountSigner extends string, TAccountState extends string, TAccountDelegate extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositNowAsyncInput<TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
77
81
|
programAddress?: TProgramAddress;
|
|
78
|
-
}): Promise<DepositNowInstruction<TProgramAddress, TAccountSigner, TAccountState,
|
|
79
|
-
export type DepositNowInput<TAccountSigner extends string = string, TAccountState extends string = string,
|
|
82
|
+
}): Promise<DepositNowInstruction<TProgramAddress, TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
|
|
83
|
+
export type DepositNowInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
80
84
|
signer: TransactionSigner<TAccountSigner>;
|
|
81
85
|
state: Address<TAccountState>;
|
|
82
|
-
|
|
86
|
+
delegate: Address<TAccountDelegate>;
|
|
83
87
|
depositorTokenAccount: Address<TAccountDepositorTokenAccount>;
|
|
84
88
|
vault: Address<TAccountVault>;
|
|
85
89
|
mint: Address<TAccountMint>;
|
|
86
90
|
tokenProgram?: Address<TAccountTokenProgram>;
|
|
91
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
92
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
87
93
|
eventAuthority: Address<TAccountEventAuthority>;
|
|
88
94
|
program: Address<TAccountProgram>;
|
|
89
95
|
depositor: DepositNowInstructionDataArgs['depositor'];
|
|
@@ -98,21 +104,23 @@ export type DepositNowInput<TAccountSigner extends string = string, TAccountStat
|
|
|
98
104
|
exclusivityParameter: DepositNowInstructionDataArgs['exclusivityParameter'];
|
|
99
105
|
message: DepositNowInstructionDataArgs['message'];
|
|
100
106
|
};
|
|
101
|
-
export declare function getDepositNowInstruction<TAccountSigner extends string, TAccountState extends string,
|
|
107
|
+
export declare function getDepositNowInstruction<TAccountSigner extends string, TAccountState extends string, TAccountDelegate extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositNowInput<TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
102
108
|
programAddress?: TProgramAddress;
|
|
103
|
-
}): DepositNowInstruction<TProgramAddress, TAccountSigner, TAccountState,
|
|
109
|
+
}): DepositNowInstruction<TProgramAddress, TAccountSigner, TAccountState, TAccountDelegate, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
|
|
104
110
|
export type ParsedDepositNowInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
105
111
|
programAddress: Address<TProgram>;
|
|
106
112
|
accounts: {
|
|
107
113
|
signer: TAccountMetas[0];
|
|
108
114
|
state: TAccountMetas[1];
|
|
109
|
-
|
|
115
|
+
delegate: TAccountMetas[2];
|
|
110
116
|
depositorTokenAccount: TAccountMetas[3];
|
|
111
117
|
vault: TAccountMetas[4];
|
|
112
118
|
mint: TAccountMetas[5];
|
|
113
119
|
tokenProgram: TAccountMetas[6];
|
|
114
|
-
|
|
115
|
-
|
|
120
|
+
associatedTokenProgram: TAccountMetas[7];
|
|
121
|
+
systemProgram: TAccountMetas[8];
|
|
122
|
+
eventAuthority: TAccountMetas[9];
|
|
123
|
+
program: TAccountMetas[10];
|
|
116
124
|
};
|
|
117
125
|
data: DepositNowInstructionData;
|
|
118
126
|
};
|
|
@@ -66,7 +66,7 @@ async function getDepositNowInstructionAsync(input, config) {
|
|
|
66
66
|
const originalAccounts = {
|
|
67
67
|
signer: { value: input.signer ?? null, isWritable: true },
|
|
68
68
|
state: { value: input.state ?? null, isWritable: true },
|
|
69
|
-
|
|
69
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
70
70
|
depositorTokenAccount: {
|
|
71
71
|
value: input.depositorTokenAccount ?? null,
|
|
72
72
|
isWritable: true,
|
|
@@ -74,6 +74,11 @@ async function getDepositNowInstructionAsync(input, config) {
|
|
|
74
74
|
vault: { value: input.vault ?? null, isWritable: true },
|
|
75
75
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
76
76
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
77
|
+
associatedTokenProgram: {
|
|
78
|
+
value: input.associatedTokenProgram ?? null,
|
|
79
|
+
isWritable: false,
|
|
80
|
+
},
|
|
81
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
77
82
|
eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
|
|
78
83
|
program: { value: input.program ?? null, isWritable: false },
|
|
79
84
|
};
|
|
@@ -105,6 +110,14 @@ async function getDepositNowInstructionAsync(input, config) {
|
|
|
105
110
|
],
|
|
106
111
|
});
|
|
107
112
|
}
|
|
113
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
114
|
+
accounts.associatedTokenProgram.value =
|
|
115
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
116
|
+
}
|
|
117
|
+
if (!accounts.systemProgram.value) {
|
|
118
|
+
accounts.systemProgram.value =
|
|
119
|
+
'11111111111111111111111111111111';
|
|
120
|
+
}
|
|
108
121
|
if (!accounts.eventAuthority.value) {
|
|
109
122
|
accounts.eventAuthority.value = await (0, kit_1.getProgramDerivedAddress)({
|
|
110
123
|
programAddress,
|
|
@@ -121,11 +134,13 @@ async function getDepositNowInstructionAsync(input, config) {
|
|
|
121
134
|
accounts: [
|
|
122
135
|
getAccountMeta(accounts.signer),
|
|
123
136
|
getAccountMeta(accounts.state),
|
|
124
|
-
getAccountMeta(accounts.
|
|
137
|
+
getAccountMeta(accounts.delegate),
|
|
125
138
|
getAccountMeta(accounts.depositorTokenAccount),
|
|
126
139
|
getAccountMeta(accounts.vault),
|
|
127
140
|
getAccountMeta(accounts.mint),
|
|
128
141
|
getAccountMeta(accounts.tokenProgram),
|
|
142
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
143
|
+
getAccountMeta(accounts.systemProgram),
|
|
129
144
|
getAccountMeta(accounts.eventAuthority),
|
|
130
145
|
getAccountMeta(accounts.program),
|
|
131
146
|
],
|
|
@@ -141,7 +156,7 @@ function getDepositNowInstruction(input, config) {
|
|
|
141
156
|
const originalAccounts = {
|
|
142
157
|
signer: { value: input.signer ?? null, isWritable: true },
|
|
143
158
|
state: { value: input.state ?? null, isWritable: true },
|
|
144
|
-
|
|
159
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
145
160
|
depositorTokenAccount: {
|
|
146
161
|
value: input.depositorTokenAccount ?? null,
|
|
147
162
|
isWritable: true,
|
|
@@ -149,6 +164,11 @@ function getDepositNowInstruction(input, config) {
|
|
|
149
164
|
vault: { value: input.vault ?? null, isWritable: true },
|
|
150
165
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
151
166
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
167
|
+
associatedTokenProgram: {
|
|
168
|
+
value: input.associatedTokenProgram ?? null,
|
|
169
|
+
isWritable: false,
|
|
170
|
+
},
|
|
171
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
152
172
|
eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
|
|
153
173
|
program: { value: input.program ?? null, isWritable: false },
|
|
154
174
|
};
|
|
@@ -160,16 +180,26 @@ function getDepositNowInstruction(input, config) {
|
|
|
160
180
|
accounts.tokenProgram.value =
|
|
161
181
|
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
162
182
|
}
|
|
183
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
184
|
+
accounts.associatedTokenProgram.value =
|
|
185
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
186
|
+
}
|
|
187
|
+
if (!accounts.systemProgram.value) {
|
|
188
|
+
accounts.systemProgram.value =
|
|
189
|
+
'11111111111111111111111111111111';
|
|
190
|
+
}
|
|
163
191
|
const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, 'programId');
|
|
164
192
|
const instruction = {
|
|
165
193
|
accounts: [
|
|
166
194
|
getAccountMeta(accounts.signer),
|
|
167
195
|
getAccountMeta(accounts.state),
|
|
168
|
-
getAccountMeta(accounts.
|
|
196
|
+
getAccountMeta(accounts.delegate),
|
|
169
197
|
getAccountMeta(accounts.depositorTokenAccount),
|
|
170
198
|
getAccountMeta(accounts.vault),
|
|
171
199
|
getAccountMeta(accounts.mint),
|
|
172
200
|
getAccountMeta(accounts.tokenProgram),
|
|
201
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
202
|
+
getAccountMeta(accounts.systemProgram),
|
|
173
203
|
getAccountMeta(accounts.eventAuthority),
|
|
174
204
|
getAccountMeta(accounts.program),
|
|
175
205
|
],
|
|
@@ -179,7 +209,7 @@ function getDepositNowInstruction(input, config) {
|
|
|
179
209
|
return instruction;
|
|
180
210
|
}
|
|
181
211
|
function parseDepositNowInstruction(instruction) {
|
|
182
|
-
if (instruction.accounts.length <
|
|
212
|
+
if (instruction.accounts.length < 11) {
|
|
183
213
|
// TODO: Coded error.
|
|
184
214
|
throw new Error('Not enough accounts');
|
|
185
215
|
}
|
|
@@ -194,11 +224,13 @@ function parseDepositNowInstruction(instruction) {
|
|
|
194
224
|
accounts: {
|
|
195
225
|
signer: getNextAccount(),
|
|
196
226
|
state: getNextAccount(),
|
|
197
|
-
|
|
227
|
+
delegate: getNextAccount(),
|
|
198
228
|
depositorTokenAccount: getNextAccount(),
|
|
199
229
|
vault: getNextAccount(),
|
|
200
230
|
mint: getNextAccount(),
|
|
201
231
|
tokenProgram: getNextAccount(),
|
|
232
|
+
associatedTokenProgram: getNextAccount(),
|
|
233
|
+
systemProgram: getNextAccount(),
|
|
202
234
|
eventAuthority: getNextAccount(),
|
|
203
235
|
program: getNextAccount(),
|
|
204
236
|
},
|
|
@@ -10,10 +10,11 @@ import { SVM_SPOKE_PROGRAM_ADDRESS } from '../programs';
|
|
|
10
10
|
import { type RelayData, type RelayDataArgs } from '../types';
|
|
11
11
|
export declare const FILL_RELAY_DISCRIMINATOR: Uint8Array;
|
|
12
12
|
export declare function getFillRelayDiscriminatorBytes(): ReadonlyUint8Array;
|
|
13
|
-
export type FillRelayInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountInstructionParams extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string, TAccountMint extends string | IAccountMeta<string> = string, TAccountRelayerTokenAccount extends string | IAccountMeta<string> = string, TAccountRecipientTokenAccount extends string | IAccountMeta<string> = string, TAccountFillStatus extends string | IAccountMeta<string> = string, TAccountTokenProgram extends string | IAccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | IAccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
13
|
+
export type FillRelayInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountInstructionParams extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string, TAccountDelegate extends string | IAccountMeta<string> = string, TAccountMint extends string | IAccountMeta<string> = string, TAccountRelayerTokenAccount extends string | IAccountMeta<string> = string, TAccountRecipientTokenAccount extends string | IAccountMeta<string> = string, TAccountFillStatus extends string | IAccountMeta<string> = string, TAccountTokenProgram extends string | IAccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | IAccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
|
|
14
14
|
TAccountSigner extends string ? WritableSignerAccount<TAccountSigner> & IAccountSignerMeta<TAccountSigner> : TAccountSigner,
|
|
15
15
|
TAccountInstructionParams extends string ? WritableAccount<TAccountInstructionParams> : TAccountInstructionParams,
|
|
16
16
|
TAccountState extends string ? ReadonlyAccount<TAccountState> : TAccountState,
|
|
17
|
+
TAccountDelegate extends string ? ReadonlyAccount<TAccountDelegate> : TAccountDelegate,
|
|
17
18
|
TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,
|
|
18
19
|
TAccountRelayerTokenAccount extends string ? WritableAccount<TAccountRelayerTokenAccount> : TAccountRelayerTokenAccount,
|
|
19
20
|
TAccountRecipientTokenAccount extends string ? WritableAccount<TAccountRecipientTokenAccount> : TAccountRecipientTokenAccount,
|
|
@@ -41,10 +42,11 @@ export type FillRelayInstructionDataArgs = {
|
|
|
41
42
|
export declare function getFillRelayInstructionDataEncoder(): Encoder<FillRelayInstructionDataArgs>;
|
|
42
43
|
export declare function getFillRelayInstructionDataDecoder(): Decoder<FillRelayInstructionData>;
|
|
43
44
|
export declare function getFillRelayInstructionDataCodec(): Codec<FillRelayInstructionDataArgs, FillRelayInstructionData>;
|
|
44
|
-
export type FillRelayAsyncInput<TAccountSigner extends string = string, TAccountInstructionParams extends string = string, TAccountState extends string = string, TAccountMint extends string = string, TAccountRelayerTokenAccount extends string = string, TAccountRecipientTokenAccount extends string = string, TAccountFillStatus extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
45
|
+
export type FillRelayAsyncInput<TAccountSigner extends string = string, TAccountInstructionParams extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountMint extends string = string, TAccountRelayerTokenAccount extends string = string, TAccountRecipientTokenAccount extends string = string, TAccountFillStatus extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
45
46
|
signer: TransactionSigner<TAccountSigner>;
|
|
46
47
|
instructionParams?: Address<TAccountInstructionParams>;
|
|
47
48
|
state: Address<TAccountState>;
|
|
49
|
+
delegate: Address<TAccountDelegate>;
|
|
48
50
|
mint: Address<TAccountMint>;
|
|
49
51
|
relayerTokenAccount: Address<TAccountRelayerTokenAccount>;
|
|
50
52
|
recipientTokenAccount?: Address<TAccountRecipientTokenAccount>;
|
|
@@ -59,13 +61,14 @@ export type FillRelayAsyncInput<TAccountSigner extends string = string, TAccount
|
|
|
59
61
|
repaymentChainId: FillRelayInstructionDataArgs['repaymentChainId'];
|
|
60
62
|
repaymentAddress: FillRelayInstructionDataArgs['repaymentAddress'];
|
|
61
63
|
};
|
|
62
|
-
export declare function getFillRelayInstructionAsync<TAccountSigner extends string, TAccountInstructionParams extends string, TAccountState extends string, TAccountMint extends string, TAccountRelayerTokenAccount extends string, TAccountRecipientTokenAccount extends string, TAccountFillStatus extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: FillRelayAsyncInput<TAccountSigner, TAccountInstructionParams, TAccountState, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
64
|
+
export declare function getFillRelayInstructionAsync<TAccountSigner extends string, TAccountInstructionParams extends string, TAccountState extends string, TAccountDelegate extends string, TAccountMint extends string, TAccountRelayerTokenAccount extends string, TAccountRecipientTokenAccount extends string, TAccountFillStatus extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: FillRelayAsyncInput<TAccountSigner, TAccountInstructionParams, TAccountState, TAccountDelegate, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
63
65
|
programAddress?: TProgramAddress;
|
|
64
|
-
}): Promise<FillRelayInstruction<TProgramAddress, TAccountSigner, TAccountInstructionParams, TAccountState, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
|
|
65
|
-
export type FillRelayInput<TAccountSigner extends string = string, TAccountInstructionParams extends string = string, TAccountState extends string = string, TAccountMint extends string = string, TAccountRelayerTokenAccount extends string = string, TAccountRecipientTokenAccount extends string = string, TAccountFillStatus extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
66
|
+
}): Promise<FillRelayInstruction<TProgramAddress, TAccountSigner, TAccountInstructionParams, TAccountState, TAccountDelegate, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
|
|
67
|
+
export type FillRelayInput<TAccountSigner extends string = string, TAccountInstructionParams extends string = string, TAccountState extends string = string, TAccountDelegate extends string = string, TAccountMint extends string = string, TAccountRelayerTokenAccount extends string = string, TAccountRecipientTokenAccount extends string = string, TAccountFillStatus extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
|
|
66
68
|
signer: TransactionSigner<TAccountSigner>;
|
|
67
69
|
instructionParams?: Address<TAccountInstructionParams>;
|
|
68
70
|
state: Address<TAccountState>;
|
|
71
|
+
delegate: Address<TAccountDelegate>;
|
|
69
72
|
mint: Address<TAccountMint>;
|
|
70
73
|
relayerTokenAccount: Address<TAccountRelayerTokenAccount>;
|
|
71
74
|
recipientTokenAccount: Address<TAccountRecipientTokenAccount>;
|
|
@@ -80,24 +83,25 @@ export type FillRelayInput<TAccountSigner extends string = string, TAccountInstr
|
|
|
80
83
|
repaymentChainId: FillRelayInstructionDataArgs['repaymentChainId'];
|
|
81
84
|
repaymentAddress: FillRelayInstructionDataArgs['repaymentAddress'];
|
|
82
85
|
};
|
|
83
|
-
export declare function getFillRelayInstruction<TAccountSigner extends string, TAccountInstructionParams extends string, TAccountState extends string, TAccountMint extends string, TAccountRelayerTokenAccount extends string, TAccountRecipientTokenAccount extends string, TAccountFillStatus extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: FillRelayInput<TAccountSigner, TAccountInstructionParams, TAccountState, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
86
|
+
export declare function getFillRelayInstruction<TAccountSigner extends string, TAccountInstructionParams extends string, TAccountState extends string, TAccountDelegate extends string, TAccountMint extends string, TAccountRelayerTokenAccount extends string, TAccountRecipientTokenAccount extends string, TAccountFillStatus extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: FillRelayInput<TAccountSigner, TAccountInstructionParams, TAccountState, TAccountDelegate, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
|
|
84
87
|
programAddress?: TProgramAddress;
|
|
85
|
-
}): FillRelayInstruction<TProgramAddress, TAccountSigner, TAccountInstructionParams, TAccountState, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
|
|
88
|
+
}): FillRelayInstruction<TProgramAddress, TAccountSigner, TAccountInstructionParams, TAccountState, TAccountDelegate, TAccountMint, TAccountRelayerTokenAccount, TAccountRecipientTokenAccount, TAccountFillStatus, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
|
|
86
89
|
export type ParsedFillRelayInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
|
|
87
90
|
programAddress: Address<TProgram>;
|
|
88
91
|
accounts: {
|
|
89
92
|
signer: TAccountMetas[0];
|
|
90
93
|
instructionParams?: TAccountMetas[1] | undefined;
|
|
91
94
|
state: TAccountMetas[2];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
delegate: TAccountMetas[3];
|
|
96
|
+
mint: TAccountMetas[4];
|
|
97
|
+
relayerTokenAccount: TAccountMetas[5];
|
|
98
|
+
recipientTokenAccount: TAccountMetas[6];
|
|
99
|
+
fillStatus: TAccountMetas[7];
|
|
100
|
+
tokenProgram: TAccountMetas[8];
|
|
101
|
+
associatedTokenProgram: TAccountMetas[9];
|
|
102
|
+
systemProgram: TAccountMetas[10];
|
|
103
|
+
eventAuthority: TAccountMetas[11];
|
|
104
|
+
program: TAccountMetas[12];
|
|
101
105
|
};
|
|
102
106
|
data: FillRelayInstructionData;
|
|
103
107
|
};
|
|
@@ -57,6 +57,7 @@ async function getFillRelayInstructionAsync(input, config) {
|
|
|
57
57
|
isWritable: true,
|
|
58
58
|
},
|
|
59
59
|
state: { value: input.state ?? null, isWritable: false },
|
|
60
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
60
61
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
61
62
|
relayerTokenAccount: {
|
|
62
63
|
value: input.relayerTokenAccount ?? null,
|
|
@@ -140,6 +141,7 @@ async function getFillRelayInstructionAsync(input, config) {
|
|
|
140
141
|
getAccountMeta(accounts.signer),
|
|
141
142
|
getAccountMeta(accounts.instructionParams),
|
|
142
143
|
getAccountMeta(accounts.state),
|
|
144
|
+
getAccountMeta(accounts.delegate),
|
|
143
145
|
getAccountMeta(accounts.mint),
|
|
144
146
|
getAccountMeta(accounts.relayerTokenAccount),
|
|
145
147
|
getAccountMeta(accounts.recipientTokenAccount),
|
|
@@ -166,6 +168,7 @@ function getFillRelayInstruction(input, config) {
|
|
|
166
168
|
isWritable: true,
|
|
167
169
|
},
|
|
168
170
|
state: { value: input.state ?? null, isWritable: false },
|
|
171
|
+
delegate: { value: input.delegate ?? null, isWritable: false },
|
|
169
172
|
mint: { value: input.mint ?? null, isWritable: false },
|
|
170
173
|
relayerTokenAccount: {
|
|
171
174
|
value: input.relayerTokenAccount ?? null,
|
|
@@ -207,6 +210,7 @@ function getFillRelayInstruction(input, config) {
|
|
|
207
210
|
getAccountMeta(accounts.signer),
|
|
208
211
|
getAccountMeta(accounts.instructionParams),
|
|
209
212
|
getAccountMeta(accounts.state),
|
|
213
|
+
getAccountMeta(accounts.delegate),
|
|
210
214
|
getAccountMeta(accounts.mint),
|
|
211
215
|
getAccountMeta(accounts.relayerTokenAccount),
|
|
212
216
|
getAccountMeta(accounts.recipientTokenAccount),
|
|
@@ -223,7 +227,7 @@ function getFillRelayInstruction(input, config) {
|
|
|
223
227
|
return instruction;
|
|
224
228
|
}
|
|
225
229
|
function parseFillRelayInstruction(instruction) {
|
|
226
|
-
if (instruction.accounts.length <
|
|
230
|
+
if (instruction.accounts.length < 13) {
|
|
227
231
|
// TODO: Coded error.
|
|
228
232
|
throw new Error('Not enough accounts');
|
|
229
233
|
}
|
|
@@ -245,6 +249,7 @@ function parseFillRelayInstruction(instruction) {
|
|
|
245
249
|
signer: getNextAccount(),
|
|
246
250
|
instructionParams: getNextOptionalAccount(),
|
|
247
251
|
state: getNextAccount(),
|
|
252
|
+
delegate: getNextAccount(),
|
|
248
253
|
mint: getNextAccount(),
|
|
249
254
|
relayerTokenAccount: getNextAccount(),
|
|
250
255
|
recipientTokenAccount: getNextAccount(),
|
|
@@ -29,7 +29,6 @@ export * from './relayRootBundle';
|
|
|
29
29
|
export * from './requestSlowFill';
|
|
30
30
|
export * from './setCrossDomainAdmin';
|
|
31
31
|
export * from './setCurrentTime';
|
|
32
|
-
export * from './setEnableRoute';
|
|
33
32
|
export * from './transferOwnership';
|
|
34
33
|
export * from './unsafeDeposit';
|
|
35
34
|
export * from './writeInstructionParamsFragment';
|
|
@@ -45,7 +45,6 @@ __exportStar(require("./relayRootBundle"), exports);
|
|
|
45
45
|
__exportStar(require("./requestSlowFill"), exports);
|
|
46
46
|
__exportStar(require("./setCrossDomainAdmin"), exports);
|
|
47
47
|
__exportStar(require("./setCurrentTime"), exports);
|
|
48
|
-
__exportStar(require("./setEnableRoute"), exports);
|
|
49
48
|
__exportStar(require("./transferOwnership"), exports);
|
|
50
49
|
__exportStar(require("./unsafeDeposit"), exports);
|
|
51
50
|
__exportStar(require("./writeInstructionParamsFragment"), exports);
|