@solana/web3.js 1.62.1 → 1.63.1

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.
@@ -973,13 +973,13 @@ class MessageV0 {
973
973
  getAccountKeys(args) {
974
974
  let accountKeysFromLookups;
975
975
 
976
- if (args && 'accountKeysFromLookups' in args) {
976
+ if (args && 'accountKeysFromLookups' in args && args.accountKeysFromLookups) {
977
977
  if (this.numAccountKeysFromLookups != args.accountKeysFromLookups.writable.length + args.accountKeysFromLookups.readonly.length) {
978
978
  throw new Error('Failed to get account keys because of a mismatch in the number of account keys from lookups');
979
979
  }
980
980
 
981
981
  accountKeysFromLookups = args.accountKeysFromLookups;
982
- } else if (args && 'addressLookupTableAccounts' in args) {
982
+ } else if (args && 'addressLookupTableAccounts' in args && args.addressLookupTableAccounts) {
983
983
  accountKeysFromLookups = this.resolveAddressTableLookups(args.addressLookupTableAccounts);
984
984
  } else if (this.addressTableLookups.length > 0) {
985
985
  throw new Error('Failed to get account keys because address table lookups were not resolved');
@@ -2141,6 +2141,14 @@ class VersionedTransaction {
2141
2141
  }
2142
2142
  }
2143
2143
 
2144
+ addSignature(publicKey, signature) {
2145
+ assert(signature.byteLength === 64, 'Signature must be 64 bytes long');
2146
+ const signerPubkeys = this.message.staticAccountKeys.slice(0, this.message.header.numRequiredSignatures);
2147
+ const signerIndex = signerPubkeys.findIndex(pubkey => pubkey.equals(publicKey));
2148
+ assert(signerIndex >= 0, `Can not add signature; \`${publicKey.toBase58()}\` is not required to sign this transaction`);
2149
+ this.signatures[signerIndex] = signature;
2150
+ }
2151
+
2144
2152
  }
2145
2153
 
2146
2154
  const SYSVAR_CLOCK_PUBKEY = new PublicKey('SysvarC1ock11111111111111111111111111111111');