fix: default transaction fee is now 1 (was 0)
This commit is contained in:
parent
916a5eb3d2
commit
b175a53f4b
|
@ -37,7 +37,7 @@ export class BpfLoader {
|
||||||
const transaction = SystemProgram.createAccount(
|
const transaction = SystemProgram.createAccount(
|
||||||
owner.publicKey,
|
owner.publicKey,
|
||||||
programAccount.publicKey,
|
programAccount.publicKey,
|
||||||
1,
|
1 + Math.ceil(elf.length / Loader.chunkSize) + 1,
|
||||||
elf.length,
|
elf.length,
|
||||||
BpfLoader.programId,
|
BpfLoader.programId,
|
||||||
);
|
);
|
||||||
|
|
|
@ -23,6 +23,14 @@ export class Loader {
|
||||||
*/
|
*/
|
||||||
programId: PublicKey;
|
programId: PublicKey;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Amount of program data placed in each load Transaction
|
||||||
|
*/
|
||||||
|
static get chunkSize(): number {
|
||||||
|
return 256;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param connection The connection to use
|
* @param connection The connection to use
|
||||||
* @param programId Public key that identifies the loader
|
* @param programId Public key that identifies the loader
|
||||||
|
@ -50,7 +58,7 @@ export class Loader {
|
||||||
),
|
),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const chunkSize = 256;
|
const chunkSize = Loader.chunkSize;
|
||||||
let offset = 0;
|
let offset = 0;
|
||||||
let array = data;
|
let array = data;
|
||||||
let transactions = [];
|
let transactions = [];
|
||||||
|
|
|
@ -40,7 +40,7 @@ export class NativeLoader {
|
||||||
const transaction = SystemProgram.createAccount(
|
const transaction = SystemProgram.createAccount(
|
||||||
owner.publicKey,
|
owner.publicKey,
|
||||||
programAccount.publicKey,
|
programAccount.publicKey,
|
||||||
1,
|
1 + 1 + 1,
|
||||||
bytes.length + 1,
|
bytes.length + 1,
|
||||||
NativeLoader.programId,
|
NativeLoader.programId,
|
||||||
);
|
);
|
||||||
|
|
|
@ -240,6 +240,7 @@ export class Token {
|
||||||
programId,
|
programId,
|
||||||
userdata,
|
userdata,
|
||||||
});
|
});
|
||||||
|
transaction.fee = 0; // TODO: Batch with the `SystemProgram.createAccount` and remove this line
|
||||||
await sendAndConfirmTransaction(connection, transaction, tokenAccount);
|
await sendAndConfirmTransaction(connection, transaction, tokenAccount);
|
||||||
|
|
||||||
return [token, initialAccountPublicKey];
|
return [token, initialAccountPublicKey];
|
||||||
|
@ -294,7 +295,7 @@ export class Token {
|
||||||
programId: this.programId,
|
programId: this.programId,
|
||||||
userdata,
|
userdata,
|
||||||
});
|
});
|
||||||
|
transaction.fee = 0; // TODO: Batch with the `SystemProgram.createAccount` and remove this line
|
||||||
await sendAndConfirmTransaction(this.connection, transaction, tokenAccount);
|
await sendAndConfirmTransaction(this.connection, transaction, tokenAccount);
|
||||||
|
|
||||||
return tokenAccount.publicKey;
|
return tokenAccount.publicKey;
|
||||||
|
|
|
@ -108,7 +108,7 @@ export class Transaction {
|
||||||
/**
|
/**
|
||||||
* Fee for this transaction
|
* Fee for this transaction
|
||||||
*/
|
*/
|
||||||
fee: number = 0;
|
fee: number = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct an empty Transaction
|
* Construct an empty Transaction
|
||||||
|
|
|
@ -24,7 +24,7 @@ test('load BPF program', async () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const connection = new Connection(url);
|
const connection = new Connection(url);
|
||||||
const from = await newAccountWithTokens(connection);
|
const from = await newAccountWithTokens(connection, 1024);
|
||||||
const data = await fs.readFile('test/fixtures/noop/noop.o');
|
const data = await fs.readFile('test/fixtures/noop/noop.o');
|
||||||
const programId = await BpfLoader.load(connection, from, data);
|
const programId = await BpfLoader.load(connection, from, data);
|
||||||
const transaction = new Transaction().add({
|
const transaction = new Transaction().add({
|
||||||
|
|
|
@ -353,6 +353,7 @@ test('transaction', async () => {
|
||||||
accountTo.publicKey,
|
accountTo.publicKey,
|
||||||
10,
|
10,
|
||||||
);
|
);
|
||||||
|
transaction.fee = 0;
|
||||||
const signature = await connection.sendTransaction(transaction, accountFrom);
|
const signature = await connection.sendTransaction(transaction, accountFrom);
|
||||||
|
|
||||||
mockRpc.push([
|
mockRpc.push([
|
||||||
|
@ -447,7 +448,7 @@ test('multi-instruction transaction', async () => {
|
||||||
accountTo.publicKey,
|
accountTo.publicKey,
|
||||||
10,
|
10,
|
||||||
).add(SystemProgram.move(accountTo.publicKey, accountFrom.publicKey, 10));
|
).add(SystemProgram.move(accountTo.publicKey, accountFrom.publicKey, 10));
|
||||||
|
transaction.fee = 0;
|
||||||
const signature = await connection.sendTransaction(
|
const signature = await connection.sendTransaction(
|
||||||
transaction,
|
transaction,
|
||||||
accountFrom,
|
accountFrom,
|
||||||
|
@ -496,6 +497,7 @@ test('account change notification', async () => {
|
||||||
3,
|
3,
|
||||||
BpfLoader.programId,
|
BpfLoader.programId,
|
||||||
);
|
);
|
||||||
|
transaction.fee = 0;
|
||||||
await sendAndConfirmTransaction(connection, transaction, owner);
|
await sendAndConfirmTransaction(connection, transaction, owner);
|
||||||
|
|
||||||
const loader = new Loader(connection, BpfLoader.programId);
|
const loader = new Loader(connection, BpfLoader.programId);
|
||||||
|
|
|
@ -22,7 +22,7 @@ test('load native program', async () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const connection = new Connection(url);
|
const connection = new Connection(url);
|
||||||
const from = await newAccountWithTokens(connection);
|
const from = await newAccountWithTokens(connection, 1024);
|
||||||
const programId = await NativeLoader.load(connection, from, 'noop');
|
const programId = await NativeLoader.load(connection, from, 'noop');
|
||||||
const transaction = new Transaction().add({
|
const transaction = new Transaction().add({
|
||||||
keys: [from.publicKey],
|
keys: [from.publicKey],
|
||||||
|
|
|
@ -50,7 +50,7 @@ test('create new token', async () => {
|
||||||
const connection = new Connection(url);
|
const connection = new Connection(url);
|
||||||
connection._disableLastIdCaching = mockRpcEnabled;
|
connection._disableLastIdCaching = mockRpcEnabled;
|
||||||
|
|
||||||
initialOwner = await newAccountWithTokens(connection);
|
initialOwner = await newAccountWithTokens(connection, 1024);
|
||||||
|
|
||||||
{
|
{
|
||||||
// mock SystemProgram.createAccount transaction for Token.createNewToken()
|
// mock SystemProgram.createAccount transaction for Token.createNewToken()
|
||||||
|
|
Loading…
Reference in New Issue