SystemInstruction.transferWithSeed constructor

SystemInstruction.transferWithSeed({
  1. required Ed25519HDPublicKey fundingAccount,
  2. required Ed25519HDPublicKey base,
  3. required String seed,
  4. required Ed25519HDPublicKey owner,
  5. required Ed25519HDPublicKey recipientAccount,
  6. required int lamports,
})

Transfer lamports from a derived address.

Implementation

factory SystemInstruction.transferWithSeed({
  required Ed25519HDPublicKey fundingAccount,
  required Ed25519HDPublicKey base,
  required String seed,
  required Ed25519HDPublicKey owner,
  required Ed25519HDPublicKey recipientAccount,
  required int lamports,
}) =>
    SystemInstruction._(
      accounts: [
        AccountMeta.writeable(pubKey: fundingAccount, isSigner: false),
        AccountMeta.readonly(pubKey: base, isSigner: true),
        AccountMeta.writeable(pubKey: recipientAccount, isSigner: false),
      ],
      data: ByteArray.merge([
        SystemProgram.transferWithSeedInstructionIndex,
        ByteArray.u64(lamports),
        ByteArray.fromString(seed),
        owner.toByteArray(),
      ]),
    );