1
1
import * as anchor from '@project-serum/anchor' ;
2
- import { AnchorError , Program } from '@project-serum/anchor' ;
2
+ import { AnchorError , Idl , Program , Provider } from '@project-serum/anchor' ;
3
3
import * as web3 from '@solana/web3.js' ;
4
4
import chai , { expect } from 'chai' ;
5
5
import chaiAsPromised from 'chai-as-promised' ;
@@ -27,17 +27,19 @@ import { ENCRYPTION_OVERHEAD_BYTES } from '../src/utils/ecdh-encryption';
27
27
import { NONCE_SIZE_BYTES } from '../src/utils/nonce-generator' ;
28
28
import { randomInt } from 'crypto' ;
29
29
import { CountDownLatch } from '../src/utils/countdown-latch' ;
30
+ import { idl , programs , Wallet_ } from '../src/utils' ;
30
31
31
32
chai . use ( chaiAsPromised ) ;
32
33
anchor . setProvider ( anchor . Provider . local ( ) ) ;
33
34
34
35
describe ( 'Protocol v1 test' , ( ) => {
35
36
const program : anchor . Program = anchor . workspace . Dialect ;
36
37
const connection = program . provider . connection ;
38
+ console . log ( 'program' , program ) ;
37
39
38
40
describe ( 'Metadata tests' , ( ) => {
39
- let owner : web3 . Keypair ;
40
- let writer : web3 . Keypair ;
41
+ let owner : Program ;
42
+ let writer : Program ;
41
43
42
44
beforeEach ( async ( ) => {
43
45
owner = await createUser ( {
@@ -52,8 +54,8 @@ describe('Protocol v1 test', () => {
52
54
53
55
it ( 'Create user metadata object(s)' , async ( ) => {
54
56
for ( const member of [ owner , writer ] ) {
55
- const metadata = await createMetadata ( program , member ) ;
56
- const gottenMetadata = await getMetadata ( program , member . publicKey ) ;
57
+ const metadata = await createMetadata ( member ) ;
58
+ const gottenMetadata = await getMetadata ( member , member . provider . wallet . publicKey ) ;
57
59
expect ( metadata ) . to . be . deep . eq ( gottenMetadata ) ;
58
60
}
59
61
} ) ;
@@ -982,18 +984,34 @@ describe('Protocol v1 test', () => {
982
984
createMeta : true ,
983
985
} ,
984
986
) {
985
- const user = web3 . Keypair . generate ( ) ;
987
+ const keypair = web3 . Keypair . generate ( ) ;
988
+ const wallet = Wallet_ . embedded ( keypair . secretKey ) ;
989
+ const RPC_URL = process . env . RPC_URL || 'http://localhost:8899' ;
990
+ const dialectConnection = new web3 . Connection ( RPC_URL , 'recent' ) ;
991
+ const dialectProvider = new Provider (
992
+ dialectConnection ,
993
+ wallet ,
994
+ Provider . defaultOptions ( ) ,
995
+ ) ;
996
+ // @ts -ignore
997
+ const NETWORK_NAME = 'localnet' ;
998
+ const DIALECT_PROGRAM_ADDRESS = programs [ NETWORK_NAME ] . programAddress ;
999
+ const program = new Program (
1000
+ idl as Idl ,
1001
+ new web3 . PublicKey ( DIALECT_PROGRAM_ADDRESS ) ,
1002
+ dialectProvider ,
1003
+ ) ;
986
1004
if ( requestAirdrop ) {
987
1005
const airDropRequest = await connection . requestAirdrop (
988
- user . publicKey ,
1006
+ wallet . publicKey ,
989
1007
10 * web3 . LAMPORTS_PER_SOL ,
990
1008
) ;
991
1009
await connection . confirmTransaction ( airDropRequest ) ;
992
1010
}
993
1011
if ( createMeta ) {
994
- await createMetadata ( program , user ) ;
1012
+ await createMetadata ( program ) ;
995
1013
}
996
- return user ;
1014
+ return program ;
997
1015
}
998
1016
} ) ;
999
1017
0 commit comments