-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathnftscan-solana.ts
59 lines (53 loc) · 2.16 KB
/
nftscan-solana.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { EvmChain, NftscanConfig, NftscanSolanaConfig } from '../../types/nftscan-type';
import BaseApi from '../base-api';
import NftscanSolanaAsset from './asset';
import NftscanSolanaCollection from './collection';
import NftscanSolanaRefresh from './refresh';
import NftscanSolanaStatistic from './statistic';
import NftscanSolanaTransaction from './transaction';
/**
* This class is the main entry point into NFTScan's Solana APIs and separates functionality into different object.
* To use a different chain or API key, you should create a new instance of {@link NftscanSolana}
*
* The NFTScan API for Solana helps developers build new experiences retrieving NFTs and data analysis on the solana
* blockchain. We provide a set of endpoints that enable you to fetch NFT assets as well as transactions, collections,
* marketplace statistics and more.
*
* To use our APIs, You need to register an account on NFTScan open platform OpenAPI Platform({@link https://developer.nftscan.com/})
* and get your API key for NFTScan API SDK initialize config.
*/
export default class NftscanSolana extends BaseApi<NftscanConfig> {
constructor(config: NftscanSolanaConfig) {
super({ apiKey: config.apiKey, chain: 'solana' as EvmChain });
}
/**
* The `asset` object contains methods for NFTScan's Solana asset API.
*/
get asset(): NftscanSolanaAsset {
return new NftscanSolanaAsset(this.config);
}
/**
* The `transaction` object contains methods for NFTScan's Solana transaction API.
*/
get transaction(): NftscanSolanaTransaction {
return new NftscanSolanaTransaction(this.config);
}
/**
* The `collection` object contains methods for NFTScan's Solana collection API.
*/
get collection(): NftscanSolanaCollection {
return new NftscanSolanaCollection(this.config);
}
/**
* The `statistic` object contains methods for NFTScan's Solana statistic API.
*/
get statistic(): NftscanSolanaStatistic {
return new NftscanSolanaStatistic(this.config);
}
/**
* The `refresh` object contains methods for NFTScan's Solana refresh metadata API.
*/
get refresh(): NftscanSolanaRefresh {
return new NftscanSolanaRefresh(this.config);
}
}