fix: obligation token mint

This commit is contained in:
Justin Starry 2020-11-21 15:07:58 +08:00
parent 4231fedeef
commit c9a87b3771
2 changed files with 25 additions and 2 deletions

View File

@ -1,4 +1,4 @@
import { AccountLayout, Token } from "@solana/spl-token"; import { AccountLayout, MintLayout, Token } from "@solana/spl-token";
import { import {
Account, Account,
PublicKey, PublicKey,
@ -75,6 +75,28 @@ export function createTempMemoryAccount(
return account.publicKey; return account.publicKey;
} }
export function createUninitializedMint(
instructions: TransactionInstruction[],
payer: PublicKey,
amount: number,
signers: Account[]
) {
const account = new Account();
instructions.push(
SystemProgram.createAccount({
fromPubkey: payer,
newAccountPubkey: account.publicKey,
lamports: amount,
space: MintLayout.span,
programId: TOKEN_PROGRAM_ID,
})
);
signers.push(account);
return account.publicKey;
}
export function createUninitializedAccount( export function createUninitializedAccount(
instructions: TransactionInstruction[], instructions: TransactionInstruction[],
payer: PublicKey, payer: PublicKey,

View File

@ -12,6 +12,7 @@ import { LENDING_PROGRAM_ID, TOKEN_PROGRAM_ID } from "../constants/ids";
import { import {
createTempMemoryAccount, createTempMemoryAccount,
createUninitializedAccount, createUninitializedAccount,
createUninitializedMint,
ensureSplAccount, ensureSplAccount,
findOrCreateAccountByMint, findOrCreateAccountByMint,
} from "./account"; } from "./account";
@ -60,7 +61,7 @@ export const borrow = async (
signers signers
); );
const obligationMint = createUninitializedAccount( const obligationMint = createUninitializedMint(
instructions, instructions,
wallet.publicKey, wallet.publicKey,
await connection.getMinimumBalanceForRentExemption(MintLayout.span), await connection.getMinimumBalanceForRentExemption(MintLayout.span),