@@ -41,8 +41,12 @@ export type DelegateStakeInstruction<
4141 TProgram extends string = typeof STAKE_PROGRAM_ADDRESS ,
4242 TAccountStake extends string | AccountMeta < string > = string ,
4343 TAccountVote extends string | AccountMeta < string > = string ,
44- TAccountClockSysvar extends string | AccountMeta < string > = string ,
45- TAccountStakeHistory extends string | AccountMeta < string > = string ,
44+ TAccountClockSysvar extends
45+ | string
46+ | AccountMeta < string > = 'SysvarC1ock11111111111111111111111111111111' ,
47+ TAccountStakeHistory extends
48+ | string
49+ | AccountMeta < string > = 'SysvarStakeHistory1111111111111111111111111' ,
4650 TAccountUnused extends string | AccountMeta < string > = string ,
4751 TAccountStakeAuthority extends string | AccountMeta < string > = string ,
4852 TRemainingAccounts extends readonly AccountMeta < string > [ ] = [ ] ,
@@ -111,9 +115,9 @@ export type DelegateStakeInput<
111115 /** Vote account to which this stake will be delegated */
112116 vote : Address < TAccountVote > ;
113117 /** Clock sysvar */
114- clockSysvar : Address < TAccountClockSysvar > ;
118+ clockSysvar ? : Address < TAccountClockSysvar > ;
115119 /** Stake history sysvar that carries stake warmup/cooldown history */
116- stakeHistory : Address < TAccountStakeHistory > ;
120+ stakeHistory ? : Address < TAccountStakeHistory > ;
117121 /** Unused account, formerly the stake config */
118122 unused : Address < TAccountUnused > ;
119123 /** Stake authority */
@@ -164,6 +168,16 @@ export function getDelegateStakeInstruction<
164168 ResolvedAccount
165169 > ;
166170
171+ // Resolve default values.
172+ if ( ! accounts . clockSysvar . value ) {
173+ accounts . clockSysvar . value =
174+ 'SysvarC1ock11111111111111111111111111111111' as Address < 'SysvarC1ock11111111111111111111111111111111' > ;
175+ }
176+ if ( ! accounts . stakeHistory . value ) {
177+ accounts . stakeHistory . value =
178+ 'SysvarStakeHistory1111111111111111111111111' as Address < 'SysvarStakeHistory1111111111111111111111111' > ;
179+ }
180+
167181 const getAccountMeta = getAccountMetaFactory ( programAddress , 'omitted' ) ;
168182 return Object . freeze ( {
169183 accounts : [
0 commit comments