gn-provider 1.1.3 → 1.1.4
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/dist/gn-provider.d.ts +1 -1
- package/dist/gn-provider.js +18 -10
- package/package.json +1 -1
package/dist/gn-provider.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export declare class GNProvider extends Provider {
|
|
|
10
10
|
private _network;
|
|
11
11
|
private _isConnected;
|
|
12
12
|
private _apiKey;
|
|
13
|
+
private apiPrefix;
|
|
13
14
|
private _getHeaders;
|
|
14
|
-
get apiPrefix(): string;
|
|
15
15
|
connect: () => Promise<this>;
|
|
16
16
|
getFeePerKb: () => Promise<number>;
|
|
17
17
|
constructor(network: scryptlib.bsv.Networks.Network, apiKey?: string);
|
package/dist/gn-provider.js
CHANGED
|
@@ -57,21 +57,25 @@ var ProviderEvent;
|
|
|
57
57
|
ProviderEvent["NetworkChange"] = "networkChange";
|
|
58
58
|
})(ProviderEvent || (ProviderEvent = {}));
|
|
59
59
|
class GNProvider extends abstract_provider_1.Provider {
|
|
60
|
-
get apiPrefix() {
|
|
61
|
-
const networkStr = this._network.name === scryptlib.bsv.Networks.mainnet.name ? 'main' : 'test';
|
|
62
|
-
return `https://api.whatsonchain.com/v1/bsv/${networkStr}`;
|
|
63
|
-
}
|
|
64
60
|
constructor(network, apiKey = '') {
|
|
65
61
|
super();
|
|
66
62
|
this._isConnected = false;
|
|
67
63
|
this._getHeaders = () => {
|
|
68
64
|
return Object.assign({ 'Content-Type': 'application/json' }, (this._apiKey ? { 'woc-api-key': this._apiKey } : {}));
|
|
69
65
|
};
|
|
66
|
+
/*get apiPrefix(): string {
|
|
67
|
+
const networkStr = this._network.name === scryptlib.bsv.Networks.mainnet.name ? 'main' : 'test';
|
|
68
|
+
return `https://api.whatsonchain.com/v1/bsv/${networkStr}`;
|
|
69
|
+
}*/
|
|
70
|
+
/*apiPrefix = (): string => {
|
|
71
|
+
const networkStr = this._network.name === scryptlib.bsv.Networks.mainnet.name ? 'main' : 'test';
|
|
72
|
+
return `https://api.whatsonchain.com/v1/bsv/${networkStr}`;
|
|
73
|
+
}*/
|
|
70
74
|
this.connect = () => __awaiter(this, void 0, void 0, function* () {
|
|
71
75
|
var _a;
|
|
72
76
|
try {
|
|
73
77
|
const headers = this._getHeaders();
|
|
74
|
-
const res = yield superagent.get(`${this.apiPrefix}/woc`)
|
|
78
|
+
const res = yield superagent.get(`${this.apiPrefix()}/woc`) //`${this.apiPrefix}/woc`)
|
|
75
79
|
.timeout(3000)
|
|
76
80
|
.set(headers);
|
|
77
81
|
if (res.ok && res.text === "Whats On Chain") {
|
|
@@ -94,7 +98,7 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
94
98
|
try {
|
|
95
99
|
const now = Math.floor(Date.now() / 1000);
|
|
96
100
|
const from = now - 1800; // 30 minutos atrás
|
|
97
|
-
const res = yield superagent.get(`${this.apiPrefix}/miner/fees?from=${from}&to=${now}`)
|
|
101
|
+
const res = yield superagent.get(`${this.apiPrefix()}/miner/fees?from=${from}&to=${now}`)
|
|
98
102
|
.set(headers);
|
|
99
103
|
if (res.body && Array.isArray(res.body) && res.body.length > 0) {
|
|
100
104
|
const totalFeeRate = res.body.reduce((sum, minerData) => {
|
|
@@ -159,7 +163,7 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
159
163
|
const size = Math.max(1, rawTxHex.length / 2 / 1024); // Tamaño en KB
|
|
160
164
|
const timeout = Math.max(10000, 1000 * size); // Timeout dinámico
|
|
161
165
|
try {
|
|
162
|
-
const res = yield superagent.post(`${this.apiPrefix}/tx/raw`)
|
|
166
|
+
const res = yield superagent.post(`${this.apiPrefix()}/tx/raw`)
|
|
163
167
|
.timeout({
|
|
164
168
|
response: timeout,
|
|
165
169
|
deadline: 60000
|
|
@@ -182,7 +186,7 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
182
186
|
this.listUnspent = (address, options) => __awaiter(this, void 0, void 0, function* () {
|
|
183
187
|
yield this._ready();
|
|
184
188
|
const headers = this._getHeaders();
|
|
185
|
-
const res = yield superagent.get(`${this.apiPrefix}/address/${address}/unspent`)
|
|
189
|
+
const res = yield superagent.get(`${this.apiPrefix()}/address/${address}/unspent`)
|
|
186
190
|
.set(headers);
|
|
187
191
|
const utxos = res.body.map((item) => ({
|
|
188
192
|
txId: item.tx_hash,
|
|
@@ -196,7 +200,7 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
196
200
|
this.getBalance = (address) => __awaiter(this, void 0, void 0, function* () {
|
|
197
201
|
try {
|
|
198
202
|
const headers = this._getHeaders();
|
|
199
|
-
const res = yield superagent.get(`${this.apiPrefix}/address/${address}/balance`)
|
|
203
|
+
const res = yield superagent.get(`${this.apiPrefix()}/address/${address}/balance`)
|
|
200
204
|
.set(headers);
|
|
201
205
|
return {
|
|
202
206
|
confirmed: res.body.confirmed || 0,
|
|
@@ -217,7 +221,7 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
217
221
|
yield this._ready();
|
|
218
222
|
const headers = this._getHeaders();
|
|
219
223
|
try {
|
|
220
|
-
const res = yield superagent.get(`${this.apiPrefix}/tx/${txHash}/hex`)
|
|
224
|
+
const res = yield superagent.get(`${this.apiPrefix()}/tx/${txHash}/hex`)
|
|
221
225
|
.set(headers);
|
|
222
226
|
if (res.ok) {
|
|
223
227
|
return new scryptlib.bsv.Transaction(res.text);
|
|
@@ -232,6 +236,10 @@ class GNProvider extends abstract_provider_1.Provider {
|
|
|
232
236
|
this._network = network;
|
|
233
237
|
this._apiKey = apiKey;
|
|
234
238
|
this._isConnected = false;
|
|
239
|
+
this.apiPrefix = () => {
|
|
240
|
+
const networkStr = this._network.name === scryptlib.bsv.Networks.mainnet.name ? 'main' : 'test';
|
|
241
|
+
return `https://api.whatsonchain.com/v1/bsv/${networkStr}`;
|
|
242
|
+
};
|
|
235
243
|
// Configura EventEmitter
|
|
236
244
|
Object.setPrototypeOf(this, events_1.EventEmitter.prototype);
|
|
237
245
|
// Conexión directa
|