@@ -7,18 +7,22 @@ import {
77 CompressedAccountWithMerkleContext ,
88 confirmTx ,
99 createRpc ,
10- defaultStaticAccountsStruct ,
1110 defaultTestStateTreeAccounts ,
12- deriveAddress ,
13- deriveAddressSeed ,
14- LightSystemProgram ,
11+ deriveAddressV2 ,
12+ deriveAddressSeedV2 ,
13+ batchAddressTree ,
1514 PackedAccounts ,
1615 Rpc ,
1716 sleep ,
1817 SystemAccountMetaConfig ,
18+ featureFlags ,
19+ VERSION ,
1920} from "@lightprotocol/stateless.js" ;
2021import * as assert from "assert" ;
2122
23+ // Force V2 mode
24+ ( featureFlags as any ) . version = VERSION . V2 ;
25+
2226const path = require ( "path" ) ;
2327const os = require ( "os" ) ;
2428require ( "dotenv" ) . config ( ) ;
@@ -45,21 +49,20 @@ describe("test-anchor-burn", () => {
4549 await sleep ( 2000 ) ;
4650
4751 const outputStateTree = defaultTestStateTreeAccounts ( ) . merkleTree ;
48- const addressTree = defaultTestStateTreeAccounts ( ) . addressTree ;
49- const addressQueue = defaultTestStateTreeAccounts ( ) . addressQueue ;
52+ const addressTree = new web3 . PublicKey ( batchAddressTree ) ;
5053
5154 const messageSeed = new TextEncoder ( ) . encode ( "message" ) ;
52- const seed = deriveAddressSeed (
53- [ messageSeed , signer . publicKey . toBytes ( ) ] ,
55+ const seed = deriveAddressSeedV2 ( [ messageSeed , signer . publicKey . toBytes ( ) ] ) ;
56+ const address = deriveAddressV2 (
57+ seed ,
58+ addressTree ,
5459 new web3 . PublicKey ( burnProgram . idl . address ) ,
5560 ) ;
56- const address = deriveAddress ( seed , addressTree ) ;
5761
5862 // Step 1: Create compressed account with initial message
5963 const createTxId = await createCompressedAccount (
6064 rpc ,
6165 addressTree ,
62- addressQueue ,
6366 address ,
6467 burnProgram ,
6568 outputStateTree ,
@@ -110,7 +113,6 @@ describe("test-anchor-burn", () => {
110113async function createCompressedAccount (
111114 rpc : Rpc ,
112115 addressTree : anchor . web3 . PublicKey ,
113- addressQueue : anchor . web3 . PublicKey ,
114116 address : anchor . web3 . PublicKey ,
115117 program : anchor . Program < Burn > ,
116118 outputStateTree : anchor . web3 . PublicKey ,
@@ -122,18 +124,18 @@ async function createCompressedAccount(
122124 [
123125 {
124126 tree : addressTree ,
125- queue : addressQueue ,
127+ queue : addressTree ,
126128 address : bn ( address . toBytes ( ) ) ,
127129 } ,
128130 ] ,
129131 ) ;
130132 const systemAccountConfig = new SystemAccountMetaConfig ( program . programId ) ;
131133 let remainingAccounts = new PackedAccounts ( ) ;
132- remainingAccounts . addSystemAccounts ( systemAccountConfig ) ;
134+ remainingAccounts . addSystemAccountsV2 ( systemAccountConfig ) ;
133135
134136 const addressMerkleTreePubkeyIndex =
135137 remainingAccounts . insertOrGet ( addressTree ) ;
136- const addressQueuePubkeyIndex = remainingAccounts . insertOrGet ( addressQueue ) ;
138+ const addressQueuePubkeyIndex = addressMerkleTreePubkeyIndex ;
137139 const packedAddressTreeInfo = {
138140 rootIndex : proofRpcResult . rootIndices [ 0 ] ,
139141 addressMerkleTreePubkeyIndex,
@@ -185,7 +187,7 @@ async function burnCompressedAccount(
185187
186188 const systemAccountConfig = new SystemAccountMetaConfig ( program . programId ) ;
187189 let remainingAccounts = new PackedAccounts ( ) ;
188- remainingAccounts . addSystemAccounts ( systemAccountConfig ) ;
190+ remainingAccounts . addSystemAccountsV2 ( systemAccountConfig ) ;
189191
190192 const merkleTreePubkeyIndex = remainingAccounts . insertOrGet (
191193 compressedAccount . treeInfo . tree ,
@@ -227,4 +229,4 @@ async function burnCompressedAccount(
227229 const sig = await rpc . sendTransaction ( tx , [ signer ] ) ;
228230 await confirmTx ( rpc , sig ) ;
229231 return sig ;
230- }
232+ }
0 commit comments