@stacks/network 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/esm/index.d.ts +13 -31
- package/dist/esm/index.js +29 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +13 -31
- package/dist/index.js +31 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +39 -45
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.2.0](https://github.com/blockstack/blockstack.js/compare/v3.1.1...v3.2.0) (2022-02-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* reduce reliance on network package ([422fda3](https://github.com/blockstack/blockstack.js/commit/422fda3cd43e16ae24ea9d97297b423a90823672))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [2.0.1](https://github.com/blockstack/blockstack.js/compare/v2.0.1-beta.2...v2.0.1) (2021-08-09)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @stacks/network
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -5,34 +5,9 @@ export declare const HIRO_MOCKNET_DEFAULT = "http://localhost:3999";
|
|
|
5
5
|
export interface NetworkConfig {
|
|
6
6
|
url: string;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
bnsLookupUrl: string;
|
|
12
|
-
readonly coreApiUrl: string;
|
|
13
|
-
broadcastEndpoint: string;
|
|
14
|
-
transferFeeEstimateEndpoint: string;
|
|
15
|
-
transactionFeeEstimateEndpoint: string;
|
|
16
|
-
accountEndpoint: string;
|
|
17
|
-
contractAbiEndpoint: string;
|
|
18
|
-
readOnlyFunctionCallEndpoint: string;
|
|
19
|
-
isMainnet(): boolean;
|
|
20
|
-
getBroadcastApiUrl: () => string;
|
|
21
|
-
getTransferFeeEstimateApiUrl: () => string;
|
|
22
|
-
getTransactionFeeEstimateApiUrl: () => string;
|
|
23
|
-
getAccountApiUrl: (address: string) => string;
|
|
24
|
-
getAbiApiUrl: (address: string, contract: string) => string;
|
|
25
|
-
getReadOnlyFunctionCallApiUrl: (contractAddress: string, contractName: string, functionName: string) => string;
|
|
26
|
-
getInfoUrl: () => string;
|
|
27
|
-
getBlockTimeInfoUrl: () => string;
|
|
28
|
-
getPoxInfoUrl: () => string;
|
|
29
|
-
getRewardsUrl: (address: string, options?: any) => string;
|
|
30
|
-
getRewardHoldersUrl: (address: string, options?: any) => string;
|
|
31
|
-
getRewardsTotalUrl: (address: string) => string;
|
|
32
|
-
getStackerInfoUrl: (contractAddress: string, contractName: string) => string;
|
|
33
|
-
getNameInfo: (fullyQualifiedName: string) => any;
|
|
34
|
-
}
|
|
35
|
-
export declare class StacksMainnet implements StacksNetwork {
|
|
8
|
+
export declare const StacksNetworks: readonly ["mainnet", "testnet"];
|
|
9
|
+
export declare type StacksNetworkName = typeof StacksNetworks[number];
|
|
10
|
+
export declare class StacksNetwork {
|
|
36
11
|
version: TransactionVersion;
|
|
37
12
|
chainId: ChainID;
|
|
38
13
|
bnsLookupUrl: string;
|
|
@@ -43,7 +18,9 @@ export declare class StacksMainnet implements StacksNetwork {
|
|
|
43
18
|
contractAbiEndpoint: string;
|
|
44
19
|
readOnlyFunctionCallEndpoint: string;
|
|
45
20
|
readonly coreApiUrl: string;
|
|
46
|
-
constructor(
|
|
21
|
+
constructor(networkConfig: NetworkConfig);
|
|
22
|
+
static fromName: (networkName: StacksNetworkName) => StacksNetwork;
|
|
23
|
+
static fromNameOrNetwork: (network: StacksNetworkName | StacksNetwork) => StacksNetwork;
|
|
47
24
|
isMainnet: () => boolean;
|
|
48
25
|
getBroadcastApiUrl: () => string;
|
|
49
26
|
getTransferFeeEstimateApiUrl: () => string;
|
|
@@ -60,12 +37,17 @@ export declare class StacksMainnet implements StacksNetwork {
|
|
|
60
37
|
getStackerInfoUrl: (contractAddress: string, contractName: string) => string;
|
|
61
38
|
getNameInfo(fullyQualifiedName: string): Promise<any>;
|
|
62
39
|
}
|
|
63
|
-
export declare class
|
|
40
|
+
export declare class StacksMainnet extends StacksNetwork {
|
|
41
|
+
version: TransactionVersion;
|
|
42
|
+
chainId: ChainID;
|
|
43
|
+
constructor(networkUrl?: NetworkConfig);
|
|
44
|
+
}
|
|
45
|
+
export declare class StacksTestnet extends StacksNetwork {
|
|
64
46
|
version: TransactionVersion;
|
|
65
47
|
chainId: ChainID;
|
|
66
48
|
constructor(networkUrl?: NetworkConfig);
|
|
67
49
|
}
|
|
68
|
-
export declare class StacksMocknet extends
|
|
50
|
+
export declare class StacksMocknet extends StacksNetwork {
|
|
69
51
|
version: TransactionVersion;
|
|
70
52
|
chainId: ChainID;
|
|
71
53
|
constructor(networkUrl?: NetworkConfig);
|
package/dist/esm/index.js
CHANGED
|
@@ -2,8 +2,9 @@ import { TransactionVersion, ChainID, fetchPrivate } from '@stacks/common';
|
|
|
2
2
|
export const HIRO_MAINNET_DEFAULT = 'https://stacks-node-api.mainnet.stacks.co';
|
|
3
3
|
export const HIRO_TESTNET_DEFAULT = 'https://stacks-node-api.testnet.stacks.co';
|
|
4
4
|
export const HIRO_MOCKNET_DEFAULT = 'http://localhost:3999';
|
|
5
|
-
export
|
|
6
|
-
|
|
5
|
+
export const StacksNetworks = ['mainnet', 'testnet'];
|
|
6
|
+
export class StacksNetwork {
|
|
7
|
+
constructor(networkConfig) {
|
|
7
8
|
this.version = TransactionVersion.Mainnet;
|
|
8
9
|
this.chainId = ChainID.Mainnet;
|
|
9
10
|
this.bnsLookupUrl = 'https://stacks-node-api.mainnet.stacks.co';
|
|
@@ -40,7 +41,7 @@ export class StacksMainnet {
|
|
|
40
41
|
};
|
|
41
42
|
this.getStackerInfoUrl = (contractAddress, contractName) => `${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}
|
|
42
43
|
${contractAddress}/${contractName}/get-stacker-info`;
|
|
43
|
-
this.coreApiUrl =
|
|
44
|
+
this.coreApiUrl = networkConfig.url;
|
|
44
45
|
}
|
|
45
46
|
getNameInfo(fullyQualifiedName) {
|
|
46
47
|
const nameLookupURL = `${this.bnsLookupUrl}/v1/names/${fullyQualifiedName}`;
|
|
@@ -66,14 +67,37 @@ export class StacksMainnet {
|
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
+
StacksNetwork.fromName = (networkName) => {
|
|
71
|
+
switch (networkName) {
|
|
72
|
+
case 'mainnet':
|
|
73
|
+
return new StacksMainnet();
|
|
74
|
+
case 'testnet':
|
|
75
|
+
return new StacksTestnet();
|
|
76
|
+
default:
|
|
77
|
+
throw new Error(`Invalid network name provided. Must be one of the following: ${StacksNetworks.join(', ')}`);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
StacksNetwork.fromNameOrNetwork = (network) => {
|
|
81
|
+
if (typeof network !== 'string' && 'version' in network) {
|
|
82
|
+
return network;
|
|
83
|
+
}
|
|
84
|
+
return StacksNetwork.fromName(network);
|
|
85
|
+
};
|
|
86
|
+
export class StacksMainnet extends StacksNetwork {
|
|
87
|
+
constructor(networkUrl = { url: HIRO_MAINNET_DEFAULT }) {
|
|
88
|
+
super(networkUrl);
|
|
89
|
+
this.version = TransactionVersion.Mainnet;
|
|
90
|
+
this.chainId = ChainID.Mainnet;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export class StacksTestnet extends StacksNetwork {
|
|
70
94
|
constructor(networkUrl = { url: HIRO_TESTNET_DEFAULT }) {
|
|
71
95
|
super(networkUrl);
|
|
72
96
|
this.version = TransactionVersion.Testnet;
|
|
73
97
|
this.chainId = ChainID.Testnet;
|
|
74
98
|
}
|
|
75
99
|
}
|
|
76
|
-
export class StacksMocknet extends
|
|
100
|
+
export class StacksMocknet extends StacksNetwork {
|
|
77
101
|
constructor(networkUrl = { url: HIRO_MOCKNET_DEFAULT }) {
|
|
78
102
|
super(networkUrl);
|
|
79
103
|
this.version = TransactionVersion.Testnet;
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,34 +5,9 @@ export declare const HIRO_MOCKNET_DEFAULT = "http://localhost:3999";
|
|
|
5
5
|
export interface NetworkConfig {
|
|
6
6
|
url: string;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
bnsLookupUrl: string;
|
|
12
|
-
readonly coreApiUrl: string;
|
|
13
|
-
broadcastEndpoint: string;
|
|
14
|
-
transferFeeEstimateEndpoint: string;
|
|
15
|
-
transactionFeeEstimateEndpoint: string;
|
|
16
|
-
accountEndpoint: string;
|
|
17
|
-
contractAbiEndpoint: string;
|
|
18
|
-
readOnlyFunctionCallEndpoint: string;
|
|
19
|
-
isMainnet(): boolean;
|
|
20
|
-
getBroadcastApiUrl: () => string;
|
|
21
|
-
getTransferFeeEstimateApiUrl: () => string;
|
|
22
|
-
getTransactionFeeEstimateApiUrl: () => string;
|
|
23
|
-
getAccountApiUrl: (address: string) => string;
|
|
24
|
-
getAbiApiUrl: (address: string, contract: string) => string;
|
|
25
|
-
getReadOnlyFunctionCallApiUrl: (contractAddress: string, contractName: string, functionName: string) => string;
|
|
26
|
-
getInfoUrl: () => string;
|
|
27
|
-
getBlockTimeInfoUrl: () => string;
|
|
28
|
-
getPoxInfoUrl: () => string;
|
|
29
|
-
getRewardsUrl: (address: string, options?: any) => string;
|
|
30
|
-
getRewardHoldersUrl: (address: string, options?: any) => string;
|
|
31
|
-
getRewardsTotalUrl: (address: string) => string;
|
|
32
|
-
getStackerInfoUrl: (contractAddress: string, contractName: string) => string;
|
|
33
|
-
getNameInfo: (fullyQualifiedName: string) => any;
|
|
34
|
-
}
|
|
35
|
-
export declare class StacksMainnet implements StacksNetwork {
|
|
8
|
+
export declare const StacksNetworks: readonly ["mainnet", "testnet"];
|
|
9
|
+
export declare type StacksNetworkName = typeof StacksNetworks[number];
|
|
10
|
+
export declare class StacksNetwork {
|
|
36
11
|
version: TransactionVersion;
|
|
37
12
|
chainId: ChainID;
|
|
38
13
|
bnsLookupUrl: string;
|
|
@@ -43,7 +18,9 @@ export declare class StacksMainnet implements StacksNetwork {
|
|
|
43
18
|
contractAbiEndpoint: string;
|
|
44
19
|
readOnlyFunctionCallEndpoint: string;
|
|
45
20
|
readonly coreApiUrl: string;
|
|
46
|
-
constructor(
|
|
21
|
+
constructor(networkConfig: NetworkConfig);
|
|
22
|
+
static fromName: (networkName: StacksNetworkName) => StacksNetwork;
|
|
23
|
+
static fromNameOrNetwork: (network: StacksNetworkName | StacksNetwork) => StacksNetwork;
|
|
47
24
|
isMainnet: () => boolean;
|
|
48
25
|
getBroadcastApiUrl: () => string;
|
|
49
26
|
getTransferFeeEstimateApiUrl: () => string;
|
|
@@ -60,12 +37,17 @@ export declare class StacksMainnet implements StacksNetwork {
|
|
|
60
37
|
getStackerInfoUrl: (contractAddress: string, contractName: string) => string;
|
|
61
38
|
getNameInfo(fullyQualifiedName: string): Promise<any>;
|
|
62
39
|
}
|
|
63
|
-
export declare class
|
|
40
|
+
export declare class StacksMainnet extends StacksNetwork {
|
|
41
|
+
version: TransactionVersion;
|
|
42
|
+
chainId: ChainID;
|
|
43
|
+
constructor(networkUrl?: NetworkConfig);
|
|
44
|
+
}
|
|
45
|
+
export declare class StacksTestnet extends StacksNetwork {
|
|
64
46
|
version: TransactionVersion;
|
|
65
47
|
chainId: ChainID;
|
|
66
48
|
constructor(networkUrl?: NetworkConfig);
|
|
67
49
|
}
|
|
68
|
-
export declare class StacksMocknet extends
|
|
50
|
+
export declare class StacksMocknet extends StacksNetwork {
|
|
69
51
|
version: TransactionVersion;
|
|
70
52
|
chainId: ChainID;
|
|
71
53
|
constructor(networkUrl?: NetworkConfig);
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StacksMocknet = exports.StacksTestnet = exports.StacksMainnet = exports.HIRO_MOCKNET_DEFAULT = exports.HIRO_TESTNET_DEFAULT = exports.HIRO_MAINNET_DEFAULT = void 0;
|
|
3
|
+
exports.StacksMocknet = exports.StacksTestnet = exports.StacksMainnet = exports.StacksNetwork = exports.StacksNetworks = exports.HIRO_MOCKNET_DEFAULT = exports.HIRO_TESTNET_DEFAULT = exports.HIRO_MAINNET_DEFAULT = void 0;
|
|
4
4
|
const common_1 = require("@stacks/common");
|
|
5
5
|
exports.HIRO_MAINNET_DEFAULT = 'https://stacks-node-api.mainnet.stacks.co';
|
|
6
6
|
exports.HIRO_TESTNET_DEFAULT = 'https://stacks-node-api.testnet.stacks.co';
|
|
7
7
|
exports.HIRO_MOCKNET_DEFAULT = 'http://localhost:3999';
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
exports.StacksNetworks = ['mainnet', 'testnet'];
|
|
9
|
+
class StacksNetwork {
|
|
10
|
+
constructor(networkConfig) {
|
|
10
11
|
this.version = common_1.TransactionVersion.Mainnet;
|
|
11
12
|
this.chainId = common_1.ChainID.Mainnet;
|
|
12
13
|
this.bnsLookupUrl = 'https://stacks-node-api.mainnet.stacks.co';
|
|
@@ -43,7 +44,7 @@ class StacksMainnet {
|
|
|
43
44
|
};
|
|
44
45
|
this.getStackerInfoUrl = (contractAddress, contractName) => `${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}
|
|
45
46
|
${contractAddress}/${contractName}/get-stacker-info`;
|
|
46
|
-
this.coreApiUrl =
|
|
47
|
+
this.coreApiUrl = networkConfig.url;
|
|
47
48
|
}
|
|
48
49
|
getNameInfo(fullyQualifiedName) {
|
|
49
50
|
const nameLookupURL = `${this.bnsLookupUrl}/v1/names/${fullyQualifiedName}`;
|
|
@@ -69,8 +70,32 @@ class StacksMainnet {
|
|
|
69
70
|
});
|
|
70
71
|
}
|
|
71
72
|
}
|
|
73
|
+
exports.StacksNetwork = StacksNetwork;
|
|
74
|
+
StacksNetwork.fromName = (networkName) => {
|
|
75
|
+
switch (networkName) {
|
|
76
|
+
case 'mainnet':
|
|
77
|
+
return new StacksMainnet();
|
|
78
|
+
case 'testnet':
|
|
79
|
+
return new StacksTestnet();
|
|
80
|
+
default:
|
|
81
|
+
throw new Error(`Invalid network name provided. Must be one of the following: ${exports.StacksNetworks.join(', ')}`);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
StacksNetwork.fromNameOrNetwork = (network) => {
|
|
85
|
+
if (typeof network !== 'string' && 'version' in network) {
|
|
86
|
+
return network;
|
|
87
|
+
}
|
|
88
|
+
return StacksNetwork.fromName(network);
|
|
89
|
+
};
|
|
90
|
+
class StacksMainnet extends StacksNetwork {
|
|
91
|
+
constructor(networkUrl = { url: exports.HIRO_MAINNET_DEFAULT }) {
|
|
92
|
+
super(networkUrl);
|
|
93
|
+
this.version = common_1.TransactionVersion.Mainnet;
|
|
94
|
+
this.chainId = common_1.ChainID.Mainnet;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
72
97
|
exports.StacksMainnet = StacksMainnet;
|
|
73
|
-
class StacksTestnet extends
|
|
98
|
+
class StacksTestnet extends StacksNetwork {
|
|
74
99
|
constructor(networkUrl = { url: exports.HIRO_TESTNET_DEFAULT }) {
|
|
75
100
|
super(networkUrl);
|
|
76
101
|
this.version = common_1.TransactionVersion.Testnet;
|
|
@@ -78,7 +103,7 @@ class StacksTestnet extends StacksMainnet {
|
|
|
78
103
|
}
|
|
79
104
|
}
|
|
80
105
|
exports.StacksTestnet = StacksTestnet;
|
|
81
|
-
class StacksMocknet extends
|
|
106
|
+
class StacksMocknet extends StacksNetwork {
|
|
82
107
|
constructor(networkUrl = { url: exports.HIRO_MOCKNET_DEFAULT }) {
|
|
83
108
|
super(networkUrl);
|
|
84
109
|
this.version = common_1.TransactionVersion.Testnet;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA2E;AAE9D,QAAA,oBAAoB,GAAG,2CAA2C,CAAC;AACnE,QAAA,oBAAoB,GAAG,2CAA2C,CAAC;AACnE,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacks/network",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Library for Stacks network operations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stacks",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"typings": "dist/index.d.ts",
|
|
59
59
|
"umd:main": "dist/index.umd.js",
|
|
60
60
|
"unpkg": "dist/index.umd.js",
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "cfabdf8a48269e35e72f5e558fc722a55da02a5e"
|
|
62
62
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,48 +8,10 @@ export interface NetworkConfig {
|
|
|
8
8
|
url: string;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
chainId: ChainID;
|
|
14
|
-
bnsLookupUrl: string;
|
|
15
|
-
readonly coreApiUrl: string;
|
|
16
|
-
broadcastEndpoint: string;
|
|
17
|
-
transferFeeEstimateEndpoint: string;
|
|
18
|
-
transactionFeeEstimateEndpoint: string;
|
|
19
|
-
accountEndpoint: string;
|
|
20
|
-
contractAbiEndpoint: string;
|
|
21
|
-
readOnlyFunctionCallEndpoint: string;
|
|
22
|
-
isMainnet(): boolean;
|
|
23
|
-
getBroadcastApiUrl: () => string;
|
|
24
|
-
getTransferFeeEstimateApiUrl: () => string;
|
|
25
|
-
getTransactionFeeEstimateApiUrl: () => string;
|
|
26
|
-
getAccountApiUrl: (address: string) => string;
|
|
27
|
-
getAbiApiUrl: (address: string, contract: string) => string;
|
|
28
|
-
getReadOnlyFunctionCallApiUrl: (
|
|
29
|
-
contractAddress: string,
|
|
30
|
-
contractName: string,
|
|
31
|
-
functionName: string
|
|
32
|
-
) => string;
|
|
33
|
-
getInfoUrl: () => string;
|
|
34
|
-
getBlockTimeInfoUrl: () => string;
|
|
35
|
-
getPoxInfoUrl: () => string;
|
|
36
|
-
getRewardsUrl: (address: string, options?: any) => string;
|
|
37
|
-
getRewardHoldersUrl: (address: string, options?: any) => string;
|
|
38
|
-
getRewardsTotalUrl: (address: string) => string;
|
|
39
|
-
getStackerInfoUrl: (contractAddress: string, contractName: string) => string;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Get WHOIS-like information for a name, including the address that owns it,
|
|
43
|
-
* the block at which it expires, and the zone file anchored to it (if available).
|
|
44
|
-
*
|
|
45
|
-
* This is intended for use in third-party wallets or in DApps that register names.
|
|
46
|
-
* @param fullyQualifiedName the name to query. Can be on-chain of off-chain.
|
|
47
|
-
* @return a promise that resolves to the WHOIS-like information
|
|
48
|
-
*/
|
|
49
|
-
getNameInfo: (fullyQualifiedName: string) => any;
|
|
50
|
-
}
|
|
11
|
+
export const StacksNetworks = ['mainnet', 'testnet'] as const;
|
|
12
|
+
export type StacksNetworkName = typeof StacksNetworks[number];
|
|
51
13
|
|
|
52
|
-
export class
|
|
14
|
+
export class StacksNetwork {
|
|
53
15
|
version = TransactionVersion.Mainnet;
|
|
54
16
|
chainId = ChainID.Mainnet;
|
|
55
17
|
bnsLookupUrl = 'https://stacks-node-api.mainnet.stacks.co';
|
|
@@ -62,10 +24,33 @@ export class StacksMainnet implements StacksNetwork {
|
|
|
62
24
|
|
|
63
25
|
readonly coreApiUrl: string;
|
|
64
26
|
|
|
65
|
-
constructor(
|
|
66
|
-
this.coreApiUrl =
|
|
27
|
+
constructor(networkConfig: NetworkConfig) {
|
|
28
|
+
this.coreApiUrl = networkConfig.url;
|
|
67
29
|
}
|
|
68
30
|
|
|
31
|
+
static fromName = (networkName: StacksNetworkName): StacksNetwork => {
|
|
32
|
+
switch (networkName) {
|
|
33
|
+
case 'mainnet':
|
|
34
|
+
return new StacksMainnet();
|
|
35
|
+
case 'testnet':
|
|
36
|
+
return new StacksTestnet();
|
|
37
|
+
default:
|
|
38
|
+
throw new Error(
|
|
39
|
+
`Invalid network name provided. Must be one of the following: ${StacksNetworks.join(
|
|
40
|
+
', '
|
|
41
|
+
)}`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
static fromNameOrNetwork = (network: StacksNetworkName | StacksNetwork) => {
|
|
47
|
+
if (typeof network !== 'string' && 'version' in network) {
|
|
48
|
+
return network;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return StacksNetwork.fromName(network);
|
|
52
|
+
};
|
|
53
|
+
|
|
69
54
|
isMainnet = () => this.version === TransactionVersion.Mainnet;
|
|
70
55
|
getBroadcastApiUrl = () => `${this.coreApiUrl}${this.broadcastEndpoint}`;
|
|
71
56
|
getTransferFeeEstimateApiUrl = () => `${this.coreApiUrl}${this.transferFeeEstimateEndpoint}`;
|
|
@@ -133,7 +118,16 @@ export class StacksMainnet implements StacksNetwork {
|
|
|
133
118
|
}
|
|
134
119
|
}
|
|
135
120
|
|
|
136
|
-
export class
|
|
121
|
+
export class StacksMainnet extends StacksNetwork {
|
|
122
|
+
version = TransactionVersion.Mainnet;
|
|
123
|
+
chainId = ChainID.Mainnet;
|
|
124
|
+
|
|
125
|
+
constructor(networkUrl: NetworkConfig = { url: HIRO_MAINNET_DEFAULT }) {
|
|
126
|
+
super(networkUrl);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export class StacksTestnet extends StacksNetwork {
|
|
137
131
|
version = TransactionVersion.Testnet;
|
|
138
132
|
chainId = ChainID.Testnet;
|
|
139
133
|
|
|
@@ -142,7 +136,7 @@ export class StacksTestnet extends StacksMainnet implements StacksNetwork {
|
|
|
142
136
|
}
|
|
143
137
|
}
|
|
144
138
|
|
|
145
|
-
export class StacksMocknet extends
|
|
139
|
+
export class StacksMocknet extends StacksNetwork {
|
|
146
140
|
version = TransactionVersion.Testnet;
|
|
147
141
|
chainId = ChainID.Testnet;
|
|
148
142
|
|