@stacks/network 3.0.0 → 3.2.1-beta.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.
@@ -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 interface StacksNetwork {
9
- version: TransactionVersion;
10
- chainId: ChainID;
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(networkUrl?: NetworkConfig);
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 StacksTestnet extends StacksMainnet implements StacksNetwork {
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 StacksMainnet implements StacksNetwork {
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 class StacksMainnet {
6
- constructor(networkUrl = { url: HIRO_MAINNET_DEFAULT }) {
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 = networkUrl.url;
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
- export class StacksTestnet extends StacksMainnet {
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 StacksMainnet {
100
+ export class StacksMocknet extends StacksNetwork {
77
101
  constructor(networkUrl = { url: HIRO_MOCKNET_DEFAULT }) {
78
102
  super(networkUrl);
79
103
  this.version = TransactionVersion.Testnet;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
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 interface StacksNetwork {
9
- version: TransactionVersion;
10
- chainId: ChainID;
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(networkUrl?: NetworkConfig);
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 StacksTestnet extends StacksMainnet implements StacksNetwork {
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 StacksMainnet implements StacksNetwork {
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
- class StacksMainnet {
9
- constructor(networkUrl = { url: exports.HIRO_MAINNET_DEFAULT }) {
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 = networkUrl.url;
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 StacksMainnet {
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 StacksMainnet {
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ window.global=window;import{TransactionVersion as t,ChainID as s,fetchPrivate as e}from"@stacks/common/dist/polyfill";const n="https://stacks-node-api.mainnet.stacks.co",i="https://stacks-node-api.testnet.stacks.co",r="http://localhost:3999",o=["mainnet","testnet"];class a{constructor(e){this.version=t.Mainnet,this.chainId=s.Mainnet,this.bnsLookupUrl="https://stacks-node-api.mainnet.stacks.co",this.broadcastEndpoint="/v2/transactions",this.transferFeeEstimateEndpoint="/v2/fees/transfer",this.transactionFeeEstimateEndpoint="/v2/fees/transaction",this.accountEndpoint="/v2/accounts",this.contractAbiEndpoint="/v2/contracts/interface",this.readOnlyFunctionCallEndpoint="/v2/contracts/call-read",this.isMainnet=()=>this.version===t.Mainnet,this.getBroadcastApiUrl=()=>`${this.coreApiUrl}${this.broadcastEndpoint}`,this.getTransferFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transferFeeEstimateEndpoint}`,this.getTransactionFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transactionFeeEstimateEndpoint}`,this.getAccountApiUrl=t=>`${this.coreApiUrl}${this.accountEndpoint}/${t}?proof=0`,this.getAbiApiUrl=(t,s)=>`${this.coreApiUrl}${this.contractAbiEndpoint}/${t}/${s}`,this.getReadOnlyFunctionCallApiUrl=(t,s,e)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}/${t}/${s}/${encodeURIComponent(e)}`,this.getInfoUrl=()=>`${this.coreApiUrl}/v2/info`,this.getBlockTimeInfoUrl=()=>`${this.coreApiUrl}/extended/v1/info/network_block_times`,this.getPoxInfoUrl=()=>`${this.coreApiUrl}/v2/pox`,this.getRewardsUrl=(t,s)=>{let e=`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}`;return s&&(e=`${e}?limit=${s.limit}&offset=${s.offset}`),e},this.getRewardsTotalUrl=t=>`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}/total`,this.getRewardHoldersUrl=(t,s)=>{let e=`${this.coreApiUrl}/extended/v1/burnchain/reward_slot_holders/${t}`;return s&&(e=`${e}?limit=${s.limit}&offset=${s.offset}`),e},this.getStackerInfoUrl=(t,s)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}\n ${t}/${s}/get-stacker-info`,this.coreApiUrl=e.url}getNameInfo(t){const s=`${this.bnsLookupUrl}/v1/names/${t}`;return e(s).then((t=>{if(404===t.status)throw new Error("Name not found");if(200!==t.status)throw new Error(`Bad response status: ${t.status}`);return t.json()})).then((t=>t.address?Object.assign({},t,{address:t.address}):t))}}a.fromName=t=>{switch(t){case"mainnet":return new c;case"testnet":return new l;default:throw new Error(`Invalid network name provided. Must be one of the following: ${o.join(", ")}`)}},a.fromNameOrNetwork=t=>"string"!=typeof t&&"version"in t?t:a.fromName(t);class c extends a{constructor(e={url:"https://stacks-node-api.mainnet.stacks.co"}){super(e),this.version=t.Mainnet,this.chainId=s.Mainnet}}class l extends a{constructor(e={url:"https://stacks-node-api.testnet.stacks.co"}){super(e),this.version=t.Testnet,this.chainId=s.Testnet}}class h extends a{constructor(e={url:"http://localhost:3999"}){super(e),this.version=t.Testnet,this.chainId=s.Testnet}}export{n as HIRO_MAINNET_DEFAULT,r as HIRO_MOCKNET_DEFAULT,i as HIRO_TESTNET_DEFAULT,c as StacksMainnet,h as StacksMocknet,a as StacksNetwork,o as StacksNetworks,l as StacksTestnet};