@yaswap/yacoin 2.0.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/chain/YacoinBaseChainProvider.d.ts +12 -0
  3. package/dist/lib/chain/YacoinBaseChainProvider.js +7 -0
  4. package/dist/lib/chain/YacoinBaseChainProvider.js.map +1 -0
  5. package/dist/lib/chain/esplora/YacoinEsploraApiProvider.d.ts +19 -0
  6. package/dist/lib/chain/esplora/YacoinEsploraApiProvider.js +135 -0
  7. package/dist/lib/chain/esplora/YacoinEsploraApiProvider.js.map +1 -0
  8. package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.d.ts +20 -0
  9. package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.js +138 -0
  10. package/dist/lib/chain/esplora/YacoinEsploraBaseProvider.js.map +1 -0
  11. package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.d.ts +12 -0
  12. package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.js +48 -0
  13. package/dist/lib/chain/esplora/YacoinEsploraBatchBaseProvider.js.map +1 -0
  14. package/dist/lib/chain/esplora/types.d.ts +80 -0
  15. package/dist/lib/chain/esplora/types.js +3 -0
  16. package/dist/lib/chain/esplora/types.js.map +1 -0
  17. package/dist/lib/fee/YacoinFeeApiProvider.d.ts +6 -0
  18. package/dist/lib/fee/YacoinFeeApiProvider.js +45 -0
  19. package/dist/lib/fee/YacoinFeeApiProvider.js.map +1 -0
  20. package/dist/lib/index.d.ts +12 -0
  21. package/dist/lib/index.js +49 -0
  22. package/dist/lib/index.js.map +1 -0
  23. package/dist/lib/networks.d.ts +7 -0
  24. package/dist/lib/networks.js +14 -0
  25. package/dist/lib/networks.js.map +1 -0
  26. package/dist/lib/swap/YacoinSwapBaseProvider.d.ts +48 -0
  27. package/dist/lib/swap/YacoinSwapBaseProvider.js +320 -0
  28. package/dist/lib/swap/YacoinSwapBaseProvider.js.map +1 -0
  29. package/dist/lib/swap/YacoinSwapEsploraProvider.d.ts +11 -0
  30. package/dist/lib/swap/YacoinSwapEsploraProvider.js +56 -0
  31. package/dist/lib/swap/YacoinSwapEsploraProvider.js.map +1 -0
  32. package/dist/lib/swap/types.d.ts +12 -0
  33. package/dist/lib/swap/types.js +4 -0
  34. package/dist/lib/swap/types.js.map +1 -0
  35. package/dist/lib/types.d.ts +84 -0
  36. package/dist/lib/types.js +40 -0
  37. package/dist/lib/types.js.map +1 -0
  38. package/dist/lib/utils.d.ts +30 -0
  39. package/dist/lib/utils.js +216 -0
  40. package/dist/lib/utils.js.map +1 -0
  41. package/dist/lib/wallet/IYacoinWallet.d.ts +11 -0
  42. package/dist/lib/wallet/IYacoinWallet.js +3 -0
  43. package/dist/lib/wallet/IYacoinWallet.js.map +1 -0
  44. package/dist/lib/wallet/YacoinBaseWallet.d.ts +68 -0
  45. package/dist/lib/wallet/YacoinBaseWallet.js +426 -0
  46. package/dist/lib/wallet/YacoinBaseWallet.js.map +1 -0
  47. package/dist/lib/wallet/YacoinHDWallet.d.ts +43 -0
  48. package/dist/lib/wallet/YacoinHDWallet.js +250 -0
  49. package/dist/lib/wallet/YacoinHDWallet.js.map +1 -0
  50. package/package.json +36 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # @yaswap/bitcoin
2
+
3
+ ## 2.0.0
4
+
5
+ - First version
@@ -0,0 +1,12 @@
1
+ import { AddressType, Transaction } from '@yaswap/types';
2
+ import { AddressTxCounts, UTXO } from '../types';
3
+ export declare abstract class YacoinBaseChainProvider {
4
+ abstract formatTransaction(tx: any): Promise<Transaction>;
5
+ abstract getRawTransactionByHash(transactionHash: string): Promise<string>;
6
+ abstract getTransactionHex(transactionHash: string): Promise<string>;
7
+ abstract getTransaction(transactionHash: string): Promise<Transaction>;
8
+ abstract getFeePerByte(numberOfBlocks?: number): Promise<number>;
9
+ abstract getUnspentTransactions(addresses: AddressType[]): Promise<UTXO[]>;
10
+ abstract getAddressTransactionCounts(_addresses: AddressType[]): Promise<AddressTxCounts>;
11
+ abstract getMinRelayFee(): Promise<number>;
12
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YacoinBaseChainProvider = void 0;
4
+ class YacoinBaseChainProvider {
5
+ }
6
+ exports.YacoinBaseChainProvider = YacoinBaseChainProvider;
7
+ //# sourceMappingURL=YacoinBaseChainProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinBaseChainProvider.js","sourceRoot":"","sources":["../../../lib/chain/YacoinBaseChainProvider.ts"],"names":[],"mappings":";;;AAGA,MAAsB,uBAAuB;CAe5C;AAfD,0DAeC"}
@@ -0,0 +1,19 @@
1
+ import { Chain, Fee } from '@yaswap/client';
2
+ import { AddressType, BigNumber, Block, FeeDetails, Transaction } from '@yaswap/types';
3
+ import { YacoinEsploraBaseProvider } from './YacoinEsploraBaseProvider';
4
+ import * as EsploraTypes from './types';
5
+ export declare class YacoinEsploraApiProvider extends Chain<YacoinEsploraBaseProvider> {
6
+ private _httpClient;
7
+ private _feeOptions;
8
+ constructor(options: EsploraTypes.EsploraBatchApiProviderOptions, provider?: YacoinEsploraBaseProvider, feeProvider?: Fee, feeOptions?: EsploraTypes.FeeOptions);
9
+ getBlockByHash(blockHash: string): Promise<Block<any, any>>;
10
+ getBlockByNumber(blockNumber?: number): Promise<Block<any, any>>;
11
+ getBlockHeight(): Promise<number>;
12
+ getTransactionByHash(txHash: string): Promise<Transaction<any>>;
13
+ getBalance(_addresses: AddressType[]): Promise<BigNumber[]>;
14
+ getFees(): Promise<FeeDetails>;
15
+ sendRawTransaction(rawTransaction: string): Promise<string>;
16
+ sendRpcRequest(_method: string, _params: any[]): Promise<any>;
17
+ private _getBlockHash;
18
+ private _getFee;
19
+ }
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.YacoinEsploraApiProvider = void 0;
24
+ const client_1 = require("@yaswap/client");
25
+ const errors_1 = require("@yaswap/errors");
26
+ const types_1 = require("@yaswap/types");
27
+ const lodash_1 = require("lodash");
28
+ const YacoinEsploraBaseProvider_1 = require("./YacoinEsploraBaseProvider");
29
+ class YacoinEsploraApiProvider extends client_1.Chain {
30
+ constructor(options, provider, feeProvider, feeOptions) {
31
+ // const _provider = provider || new YacoinEsploraBatchBaseProvider(options);
32
+ const _provider = provider || new YacoinEsploraBaseProvider_1.YacoinEsploraBaseProvider(options);
33
+ super(options.network, _provider, feeProvider);
34
+ this._httpClient = this.provider.httpClient;
35
+ // WARNING: ATTENTION THIS FEE
36
+ this._feeOptions = Object.assign({ slowTargetBlocks: 6, averageTargetBlocks: 3, fastTargetBlocks: 1 }, feeOptions);
37
+ }
38
+ getBlockByHash(blockHash) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ let data;
41
+ try {
42
+ data = yield this._httpClient.nodeGet(`/getblock?hash=${blockHash}`);
43
+ }
44
+ catch (e) {
45
+ if (e.name === 'NodeError' && e.message.includes('Block not found')) {
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ const { name, message } = e, attrs = __rest(e, ["name", "message"]);
48
+ throw new errors_1.BlockNotFoundError(`Block not found: ${blockHash}`, attrs);
49
+ }
50
+ throw e;
51
+ }
52
+ const { hash, height: number, time, size, previousblockhash: parentHash, difficulty, nonce } = data;
53
+ return {
54
+ hash,
55
+ number,
56
+ timestamp: time,
57
+ size,
58
+ parentHash,
59
+ difficulty: Number.parseFloat(difficulty),
60
+ nonce,
61
+ _raw: data,
62
+ };
63
+ });
64
+ }
65
+ getBlockByNumber(blockNumber) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ if (!blockNumber) {
68
+ blockNumber = yield this.getBlockHeight();
69
+ }
70
+ return this.getBlockByHash(yield this._getBlockHash(blockNumber));
71
+ });
72
+ }
73
+ getBlockHeight() {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const data = yield this._httpClient.nodeGet('/getblockcount');
76
+ return parseInt(data);
77
+ });
78
+ }
79
+ getTransactionByHash(txHash) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ return this.provider.getTransaction(txHash);
82
+ });
83
+ }
84
+ getBalance(_addresses) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const addresses = _addresses.map((a) => a.toString());
87
+ const _utxos = yield this.provider.getUnspentTransactions(addresses);
88
+ const utxos = (0, lodash_1.flatten)(_utxos);
89
+ return [utxos.reduce((acc, utxo) => acc.plus(utxo.value), new types_1.BigNumber(0))];
90
+ });
91
+ }
92
+ getFees() {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ if (this.feeProvider) {
95
+ return this.feeProvider.getFees();
96
+ }
97
+ else {
98
+ const [slow, average, fast] = yield Promise.all([
99
+ this._getFee(this._feeOptions.slowTargetBlocks),
100
+ this._getFee(this._feeOptions.averageTargetBlocks),
101
+ this._getFee(this._feeOptions.fastTargetBlocks),
102
+ ]);
103
+ return {
104
+ slow,
105
+ average,
106
+ fast,
107
+ };
108
+ }
109
+ });
110
+ }
111
+ sendRawTransaction(rawTransaction) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ return this._httpClient.nodePost('/tx', rawTransaction);
114
+ });
115
+ }
116
+ sendRpcRequest(_method, _params) {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ throw new Error('Method not implemented.');
119
+ });
120
+ }
121
+ _getBlockHash(blockNumber) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ return this._httpClient.nodeGet(`/getblockhash?index=${blockNumber}`);
124
+ });
125
+ }
126
+ _getFee(targetBlocks) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ const value = yield this.provider.getFeePerByte(targetBlocks);
129
+ const wait = targetBlocks * 10 * 60; // 10 minute blocks in seconds
130
+ return { fee: value, wait };
131
+ });
132
+ }
133
+ }
134
+ exports.YacoinEsploraApiProvider = YacoinEsploraApiProvider;
135
+ //# sourceMappingURL=YacoinEsploraApiProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinEsploraApiProvider.js","sourceRoot":"","sources":["../../../../lib/chain/esplora/YacoinEsploraApiProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from '@yaswap/client';
2
+ import { AddressType } from '@yaswap/types';
3
+ import { UTXO } from '../../types';
4
+ import { YacoinBaseChainProvider } from '../YacoinBaseChainProvider';
5
+ import * as EsploraTypes from './types';
6
+ export declare class YacoinEsploraBaseProvider extends YacoinBaseChainProvider {
7
+ httpClient: HttpClient;
8
+ protected _options: EsploraTypes.EsploraApiProviderOptions;
9
+ constructor(options: EsploraTypes.EsploraApiProviderOptions);
10
+ formatTransaction(tx: EsploraTypes.Transaction): Promise<import("@yaswap/types").Transaction<import("../../types").Transaction>>;
11
+ getRawTransactionByHash(transactionHash: string): Promise<string>;
12
+ getTransactionHex(transactionHash: string): Promise<string>;
13
+ getTransaction(transactionHash: string): Promise<import("@yaswap/types").Transaction<import("../../types").Transaction>>;
14
+ getFeePerByte(numberOfBlocks?: number): Promise<number>;
15
+ getUnspentTransactions(_addresses: AddressType[]): Promise<UTXO[]>;
16
+ getAddressTransactionCounts(_addresses: AddressType[]): Promise<any>;
17
+ getMinRelayFee(): Promise<number>;
18
+ private _getUnspentTransactions;
19
+ private _getAddressTransactionCount;
20
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.YacoinEsploraBaseProvider = void 0;
24
+ const client_1 = require("@yaswap/client");
25
+ const errors_1 = require("@yaswap/errors");
26
+ const lodash_1 = require("lodash");
27
+ const utils_1 = require("../../utils");
28
+ const YacoinBaseChainProvider_1 = require("../YacoinBaseChainProvider");
29
+ class YacoinEsploraBaseProvider extends YacoinBaseChainProvider_1.YacoinBaseChainProvider {
30
+ constructor(options) {
31
+ super();
32
+ this.httpClient = new client_1.HttpClient({ baseURL: options.url });
33
+ this._options = Object.assign({ numberOfBlockConfirmation: 1, defaultFeePerByte: 11 }, options);
34
+ }
35
+ formatTransaction(tx) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ // const hex = await this.getTransactionHex(tx.txid);
38
+ // const confirmations = tx.status.confirmed ? currentHeight - tx.status.block_height + 1 : 0;
39
+ // const decodedTx = decodeRawTransaction(hex, this._options.network);
40
+ // decodedTx.confirmations = confirmations;
41
+ // return normalizeTransactionObject(decodedTx, tx.fee, { hash: tx.status.block_hash, number: tx.status.block_height });
42
+ const decodedTx = (0, utils_1.decodeRawTransaction)(tx.hex, this._options.network);
43
+ decodedTx.confirmations = tx.confirmations;
44
+ return (0, utils_1.normalizeTransactionObject)(decodedTx, tx.fee, { hash: tx.block_hash, number: tx.block_height });
45
+ });
46
+ }
47
+ getRawTransactionByHash(transactionHash) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return this.getTransactionHex(transactionHash);
50
+ });
51
+ }
52
+ getTransactionHex(transactionHash) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return this.httpClient.nodeGet(`/tx/${transactionHash}/hex`);
55
+ });
56
+ }
57
+ getTransaction(transactionHash) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ let data;
60
+ try {
61
+ data = yield this.httpClient.nodeGet(`/tx/${transactionHash}`);
62
+ }
63
+ catch (e) {
64
+ if (e.name === 'NodeError' && e.message.includes('Transaction not found')) {
65
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
66
+ const { name, message } = e, attrs = __rest(e, ["name", "message"]);
67
+ throw new errors_1.TxNotFoundError(`Transaction not found: ${transactionHash}`, attrs);
68
+ }
69
+ throw e;
70
+ }
71
+ return this.formatTransaction(data);
72
+ });
73
+ }
74
+ getFeePerByte(numberOfBlocks = this._options.numberOfBlockConfirmation) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ // try {
77
+ // const feeEstimates: EsploraTypes.FeeEstimates = await this.httpClient.nodeGet('/fee-estimates');
78
+ // const blockOptions = Object.keys(feeEstimates).map((block) => parseInt(block));
79
+ // const closestBlockOption = blockOptions.reduce((prev, curr) => {
80
+ // return Math.abs(prev - numberOfBlocks) < Math.abs(curr - numberOfBlocks) ? prev : curr;
81
+ // });
82
+ // const rate = Math.round(feeEstimates[closestBlockOption]);
83
+ // return rate;
84
+ // } catch (e) {
85
+ // return this._options.defaultFeePerByte;
86
+ // }
87
+ return this._options.defaultFeePerByte;
88
+ });
89
+ }
90
+ getUnspentTransactions(_addresses) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const addresses = _addresses.map((a) => a.toString());
93
+ // const utxoSets = await Promise.all(addresses.map((addr) => this._getUnspentTransactions(addr), this));
94
+ // const utxos = flatten(utxoSets);
95
+ // return utxos;
96
+ // Remove duplicate addresses
97
+ var uniqueAddresses = [];
98
+ addresses.forEach(element => {
99
+ if (!uniqueAddresses.includes(element)) {
100
+ uniqueAddresses.push(element);
101
+ }
102
+ });
103
+ const utxoSets = yield Promise.all(uniqueAddresses.map((addr) => this._getUnspentTransactions(addr)));
104
+ const utxos = (0, lodash_1.flatten)(utxoSets);
105
+ return utxos;
106
+ });
107
+ }
108
+ getAddressTransactionCounts(_addresses) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const addresses = _addresses.map((a) => a.toString());
111
+ const transactionCountsArray = yield Promise.all(addresses.map((addr) => __awaiter(this, void 0, void 0, function* () {
112
+ const txCount = yield this._getAddressTransactionCount(addr);
113
+ return { [addr]: txCount };
114
+ })));
115
+ const transactionCounts = Object.assign({}, ...transactionCountsArray);
116
+ return transactionCounts;
117
+ });
118
+ }
119
+ getMinRelayFee() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ return 10; // min fee = 0.01 YAC/kb = 0.00001 YAC /byte = 10 satoshis / byte
122
+ });
123
+ }
124
+ _getUnspentTransactions(address) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const data = yield this.httpClient.nodeGet(`/address/${address}/utxo`);
127
+ return data.map((utxo) => (Object.assign(Object.assign({}, utxo), { address, value: utxo.value, blockHeight: utxo.status.block_height })));
128
+ });
129
+ }
130
+ _getAddressTransactionCount(address) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ const data = yield this.httpClient.nodeGet(`/address/${address}`);
133
+ return data.tx_count;
134
+ });
135
+ }
136
+ }
137
+ exports.YacoinEsploraBaseProvider = YacoinEsploraBaseProvider;
138
+ //# sourceMappingURL=YacoinEsploraBaseProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinEsploraBaseProvider.js","sourceRoot":"","sources":["../../../../lib/chain/esplora/YacoinEsploraBaseProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { AddressType } from '@yaswap/types';
2
+ import { UTXO } from '../../types';
3
+ import { YacoinEsploraBaseProvider } from './YacoinEsploraBaseProvider';
4
+ import * as EsploraTypes from './types';
5
+ export declare class YacoinEsploraBatchBaseProvider extends YacoinEsploraBaseProvider {
6
+ private _batchHttpClient;
7
+ constructor(options: EsploraTypes.EsploraBatchApiProviderOptions);
8
+ getUnspentTransactions(_addresses: AddressType[]): Promise<UTXO[]>;
9
+ getAddressTransactionCounts(_addresses: AddressType[]): Promise<{
10
+ [index: string]: number;
11
+ }>;
12
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.YacoinEsploraBatchBaseProvider = void 0;
13
+ const client_1 = require("@yaswap/client");
14
+ const types_1 = require("@yaswap/types");
15
+ const lodash_1 = require("lodash");
16
+ const YacoinEsploraBaseProvider_1 = require("./YacoinEsploraBaseProvider");
17
+ class YacoinEsploraBatchBaseProvider extends YacoinEsploraBaseProvider_1.YacoinEsploraBaseProvider {
18
+ constructor(options) {
19
+ super(options);
20
+ this._batchHttpClient = new client_1.HttpClient({ baseURL: options.batchUrl });
21
+ }
22
+ getUnspentTransactions(_addresses) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const addresses = _addresses.map((a) => a.toString());
25
+ const data = yield this._batchHttpClient.nodePost('/addresses/utxo', {
26
+ addresses: (0, lodash_1.uniq)(addresses),
27
+ });
28
+ const utxos = data.map(({ address, utxo }) => {
29
+ return utxo.map((obj) => (Object.assign(Object.assign({}, obj), { address, satoshis: obj.value, amount: new types_1.BigNumber(obj.value).dividedBy(1e6).toNumber(), blockHeight: obj.status.block_height })));
30
+ });
31
+ return (0, lodash_1.flatten)(utxos);
32
+ });
33
+ }
34
+ getAddressTransactionCounts(_addresses) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const addresses = _addresses.map((a) => a.toString());
37
+ const data = yield this._batchHttpClient.nodePost('/addresses', {
38
+ addresses: (0, lodash_1.uniq)(addresses),
39
+ });
40
+ return data.reduce((acc, obj) => {
41
+ acc[obj.address] = obj.tx_count;
42
+ return acc;
43
+ }, {});
44
+ });
45
+ }
46
+ }
47
+ exports.YacoinEsploraBatchBaseProvider = YacoinEsploraBatchBaseProvider;
48
+ //# sourceMappingURL=YacoinEsploraBatchBaseProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinEsploraBatchBaseProvider.js","sourceRoot":"","sources":["../../../../lib/chain/esplora/YacoinEsploraBatchBaseProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yCAAuD;AACvD,mCAAuC;AAEvC,2EAAwE;AAGxE,MAAa,8BAA+B,SAAQ,qDAAyB;IAGzE,YAAY,OAAoD;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,mBAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEK,sBAAsB,CAAC,UAAyB;;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAA4B,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBAC1F,SAAS,EAAE,IAAA,aAAI,EAAC,SAAS,CAAC;aAC7B,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;gBACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iCAClB,GAAG,KACN,OAAO,EACP,QAAQ,EAAE,GAAG,CAAC,KAAK,EACnB,MAAM,EAAE,IAAI,iBAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAC1D,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,IACtC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC;YAEH,OAAO,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KAAA;IAEK,2BAA2B,CAAC,UAAyB;;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE;gBACpF,SAAS,EAAE,IAAA,aAAI,EAAC,SAAS,CAAC;aAC7B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAgC,EAAE,GAAG,EAAE,EAAE;gBACzD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAChC,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC;KAAA;CACJ;AAtCD,wEAsCC"}
@@ -0,0 +1,80 @@
1
+ import { YacoinNetwork } from '../../types';
2
+ export declare type FeeEstimates = {
3
+ [index: string]: number;
4
+ };
5
+ export declare type TxStatus = {
6
+ confirmed: boolean;
7
+ block_hash?: string;
8
+ block_height?: number;
9
+ block_time?: number;
10
+ };
11
+ export declare type UTXO = {
12
+ txid: string;
13
+ vout: number;
14
+ status: TxStatus;
15
+ value: number;
16
+ };
17
+ export declare type Address = {
18
+ address: string;
19
+ funded_txo_count: number;
20
+ funded_txo_sum: number;
21
+ spent_txo_count: number;
22
+ spent_txo_sum: number;
23
+ tx_count: number;
24
+ };
25
+ export declare type Vout = {
26
+ scriptpubkey: string;
27
+ scriptpubkey_asm: string;
28
+ scriptpubkey_type: string;
29
+ scriptpubkey_address?: string;
30
+ value: number;
31
+ };
32
+ export declare type Vin = {
33
+ txid: string;
34
+ vout: number;
35
+ prevout: Vout;
36
+ scriptsig: string;
37
+ scriptsig_asm: string;
38
+ is_coinbase: boolean;
39
+ sequence: number;
40
+ };
41
+ export declare type Transaction = {
42
+ hex: string;
43
+ block_hash: string;
44
+ confirmations: number;
45
+ block_height: number;
46
+ fee: number;
47
+ };
48
+ export declare type Block = {
49
+ id: string;
50
+ height: number;
51
+ version: number;
52
+ timestamp: number;
53
+ tx_count: number;
54
+ size: number;
55
+ weight: number;
56
+ merlke_root: string;
57
+ previousblockhash: string;
58
+ mediantime: number;
59
+ nonce: number;
60
+ bits: number;
61
+ difficulty: number;
62
+ };
63
+ export declare type BatchUTXOs = {
64
+ address: string;
65
+ utxo: UTXO[];
66
+ }[];
67
+ export interface EsploraApiProviderOptions {
68
+ url: string;
69
+ network: YacoinNetwork;
70
+ numberOfBlockConfirmation?: number;
71
+ defaultFeePerByte?: number;
72
+ }
73
+ export interface EsploraBatchApiProviderOptions extends EsploraApiProviderOptions {
74
+ batchUrl: string;
75
+ }
76
+ export declare type FeeOptions = {
77
+ slowTargetBlocks?: number;
78
+ averageTargetBlocks?: number;
79
+ fastTargetBlocks?: number;
80
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/chain/esplora/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { Fee } from '@yaswap/client';
2
+ import { FeeDetails, FeeProvider } from '@yaswap/types';
3
+ export declare class YacoinFeeApiProvider extends Fee implements FeeProvider {
4
+ constructor(endpoint?: string);
5
+ getFees(): Promise<FeeDetails>;
6
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.YacoinFeeApiProvider = void 0;
13
+ // import { Fee, HttpClient } from '@yaswap/client';
14
+ const client_1 = require("@yaswap/client");
15
+ class YacoinFeeApiProvider extends client_1.Fee {
16
+ // private _httpClient: HttpClient;
17
+ constructor(endpoint = 'https://mempool.space/api/v1/fees/recommended') {
18
+ super();
19
+ // this._httpClient = new HttpClient({ baseURL: endpoint });
20
+ }
21
+ getFees() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ // const data = await this._httpClient.nodeGet('/');
24
+ return {
25
+ slow: {
26
+ // fee: data.hourFee,
27
+ fee: 11,
28
+ wait: 60 * 60,
29
+ },
30
+ average: {
31
+ // fee: data.halfHourFee,
32
+ fee: 11,
33
+ wait: 30 * 60,
34
+ },
35
+ fast: {
36
+ // fee: data.fastestFee,
37
+ fee: 11,
38
+ wait: 10 * 60,
39
+ },
40
+ };
41
+ });
42
+ }
43
+ }
44
+ exports.YacoinFeeApiProvider = YacoinFeeApiProvider;
45
+ //# sourceMappingURL=YacoinFeeApiProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YacoinFeeApiProvider.js","sourceRoot":"","sources":["../../../lib/fee/YacoinFeeApiProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,2CAAqC;AAGrC,MAAa,oBAAqB,SAAQ,YAAG;IACzC,mCAAmC;IAEnC,YAAY,QAAQ,GAAG,+CAA+C;QAClE,KAAK,EAAE,CAAC;QACR,4DAA4D;IAChE,CAAC;IAEK,OAAO;;YACT,oDAAoD;YACpD,OAAO;gBACH,IAAI,EAAE;oBACF,qBAAqB;oBACrB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,EAAE,GAAG,EAAE;iBAChB;gBACD,OAAO,EAAE;oBACL,yBAAyB;oBACzB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,EAAE,GAAG,EAAE;iBAChB;gBACD,IAAI,EAAE;oBACF,wBAAwB;oBACxB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,EAAE,GAAG,EAAE;iBAChB;aACJ,CAAC;QACN,CAAC;KAAA;CACJ;AA5BD,oDA4BC"}
@@ -0,0 +1,12 @@
1
+ export { YacoinBaseChainProvider } from './chain/YacoinBaseChainProvider';
2
+ export { YacoinEsploraApiProvider } from './chain/esplora/YacoinEsploraApiProvider';
3
+ export { YacoinEsploraBaseProvider } from './chain/esplora/YacoinEsploraBaseProvider';
4
+ export { YacoinEsploraBatchBaseProvider } from './chain/esplora/YacoinEsploraBatchBaseProvider';
5
+ export { YacoinFeeApiProvider } from './fee/YacoinFeeApiProvider';
6
+ export { YacoinNetworks } from './networks';
7
+ export { YacoinSwapBaseProvider } from './swap/YacoinSwapBaseProvider';
8
+ export { YacoinSwapEsploraProvider } from './swap/YacoinSwapEsploraProvider';
9
+ export * as YacoinTypes from './types';
10
+ export * as YacoinUtils from './utils';
11
+ export { YacoinBaseWalletProvider } from './wallet/YacoinBaseWallet';
12
+ export { YacoinHDWalletProvider } from './wallet/YacoinHDWallet';
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.YacoinHDWalletProvider = exports.YacoinBaseWalletProvider = exports.YacoinUtils = exports.YacoinTypes = exports.YacoinSwapEsploraProvider = exports.YacoinSwapBaseProvider = exports.YacoinNetworks = exports.YacoinFeeApiProvider = exports.YacoinEsploraBatchBaseProvider = exports.YacoinEsploraBaseProvider = exports.YacoinEsploraApiProvider = exports.YacoinBaseChainProvider = void 0;
27
+ var YacoinBaseChainProvider_1 = require("./chain/YacoinBaseChainProvider");
28
+ Object.defineProperty(exports, "YacoinBaseChainProvider", { enumerable: true, get: function () { return YacoinBaseChainProvider_1.YacoinBaseChainProvider; } });
29
+ var YacoinEsploraApiProvider_1 = require("./chain/esplora/YacoinEsploraApiProvider");
30
+ Object.defineProperty(exports, "YacoinEsploraApiProvider", { enumerable: true, get: function () { return YacoinEsploraApiProvider_1.YacoinEsploraApiProvider; } });
31
+ var YacoinEsploraBaseProvider_1 = require("./chain/esplora/YacoinEsploraBaseProvider");
32
+ Object.defineProperty(exports, "YacoinEsploraBaseProvider", { enumerable: true, get: function () { return YacoinEsploraBaseProvider_1.YacoinEsploraBaseProvider; } });
33
+ var YacoinEsploraBatchBaseProvider_1 = require("./chain/esplora/YacoinEsploraBatchBaseProvider");
34
+ Object.defineProperty(exports, "YacoinEsploraBatchBaseProvider", { enumerable: true, get: function () { return YacoinEsploraBatchBaseProvider_1.YacoinEsploraBatchBaseProvider; } });
35
+ var YacoinFeeApiProvider_1 = require("./fee/YacoinFeeApiProvider");
36
+ Object.defineProperty(exports, "YacoinFeeApiProvider", { enumerable: true, get: function () { return YacoinFeeApiProvider_1.YacoinFeeApiProvider; } });
37
+ var networks_1 = require("./networks");
38
+ Object.defineProperty(exports, "YacoinNetworks", { enumerable: true, get: function () { return networks_1.YacoinNetworks; } });
39
+ var YacoinSwapBaseProvider_1 = require("./swap/YacoinSwapBaseProvider");
40
+ Object.defineProperty(exports, "YacoinSwapBaseProvider", { enumerable: true, get: function () { return YacoinSwapBaseProvider_1.YacoinSwapBaseProvider; } });
41
+ var YacoinSwapEsploraProvider_1 = require("./swap/YacoinSwapEsploraProvider");
42
+ Object.defineProperty(exports, "YacoinSwapEsploraProvider", { enumerable: true, get: function () { return YacoinSwapEsploraProvider_1.YacoinSwapEsploraProvider; } });
43
+ exports.YacoinTypes = __importStar(require("./types"));
44
+ exports.YacoinUtils = __importStar(require("./utils"));
45
+ var YacoinBaseWallet_1 = require("./wallet/YacoinBaseWallet");
46
+ Object.defineProperty(exports, "YacoinBaseWalletProvider", { enumerable: true, get: function () { return YacoinBaseWallet_1.YacoinBaseWalletProvider; } });
47
+ var YacoinHDWallet_1 = require("./wallet/YacoinHDWallet");
48
+ Object.defineProperty(exports, "YacoinHDWalletProvider", { enumerable: true, get: function () { return YacoinHDWallet_1.YacoinHDWalletProvider; } });
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,qFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AACjC,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAClC,iGAAgG;AAAvF,gJAAA,8BAA8B,OAAA;AACvC,mEAAkE;AAAzD,4HAAA,oBAAoB,OAAA;AAC7B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,gIAAA,sBAAsB,OAAA;AAC/B,8EAA6E;AAApE,sIAAA,yBAAyB,OAAA;AAClC,uDAAuC;AACvC,uDAAuC;AACvC,8DAAqE;AAA5D,4HAAA,wBAAwB,OAAA;AACjC,0DAAiE;AAAxD,wHAAA,sBAAsB,OAAA"}