-
Notifications
You must be signed in to change notification settings - Fork 62
/
tzkt-blockexplorer.ts
40 lines (36 loc) · 1.71 KB
/
tzkt-blockexplorer.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
import { Network, NetworkType } from '@airgap/beacon-types'
import { BlockExplorer } from './block-explorer'
export class TzktBlockExplorer extends BlockExplorer {
constructor(
public readonly rpcUrls: { [key in NetworkType]: string } = {
[NetworkType.MAINNET]: 'https://tzkt.io',
[NetworkType.GHOSTNET]: 'https://ghostnet.tzkt.io',
[NetworkType.WEEKLYNET]: 'https://weeklynet.tzkt.io',
[NetworkType.DAILYNET]: 'https://dailynet.tzkt.io',
[NetworkType.DELPHINET]: 'https://delphinet.tzkt.io',
[NetworkType.EDONET]: 'https://edonet.tzkt.io',
[NetworkType.FLORENCENET]: 'https://florencenet.tzkt.io',
[NetworkType.GRANADANET]: 'https://granadanet.tzkt.io',
[NetworkType.HANGZHOUNET]: 'https://hangzhounet.tzkt.io',
[NetworkType.ITHACANET]: 'https://ithacanet.tzkt.io',
[NetworkType.JAKARTANET]: 'https://jakartanet.tzkt.io',
[NetworkType.KATHMANDUNET]: 'https://kathmandunet.tzkt.io',
[NetworkType.LIMANET]: 'https://limanet.tzkt.io',
[NetworkType.MUMBAINET]: 'https://mumbainet.tzkt.io',
[NetworkType.NAIROBINET]: 'https://nairobinet.tzkt.io',
[NetworkType.OXFORDNET]: 'https://oxfordnet.tzkt.io',
[NetworkType.PARISNET]: 'https://parisnet.tzkt.io',
[NetworkType.CUSTOM]: 'https://parisnet.tzkt.io'
}
) {
super(rpcUrls)
}
public async getAddressLink(address: string, network: Network): Promise<string> {
const blockExplorer = await this.getLinkForNetwork(network)
return `${blockExplorer}/${address}`
}
public async getTransactionLink(transactionId: string, network: Network): Promise<string> {
const blockExplorer = await this.getLinkForNetwork(network)
return `${blockExplorer}/${transactionId}`
}
}