@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.
Files changed (53) hide show
  1. package/dist/scripts/svm/{enableRoute.js → createVault.js} +13 -35
  2. package/dist/scripts/svm/fakeFillWithRandomDistribution.js +9 -8
  3. package/dist/scripts/svm/nativeDeposit.js +138 -0
  4. package/dist/scripts/svm/queryEventsV2.js +3 -3
  5. package/dist/scripts/svm/{queryRoute.js → queryVault.js} +10 -25
  6. package/dist/scripts/svm/remoteHubPoolPauseDeposits.js +2 -2
  7. package/dist/scripts/svm/simpleDeposit.js +3 -12
  8. package/dist/scripts/svm/simpleFakeRelayerRepayment.js +2 -9
  9. package/dist/scripts/svm/simpleFill.js +3 -2
  10. package/dist/src/svm/assets/idl/svm_spoke.json +43 -369
  11. package/dist/src/svm/assets/svm_spoke.d.ts +40 -366
  12. package/dist/src/svm/clients/SvmSpoke/accounts/index.d.ts +0 -1
  13. package/dist/src/svm/clients/SvmSpoke/accounts/index.js +0 -1
  14. package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.d.ts +3 -1
  15. package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.js +4 -1
  16. package/dist/src/svm/clients/SvmSpoke/instructions/deposit.d.ts +21 -13
  17. package/dist/src/svm/clients/SvmSpoke/instructions/deposit.js +38 -6
  18. package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.d.ts +21 -13
  19. package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.js +38 -6
  20. package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.d.ts +20 -16
  21. package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.js +6 -1
  22. package/dist/src/svm/clients/SvmSpoke/instructions/index.d.ts +0 -1
  23. package/dist/src/svm/clients/SvmSpoke/instructions/index.js +0 -1
  24. package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.d.ts +21 -13
  25. package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.js +38 -6
  26. package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.d.ts +6 -10
  27. package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.js +5 -13
  28. package/dist/src/svm/clients/SvmSpoke/types/index.d.ts +0 -1
  29. package/dist/src/svm/clients/SvmSpoke/types/index.js +0 -1
  30. package/dist/src/svm/web3-v1/helpers.d.ts +114 -1
  31. package/dist/src/svm/web3-v1/helpers.js +179 -1
  32. package/dist/target/types/svm_spoke.d.ts +40 -366
  33. package/dist/test/svm/SvmSpoke.Deposit.js +143 -176
  34. package/dist/test/svm/SvmSpoke.Fill.AcrossPlus.js +20 -17
  35. package/dist/test/svm/SvmSpoke.Fill.js +52 -38
  36. package/dist/test/svm/SvmSpoke.HandleReceiveMessage.js +2 -114
  37. package/dist/test/svm/SvmSpoke.SlowFill.AcrossPlus.js +2 -2
  38. package/dist/test/svm/SvmSpoke.SlowFill.js +37 -34
  39. package/dist/test/svm/SvmSpoke.common.d.ts +2 -3
  40. package/dist/test/svm/SvmSpoke.common.js +3 -12
  41. package/package.json +1 -1
  42. package/dist/scripts/svm/remoteHubPoolSetDepositRoute.d.ts +0 -1
  43. package/dist/scripts/svm/remoteHubPoolSetDepositRoute.js +0 -252
  44. package/dist/src/svm/clients/SvmSpoke/accounts/route.d.ts +0 -27
  45. package/dist/src/svm/clients/SvmSpoke/accounts/route.js +0 -66
  46. package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.d.ts +0 -95
  47. package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.js +0 -213
  48. package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.d.ts +0 -21
  49. package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.js +0 -30
  50. package/dist/test/svm/SvmSpoke.Routes.js +0 -167
  51. /package/dist/scripts/svm/{enableRoute.d.ts → createVault.d.ts} +0 -0
  52. /package/dist/scripts/svm/{queryRoute.d.ts → nativeDeposit.d.ts} +0 -0
  53. /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, TAccountRoute 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', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
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
- TAccountRoute extends string ? ReadonlyAccount<TAccountRoute> : TAccountRoute,
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, TAccountRoute extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram 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
- route: Address<TAccountRoute>;
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, TAccountRoute extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositAsyncInput<TAccountSigner, TAccountState, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>, config?: {
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, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>>;
82
- export type DepositInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountRoute extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram 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
- route: Address<TAccountRoute>;
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, TAccountRoute extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositInput<TAccountSigner, TAccountState, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>, config?: {
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, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>;
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
- route: TAccountMetas[2];
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
- eventAuthority: TAccountMetas[7];
119
- program: TAccountMetas[8];
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
- route: { value: input.route ?? null, isWritable: false },
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.route),
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
- route: { value: input.route ?? null, isWritable: false },
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.route),
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 < 9) {
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
- route: getNextAccount(),
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, TAccountRoute 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', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
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
- TAccountRoute extends string ? ReadonlyAccount<TAccountRoute> : TAccountRoute,
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, TAccountRoute extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram 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
- route: Address<TAccountRoute>;
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, TAccountRoute extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositNowAsyncInput<TAccountSigner, TAccountState, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>, config?: {
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, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>>;
79
- export type DepositNowInput<TAccountSigner extends string = string, TAccountState extends string = string, TAccountRoute extends string = string, TAccountDepositorTokenAccount extends string = string, TAccountVault extends string = string, TAccountMint extends string = string, TAccountTokenProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram 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
- route: Address<TAccountRoute>;
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, TAccountRoute extends string, TAccountDepositorTokenAccount extends string, TAccountVault extends string, TAccountMint extends string, TAccountTokenProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: DepositNowInput<TAccountSigner, TAccountState, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>, config?: {
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, TAccountRoute, TAccountDepositorTokenAccount, TAccountVault, TAccountMint, TAccountTokenProgram, TAccountEventAuthority, TAccountProgram>;
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
- route: TAccountMetas[2];
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
- eventAuthority: TAccountMetas[7];
115
- program: TAccountMetas[8];
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
- route: { value: input.route ?? null, isWritable: false },
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.route),
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
- route: { value: input.route ?? null, isWritable: false },
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.route),
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 < 9) {
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
- route: getNextAccount(),
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
- mint: TAccountMetas[3];
93
- relayerTokenAccount: TAccountMetas[4];
94
- recipientTokenAccount: TAccountMetas[5];
95
- fillStatus: TAccountMetas[6];
96
- tokenProgram: TAccountMetas[7];
97
- associatedTokenProgram: TAccountMetas[8];
98
- systemProgram: TAccountMetas[9];
99
- eventAuthority: TAccountMetas[10];
100
- program: TAccountMetas[11];
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 < 12) {
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);