From f9b877e1d68e6bf6f456b7fd88e4adc65c413acf Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 28 Nov 2023 10:48:13 -0500 Subject: [PATCH] fixes --- ts/cluster1/programs/wba_vault.ts | 1342 ++++++++++++++++++++++++++++- ts/cluster1/vault_close.ts | 4 +- ts/cluster1/vault_deposit.ts | 51 +- ts/cluster1/vault_deposit_nft.ts | 8 +- ts/cluster1/vault_deposit_spl.ts | 4 +- ts/cluster1/vault_init.ts | 6 +- ts/cluster1/vault_withdraw.ts | 51 +- ts/cluster1/vault_withdraw_nft.ts | 6 +- ts/cluster1/vault_withdraw_spl.ts | 10 +- 9 files changed, 1406 insertions(+), 76 deletions(-) diff --git a/ts/cluster1/programs/wba_vault.ts b/ts/cluster1/programs/wba_vault.ts index a599c8a..0959007 100644 --- a/ts/cluster1/programs/wba_vault.ts +++ b/ts/cluster1/programs/wba_vault.ts @@ -1,7 +1,1341 @@ export type WbaVault = { - -} + version: "0.1.0"; + name: "wba_vault"; + instructions: [ + { + name: "initialize"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "vaultState"; + isMut: true; + isSigner: true; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vault"; + isMut: true; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "vault"; + }, + { + kind: "account"; + type: "publicKey"; + path: "vault_auth"; + }, + ]; + }; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: []; + }, + { + name: "deposit"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vault"; + isMut: true; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "vault"; + }, + { + kind: "account"; + type: "publicKey"; + path: "vault_auth"; + }, + ]; + }; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }, + { + name: "withdraw"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vault"; + isMut: true; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "vault"; + }, + { + kind: "account"; + type: "publicKey"; + path: "vault_auth"; + }, + ]; + }; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }, + { + name: "depositSpl"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "ownerAta"; + isMut: true; + isSigner: false; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vaultAta"; + isMut: true; + isSigner: false; + }, + { + name: "tokenMint"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "associatedTokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }, + { + name: "withdrawSpl"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "ownerAta"; + isMut: true; + isSigner: false; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vaultAta"; + isMut: true; + isSigner: false; + }, + { + name: "tokenMint"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "associatedTokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: [ + { + name: "amount"; + type: "u64"; + }, + ]; + }, + { + name: "depositNft"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "ownerAta"; + isMut: true; + isSigner: false; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vaultAta"; + isMut: true; + isSigner: false; + }, + { + name: "tokenMint"; + isMut: false; + isSigner: false; + }, + { + name: "nftMetadata"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "metadata"; + }, + { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Mint"; + path: "token_mint"; + }, + ]; + programId: { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }; + }; + }, + { + name: "nftMasterEdition"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "metadata"; + }, + { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Mint"; + path: "token_mint"; + }, + { + kind: "const"; + type: "string"; + value: "edition"; + }, + ]; + programId: { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }; + }; + }, + { + name: "metadataProgram"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "associatedTokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: []; + }, + { + name: "withdrawNft"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "ownerAta"; + isMut: true; + isSigner: false; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultAuth"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "auth"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Vault"; + path: "vault_state"; + }, + ]; + }; + }, + { + name: "vaultAta"; + isMut: true; + isSigner: false; + }, + { + name: "tokenMint"; + isMut: false; + isSigner: false; + }, + { + name: "nftMetadata"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "metadata"; + }, + { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Mint"; + path: "token_mint"; + }, + ]; + programId: { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }; + }; + }, + { + name: "nftMasterEdition"; + isMut: false; + isSigner: false; + pda: { + seeds: [ + { + kind: "const"; + type: "string"; + value: "metadata"; + }, + { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }, + { + kind: "account"; + type: "publicKey"; + account: "Mint"; + path: "token_mint"; + }, + { + kind: "const"; + type: "string"; + value: "edition"; + }, + ]; + programId: { + kind: "account"; + type: "publicKey"; + path: "metadata_program"; + }; + }; + }, + { + name: "metadataProgram"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "associatedTokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: []; + }, + { + name: "closeAccount"; + accounts: [ + { + name: "owner"; + isMut: true; + isSigner: true; + }, + { + name: "closeVaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "vaultState"; + isMut: true; + isSigner: false; + relations: ["owner"]; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + ]; + args: []; + }, + ]; + accounts: [ + { + name: "Vault"; + type: { + kind: "struct"; + fields: [ + { + name: "owner"; + type: "publicKey"; + }, + { + name: "authBump"; + type: "u8"; + }, + { + name: "vaultBump"; + type: "u8"; + }, + { + name: "score"; + type: "u8"; + }, + ]; + }; + }, + ]; +}; export const IDL: WbaVault = { - -} \ No newline at end of file + version: "0.1.0", + name: "wba_vault", + instructions: [ + { + name: "initialize", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "vaultState", + isMut: true, + isSigner: true, + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vault", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "vault", + }, + { + kind: "account", + type: "publicKey", + path: "vault_auth", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "deposit", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vault", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "vault", + }, + { + kind: "account", + type: "publicKey", + path: "vault_auth", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "amount", + type: "u64", + }, + ], + }, + { + name: "withdraw", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vault", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "vault", + }, + { + kind: "account", + type: "publicKey", + path: "vault_auth", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "amount", + type: "u64", + }, + ], + }, + { + name: "depositSpl", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "ownerAta", + isMut: true, + isSigner: false, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vaultAta", + isMut: true, + isSigner: false, + }, + { + name: "tokenMint", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "associatedTokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "amount", + type: "u64", + }, + ], + }, + { + name: "withdrawSpl", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "ownerAta", + isMut: true, + isSigner: false, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vaultAta", + isMut: true, + isSigner: false, + }, + { + name: "tokenMint", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "associatedTokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "amount", + type: "u64", + }, + ], + }, + { + name: "depositNft", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "ownerAta", + isMut: true, + isSigner: false, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vaultAta", + isMut: true, + isSigner: false, + }, + { + name: "tokenMint", + isMut: false, + isSigner: false, + }, + { + name: "nftMetadata", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "metadata", + }, + { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "token_mint", + }, + ], + programId: { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + }, + }, + { + name: "nftMasterEdition", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "metadata", + }, + { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "token_mint", + }, + { + kind: "const", + type: "string", + value: "edition", + }, + ], + programId: { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + }, + }, + { + name: "metadataProgram", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "associatedTokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "withdrawNft", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "ownerAta", + isMut: true, + isSigner: false, + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultAuth", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "auth", + }, + { + kind: "account", + type: "publicKey", + account: "Vault", + path: "vault_state", + }, + ], + }, + }, + { + name: "vaultAta", + isMut: true, + isSigner: false, + }, + { + name: "tokenMint", + isMut: false, + isSigner: false, + }, + { + name: "nftMetadata", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "metadata", + }, + { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "token_mint", + }, + ], + programId: { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + }, + }, + { + name: "nftMasterEdition", + isMut: false, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "metadata", + }, + { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "token_mint", + }, + { + kind: "const", + type: "string", + value: "edition", + }, + ], + programId: { + kind: "account", + type: "publicKey", + path: "metadata_program", + }, + }, + }, + { + name: "metadataProgram", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "associatedTokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "closeAccount", + accounts: [ + { + name: "owner", + isMut: true, + isSigner: true, + }, + { + name: "closeVaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "vaultState", + isMut: true, + isSigner: false, + relations: ["owner"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + ], + accounts: [ + { + name: "Vault", + type: { + kind: "struct", + fields: [ + { + name: "owner", + type: "publicKey", + }, + { + name: "authBump", + type: "u8", + }, + { + name: "vaultBump", + type: "u8", + }, + { + name: "score", + type: "u8", + }, + ], + }, + }, + ], +}; diff --git a/ts/cluster1/vault_close.ts b/ts/cluster1/vault_close.ts index 0b8b42e..9e6ece7 100644 --- a/ts/cluster1/vault_close.ts +++ b/ts/cluster1/vault_close.ts @@ -12,8 +12,8 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; // Import our keypair from the wallet file const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); diff --git a/ts/cluster1/vault_deposit.ts b/ts/cluster1/vault_deposit.ts index 1b8e407..9763ee9 100644 --- a/ts/cluster1/vault_deposit.ts +++ b/ts/cluster1/vault_deposit.ts @@ -12,14 +12,14 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; // Import our keypair from the wallet file const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); // Commitment -const commitment: Commitment = "confirmed"; +const commitment: Commitment = "finalized"; // Create a devnet connection const connection = new Connection("https://api.devnet.solana.com"); @@ -33,29 +33,26 @@ const provider = new AnchorProvider(connection, new Wallet(keypair), { const program = new Program(IDL, "
" as Address, provider); // Create a random keypair -const vaultState = new PublicKey("
")( - // Create the PDA for our enrollment account - // Seeds are "auth", vaultState - // const vaultAuth = ??? +const vaultState = new PublicKey("
"); +// Create the PDA for our enrollment account +// const vaultAuth = ??? - // Create the vault key - // Seeds are "vault", vaultAuth - // const vault = ??? +// Create the vault key +// const vault = ??? - // Execute our enrollment transaction - async () => { - try { - // const signature = await program.methods - // .deposit(new BN() ) - // .accounts({ - // ??? - // }) - // .signers([ - // keypair - // ]).rpc(); - // console.log(`Deposit success! Check out your TX here:\n\nhttps://explorer.solana.com/tx/${signature}?cluster=devnet`); - } catch (e) { - console.error(`Oops, something went wrong: ${e}`); - } - }, -)(); +// Execute our enrollment transaction +(async () => { + try { + // const signature = await program.methods + // .deposit(new BN() ) + // .accounts({ + // ??? + // }) + // .signers([ + // keypair + // ]).rpc(); + // console.log(`Deposit success! Check out your TX here:\n\nhttps://explorer.solana.com/tx/${signature}?cluster=devnet`); + } catch (e) { + console.error(`Oops, something went wrong: ${e}`); + } +})(); diff --git a/ts/cluster1/vault_deposit_nft.ts b/ts/cluster1/vault_deposit_nft.ts index 7513b78..c4c10c8 100644 --- a/ts/cluster1/vault_deposit_nft.ts +++ b/ts/cluster1/vault_deposit_nft.ts @@ -12,8 +12,8 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; import { ASSOCIATED_TOKEN_PROGRAM_ID, TOKEN_PROGRAM_ID, @@ -24,7 +24,7 @@ import { const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); // Commitment -const commitment: Commitment = "confirmed"; +const commitment: Commitment = "finalized"; // Create a devnet connection const connection = new Connection("https://api.devnet.solana.com"); @@ -41,11 +41,9 @@ const program = new Program(IDL, "
" as Address, provider); const vaultState = new PublicKey("
"); // Create the PDA for our enrollment account -// Seeds are "auth", vaultState // const vaultAuth = ??? // Create the vault key -// Seeds are "vault", vaultAuth // const vault = ??? // Mint address diff --git a/ts/cluster1/vault_deposit_spl.ts b/ts/cluster1/vault_deposit_spl.ts index e5d1cae..07e5044 100644 --- a/ts/cluster1/vault_deposit_spl.ts +++ b/ts/cluster1/vault_deposit_spl.ts @@ -23,7 +23,7 @@ import { const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); // Commitment -const commitment: Commitment = "confirmed"; +const commitment: Commitment = "finalized"; // Create a devnet connection const connection = new Connection("https://api.devnet.solana.com"); @@ -40,11 +40,9 @@ const program = new Program(IDL, "
" as Address, provider); const vaultState = new PublicKey("
"); // Create the PDA for our enrollment account -// Seeds are "auth", vaultState // const vaultAuth = ??? // Create the vault key -// Seeds are "vault", vaultAuth // const vault = ??? // const token_decimals = ??? diff --git a/ts/cluster1/vault_init.ts b/ts/cluster1/vault_init.ts index b283c41..30580be 100644 --- a/ts/cluster1/vault_init.ts +++ b/ts/cluster1/vault_init.ts @@ -25,7 +25,11 @@ const provider = new AnchorProvider(connection, new Wallet(keypair), { }); // Create our program -const program = new Program(IDL, "" as Address, provider); +const program = new Program( + IDL, + "D51uEDHLbWAxNfodfQDv7qkp8WZtxrhi3uganGbNos7o" as Address, + provider, +); // Create a random keypair const vaultState = Keypair.generate(); diff --git a/ts/cluster1/vault_withdraw.ts b/ts/cluster1/vault_withdraw.ts index c327cf5..c19ab6f 100644 --- a/ts/cluster1/vault_withdraw.ts +++ b/ts/cluster1/vault_withdraw.ts @@ -12,8 +12,8 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; // Import our keypair from the wallet file const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); @@ -33,29 +33,28 @@ const provider = new AnchorProvider(connection, new Wallet(keypair), { const program = new Program(IDL, "
" as Address, provider); // Create a random keypair -const vaultState = new PublicKey("
")( - // Create the PDA for our enrollment account - // Seeds are "auth", vaultState - // const vaultAuth = ??? +const vaultState = new PublicKey("
"); +// Create the PDA for our enrollment account +// Seeds are "auth", vaultState +// const vaultAuth = ??? - // Create the vault key - // Seeds are "vault", vaultAuth - // const vault = ??? +// Create the vault key +// Seeds are "vault", vaultAuth +// const vault = ??? - // Execute our enrollment transaction - async () => { - try { - // const signature = await program.methods - // .withdraw(new BN()) - // .accounts({ - // ??? - // }) - // .signers([ - // keypair - // ]).rpc(); - // console.log(`Withdraw success! Check out your TX here:\n\nhttps://explorer.solana.com/tx/${signature}?cluster=devnet`); - } catch (e) { - console.error(`Oops, something went wrong: ${e}`); - } - }, -)(); +// Execute our enrollment transaction +(async () => { + try { + // const signature = await program.methods + // .withdraw(new BN()) + // .accounts({ + // ??? + // }) + // .signers([ + // keypair + // ]).rpc(); + // console.log(`Withdraw success! Check out your TX here:\n\nhttps://explorer.solana.com/tx/${signature}?cluster=devnet`); + } catch (e) { + console.error(`Oops, something went wrong: ${e}`); + } +})(); diff --git a/ts/cluster1/vault_withdraw_nft.ts b/ts/cluster1/vault_withdraw_nft.ts index 8e17922..c10b80c 100644 --- a/ts/cluster1/vault_withdraw_nft.ts +++ b/ts/cluster1/vault_withdraw_nft.ts @@ -12,8 +12,8 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; import { ASSOCIATED_TOKEN_PROGRAM_ID, TOKEN_PROGRAM_ID, @@ -24,7 +24,7 @@ import { const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); // Commitment -const commitment: Commitment = "confirmed"; +const commitment: Commitment = "finalized"; // Create a devnet connection const connection = new Connection("https://api.devnet.solana.com"); diff --git a/ts/cluster1/vault_withdraw_spl.ts b/ts/cluster1/vault_withdraw_spl.ts index b98c251..8d14d77 100644 --- a/ts/cluster1/vault_withdraw_spl.ts +++ b/ts/cluster1/vault_withdraw_spl.ts @@ -12,14 +12,14 @@ import { Address, BN, } from "@coral-xyz/anchor"; -import { WbaVault, IDL } from "../programs/wba_vault"; -import wallet from "../wba-wallet.json"; +import { WbaVault, IDL } from "./programs/wba_vault"; +import wallet from "./wallet/wba-wallet.json"; // Import our keypair from the wallet file const keypair = Keypair.fromSecretKey(new Uint8Array(wallet)); // Commitment -const commitment: Commitment = "confirmed"; +const commitment: Commitment = "finalized"; // Create a devnet connection const connection = new Connection("https://api.devnet.solana.com"); @@ -33,7 +33,7 @@ const provider = new AnchorProvider(connection, new Wallet(keypair), { const program = new Program(IDL, "
" as Address, provider); // Create a random keypair -const vaultState = new PublicKey("
")( +const vaultState = new PublicKey("
"); // Create the PDA for our enrollment account // Seeds are "auth", vaultState // const vaultAuth = ??? @@ -57,5 +57,5 @@ const vaultState = new PublicKey("
")( } catch (e) { console.error(`Oops, something went wrong: ${e}`); } - }, + } )();