feat: specify program account when using bpf loader
This commit is contained in:
parent
56781f893e
commit
e6fb146809
|
@ -651,6 +651,7 @@ declare module '@solana/web3.js' {
|
|||
static load(
|
||||
connection: Connection,
|
||||
payer: Account,
|
||||
program: Account,
|
||||
elfBytes: Buffer | Uint8Array | Array<number>,
|
||||
): Promise<PublicKey>;
|
||||
}
|
||||
|
|
|
@ -662,6 +662,7 @@ declare module '@solana/web3.js' {
|
|||
static load(
|
||||
connection: Connection,
|
||||
payer: Account,
|
||||
program: Account,
|
||||
elfBytes: Buffer | Uint8Array | Array<number>,
|
||||
): Promise<PublicKey>;
|
||||
}
|
||||
|
|
|
@ -30,15 +30,16 @@ export class BpfLoader {
|
|||
* Load a BPF program
|
||||
*
|
||||
* @param connection The connection to use
|
||||
* @param owner User account to load the program into
|
||||
* @param payer Account that will pay program loading fees
|
||||
* @param program Account to load the program into
|
||||
* @param elfBytes The entire ELF containing the BPF program
|
||||
*/
|
||||
static load(
|
||||
connection: Connection,
|
||||
payer: Account,
|
||||
program: Account,
|
||||
elf: Buffer | Uint8Array | Array<number>,
|
||||
): Promise<PublicKey> {
|
||||
const program = new Account();
|
||||
return Loader.load(connection, payer, program, BpfLoader.programId, elf);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import {
|
|||
BpfLoader,
|
||||
Transaction,
|
||||
sendAndConfirmTransaction,
|
||||
Account,
|
||||
} from '../src';
|
||||
import {mockRpcEnabled} from './__mocks__/node-fetch';
|
||||
import {url} from './url';
|
||||
|
@ -37,7 +38,8 @@ test('load BPF C program', async () => {
|
|||
);
|
||||
const from = await newAccountWithLamports(connection, fees + balanceNeeded);
|
||||
|
||||
const programId = await BpfLoader.load(connection, from, data);
|
||||
const program = new Account();
|
||||
const programId = await BpfLoader.load(connection, from, program, data);
|
||||
const transaction = new Transaction().add({
|
||||
keys: [{pubkey: from.publicKey, isSigner: true, isWritable: true}],
|
||||
programId,
|
||||
|
@ -65,7 +67,8 @@ test('load BPF Rust program', async () => {
|
|||
);
|
||||
const from = await newAccountWithLamports(connection, fees + balanceNeeded);
|
||||
|
||||
const programId = await BpfLoader.load(connection, from, data);
|
||||
const program = new Account();
|
||||
const programId = await BpfLoader.load(connection, from, program, data);
|
||||
const transaction = new Transaction().add({
|
||||
keys: [{pubkey: from.publicKey, isSigner: true, isWritable: true}],
|
||||
programId,
|
||||
|
|
Loading…
Reference in New Issue