mainnet-js 1.1.34-alpha.1 → 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.
- package/dist/index.html +1 -1
- package/dist/{mainnet-1.1.34-alpha.1.js → mainnet-2.0.0.js} +26 -338
- package/dist/module/db/SqlProvider.d.ts +2 -2
- package/dist/module/db/SqlProvider.d.ts.map +1 -1
- package/dist/module/db/SqlProvider.js +6 -24
- package/dist/module/db/SqlProvider.js.map +1 -1
- package/dist/module/index.d.ts +0 -3
- package/dist/module/index.d.ts.map +1 -1
- package/dist/module/index.js +3 -6
- package/dist/module/index.js.map +1 -1
- package/dist/module/transaction/Wif.d.ts +4 -8
- package/dist/module/transaction/Wif.d.ts.map +1 -1
- package/dist/module/transaction/Wif.js +6 -10
- package/dist/module/transaction/Wif.js.map +1 -1
- package/dist/module/util/deriveCashaddr.d.ts +1 -0
- package/dist/module/util/deriveCashaddr.d.ts.map +1 -1
- package/dist/module/util/deriveCashaddr.js +8 -1
- package/dist/module/util/deriveCashaddr.js.map +1 -1
- package/dist/module/wallet/Base.d.ts +1 -1
- package/dist/module/wallet/Base.js +1 -1
- package/dist/module/wallet/Bcmr.d.ts.map +1 -1
- package/dist/module/wallet/Bcmr.js +0 -1
- package/dist/module/wallet/Bcmr.js.map +1 -1
- package/dist/module/wallet/Util.d.ts +2 -2
- package/dist/module/wallet/Util.js +2 -2
- package/dist/module/wallet/Wif.d.ts +0 -28
- package/dist/module/wallet/Wif.d.ts.map +1 -1
- package/dist/module/wallet/Wif.js +2 -109
- package/dist/module/wallet/Wif.js.map +1 -1
- package/dist/module/wallet/createWallet.d.ts +0 -12
- package/dist/module/wallet/createWallet.d.ts.map +1 -1
- package/dist/module/wallet/createWallet.js +0 -43
- package/dist/module/wallet/createWallet.js.map +1 -1
- package/dist/module/wallet/interface.d.ts +0 -2
- package/dist/module/wallet/interface.d.ts.map +1 -1
- package/dist/module/webhook/Webhook.d.ts +1 -6
- package/dist/module/webhook/Webhook.d.ts.map +1 -1
- package/dist/module/webhook/Webhook.js +0 -4
- package/dist/module/webhook/Webhook.js.map +1 -1
- package/dist/module/webhook/index.d.ts +0 -1
- package/dist/module/webhook/index.d.ts.map +1 -1
- package/dist/module/webhook/index.js +0 -1
- package/dist/module/webhook/index.js.map +1 -1
- package/dist/module/webhook/interface.d.ts +0 -1
- package/dist/module/webhook/interface.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -10
- package/src/db/SqlProvider.test.ts +2 -18
- package/src/db/SqlProvider.ts +5 -26
- package/src/index.ts +3 -7
- package/src/transaction/Wif.ts +2 -19
- package/src/util/deriveCashaddr.test.ts +8 -0
- package/src/util/deriveCashaddr.ts +9 -0
- package/src/wallet/Base.ts +1 -1
- package/src/wallet/Bcmr.ts +0 -1
- package/src/wallet/Util.ts +2 -2
- package/src/wallet/Wif.test.ts +0 -23
- package/src/wallet/Wif.ts +2 -148
- package/src/wallet/createWallet.ts +0 -53
- package/src/wallet/interface.ts +0 -2
- package/src/webhook/Webhook.ts +4 -10
- package/src/webhook/index.ts +0 -1
- package/src/webhook/interface.ts +0 -1
- package/webpack.config.cjs +7 -7
- package/dist/module/slp/GsppProvider.d.ts +0 -55
- package/dist/module/slp/GsppProvider.d.ts.map +0 -1
- package/dist/module/slp/GsppProvider.js +0 -204
- package/dist/module/slp/GsppProvider.js.map +0 -1
- package/dist/module/slp/SlpDbProvider.d.ts +0 -52
- package/dist/module/slp/SlpDbProvider.d.ts.map +0 -1
- package/dist/module/slp/SlpDbProvider.js +0 -175
- package/dist/module/slp/SlpDbProvider.js.map +0 -1
- package/dist/module/slp/SlpDbTemplates.d.ts +0 -313
- package/dist/module/slp/SlpDbTemplates.d.ts.map +0 -1
- package/dist/module/slp/SlpDbTemplates.js +0 -375
- package/dist/module/slp/SlpDbTemplates.js.map +0 -1
- package/dist/module/slp/SlpLibAuth.d.ts +0 -210
- package/dist/module/slp/SlpLibAuth.d.ts.map +0 -1
- package/dist/module/slp/SlpLibAuth.js +0 -451
- package/dist/module/slp/SlpLibAuth.js.map +0 -1
- package/dist/module/slp/SlpProvider.d.ts +0 -24
- package/dist/module/slp/SlpProvider.d.ts.map +0 -1
- package/dist/module/slp/SlpProvider.js +0 -29
- package/dist/module/slp/SlpProvider.js.map +0 -1
- package/dist/module/slp/index.d.ts +0 -6
- package/dist/module/slp/index.d.ts.map +0 -1
- package/dist/module/slp/index.js +0 -5
- package/dist/module/slp/index.js.map +0 -1
- package/dist/module/slp/interface.d.ts +0 -114
- package/dist/module/slp/interface.d.ts.map +0 -1
- package/dist/module/slp/interface.js +0 -7
- package/dist/module/slp/interface.js.map +0 -1
- package/dist/module/util/bchaddr.d.ts +0 -2
- package/dist/module/util/bchaddr.d.ts.map +0 -1
- package/dist/module/util/bchaddr.js +0 -16
- package/dist/module/util/bchaddr.js.map +0 -1
- package/dist/module/wallet/Slp.d.ts +0 -431
- package/dist/module/wallet/Slp.d.ts.map +0 -1
- package/dist/module/wallet/Slp.js +0 -770
- package/dist/module/wallet/Slp.js.map +0 -1
- package/dist/module/webhook/WebhookSlp.d.ts +0 -15
- package/dist/module/webhook/WebhookSlp.d.ts.map +0 -1
- package/dist/module/webhook/WebhookSlp.js +0 -100
- package/dist/module/webhook/WebhookSlp.js.map +0 -1
- package/src/slp/GsppProvider.test.ts +0 -40
- package/src/slp/GsppProvider.ts +0 -329
- package/src/slp/SlpDbProvider.test.ts +0 -27
- package/src/slp/SlpDbProvider.ts +0 -291
- package/src/slp/SlpDbTemplates.ts +0 -400
- package/src/slp/SlpLibAuth.test.ts +0 -162
- package/src/slp/SlpLibAuth.ts +0 -532
- package/src/slp/SlpProvider.ts +0 -100
- package/src/slp/index.ts +0 -6
- package/src/slp/interface.ts +0 -128
- package/src/util/bchaddr.test.ts +0 -27
- package/src/util/bchaddr.ts +0 -27
- package/src/wallet/Slp.test.headless.js +0 -120
- package/src/wallet/Slp.test.ts +0 -1000
- package/src/wallet/Slp.ts +0 -1014
- package/src/webhook/WebhookSlp.test.ts +0 -288
- package/src/webhook/WebhookSlp.ts +0 -123
|
@@ -164,41 +164,6 @@ export async function createWallet(body: WalletRequestI): Promise<Wallet> {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
/**
|
|
168
|
-
* Create a new SLP aware wallet
|
|
169
|
-
* @param body A wallet request object
|
|
170
|
-
* @returns A promise to a new wallet object
|
|
171
|
-
*/
|
|
172
|
-
export async function createSlpWallet(body: WalletRequestI): Promise<Wallet> {
|
|
173
|
-
let wallet;
|
|
174
|
-
let walletType = body.type ? body.type : "seed";
|
|
175
|
-
let networkType = body.network ? body.network : "mainnet";
|
|
176
|
-
|
|
177
|
-
// Named wallets are saved in the database
|
|
178
|
-
if (body.name && body.name.length > 0) {
|
|
179
|
-
wallet = await walletClassMap[walletType][networkType]().slp.named(
|
|
180
|
-
body.name
|
|
181
|
-
);
|
|
182
|
-
if (wallet.network != networkType) {
|
|
183
|
-
throw Error(
|
|
184
|
-
`A wallet already exists with name ${body.name}, but with network ${wallet.network} not ${body.network}, per request`
|
|
185
|
-
);
|
|
186
|
-
}
|
|
187
|
-
if (wallet.walletType != walletType) {
|
|
188
|
-
throw Error(
|
|
189
|
-
`A wallet already exists with name ${body.name}, but with type ${wallet.walletType} not ${body.type}, per request`
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
|
-
return wallet;
|
|
193
|
-
}
|
|
194
|
-
// This handles unsaved/unnamed wallets
|
|
195
|
-
else {
|
|
196
|
-
wallet = await walletClassMap[walletType][networkType]().slp.newRandom();
|
|
197
|
-
wallet.walletType = walletType;
|
|
198
|
-
return wallet;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
167
|
/**
|
|
203
168
|
* Create a new wallet
|
|
204
169
|
* @param walletRequest A wallet request object
|
|
@@ -215,22 +180,6 @@ export async function createWalletResponse(
|
|
|
215
180
|
}
|
|
216
181
|
}
|
|
217
182
|
|
|
218
|
-
/**
|
|
219
|
-
* Create a new SLP aware wallet
|
|
220
|
-
* @param walletRequest A wallet request object
|
|
221
|
-
* @returns A new wallet object
|
|
222
|
-
*/
|
|
223
|
-
export async function createSlpWalletResponse(
|
|
224
|
-
walletRequest: WalletRequestI
|
|
225
|
-
): Promise<WalletResponseI> {
|
|
226
|
-
let wallet = await createSlpWallet(walletRequest);
|
|
227
|
-
if (wallet) {
|
|
228
|
-
return asJsonResponse(wallet);
|
|
229
|
-
} else {
|
|
230
|
-
throw Error("Error creating wallet");
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
183
|
/**
|
|
235
184
|
* asJsonResponse return a wallet as json
|
|
236
185
|
* @param wallet A wallet object
|
|
@@ -241,7 +190,6 @@ function asJsonResponse(wallet: Wallet): WalletResponseI {
|
|
|
241
190
|
return {
|
|
242
191
|
name: wallet.name,
|
|
243
192
|
cashaddr: wallet.cashaddr as string,
|
|
244
|
-
slpaddr: wallet.slp.slpaddr,
|
|
245
193
|
walletId: wallet.toString(),
|
|
246
194
|
...wallet.getSeed(),
|
|
247
195
|
network: wallet.network as any,
|
|
@@ -250,7 +198,6 @@ function asJsonResponse(wallet: Wallet): WalletResponseI {
|
|
|
250
198
|
return {
|
|
251
199
|
name: wallet.name,
|
|
252
200
|
cashaddr: wallet.cashaddr as string,
|
|
253
|
-
slpaddr: wallet.slp.slpaddr,
|
|
254
201
|
walletId: wallet.toString(),
|
|
255
202
|
wif: wallet.privateKeyWif,
|
|
256
203
|
network: wallet.network as any,
|
package/src/wallet/interface.ts
CHANGED
|
@@ -16,7 +16,6 @@ export interface WalletRequestI {
|
|
|
16
16
|
export interface WalletResponseI {
|
|
17
17
|
name: string;
|
|
18
18
|
cashaddr?: string;
|
|
19
|
-
slpaddr?: string;
|
|
20
19
|
address?: string;
|
|
21
20
|
walletId: string;
|
|
22
21
|
network?: NetworkEnum;
|
|
@@ -48,7 +47,6 @@ export interface WalletInfoI {
|
|
|
48
47
|
export interface SendRequestOptionsI {
|
|
49
48
|
utxoIds?: string[] | UtxoI[];
|
|
50
49
|
changeAddress?: string;
|
|
51
|
-
slpAware?: boolean; // a flag which activates utxo checking against an external slp indexer
|
|
52
50
|
slpSemiAware?: boolean; // a flag which requires an utxo to have more than 546 sats to be spendable and counted in the balance
|
|
53
51
|
queryBalance?: boolean;
|
|
54
52
|
awaitTransactionPropagation?: boolean;
|
package/src/webhook/Webhook.ts
CHANGED
|
@@ -8,11 +8,6 @@ export enum WebhookType {
|
|
|
8
8
|
transactionOut = "transaction:out",
|
|
9
9
|
transactionInOut = "transaction:in,out",
|
|
10
10
|
balance = "balance",
|
|
11
|
-
|
|
12
|
-
slpTransactionIn = "slptransaction:in",
|
|
13
|
-
slpTransactionOut = "slptransaction:out",
|
|
14
|
-
slpTransactionInOut = "slptransaction:in,out",
|
|
15
|
-
slpBalance = "slpbalance",
|
|
16
11
|
}
|
|
17
12
|
|
|
18
13
|
export enum WebhookRecurrence {
|
|
@@ -22,14 +17,13 @@ export enum WebhookRecurrence {
|
|
|
22
17
|
|
|
23
18
|
export class Webhook {
|
|
24
19
|
id?: number;
|
|
25
|
-
cashaddr!: string;
|
|
20
|
+
cashaddr!: string;
|
|
26
21
|
type!: string;
|
|
27
22
|
recurrence!: string;
|
|
28
23
|
url!: string;
|
|
29
|
-
status!: string;
|
|
30
|
-
last_height!: number;
|
|
31
|
-
tx_seen!: TxI[];
|
|
32
|
-
tokenId?: string; // slp only
|
|
24
|
+
status!: string;
|
|
25
|
+
last_height!: number;
|
|
26
|
+
tx_seen!: TxI[];
|
|
33
27
|
expires_at!: Date;
|
|
34
28
|
|
|
35
29
|
db!: SqlProvider;
|
package/src/webhook/index.ts
CHANGED
package/src/webhook/interface.ts
CHANGED
package/webpack.config.cjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const { merge } = require("webpack-merge");
|
|
2
|
-
const path = require("path");
|
|
3
2
|
const packageJson = require("./package.json");
|
|
4
3
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
5
4
|
const InjectBodyPlugin = require("inject-body-webpack-plugin").default;
|
|
@@ -8,6 +7,7 @@ const BundleAnalyzerPlugin =
|
|
|
8
7
|
const CircularDependencyPlugin = require("circular-dependency-plugin");
|
|
9
8
|
const __basedir = require("path").resolve(__dirname, "../../");
|
|
10
9
|
|
|
10
|
+
const path = require("path");
|
|
11
11
|
const webpack = require("webpack");
|
|
12
12
|
|
|
13
13
|
const baseConfig = {
|
|
@@ -96,11 +96,6 @@ const browserConfig = {
|
|
|
96
96
|
],
|
|
97
97
|
resolve: {
|
|
98
98
|
alias: {
|
|
99
|
-
ethers$: require.resolve("ethers/lib/index.js"),
|
|
100
|
-
"@ethersproject/web$": require.resolve("@ethersproject/web/lib/index.js"),
|
|
101
|
-
"@ethersproject/contracts$": require.resolve(
|
|
102
|
-
"@ethersproject/contracts/lib/index.js"
|
|
103
|
-
),
|
|
104
99
|
bufferutil: false,
|
|
105
100
|
child_process: false,
|
|
106
101
|
crypto: false,
|
|
@@ -119,10 +114,15 @@ const browserConfig = {
|
|
|
119
114
|
pg: false,
|
|
120
115
|
"pg-format": false,
|
|
121
116
|
"pg-native": false,
|
|
122
|
-
solc: false,
|
|
123
117
|
tls: false,
|
|
124
118
|
url: false,
|
|
125
119
|
zlib: false,
|
|
120
|
+
[path.resolve(__dirname, "./src/webhook/index.ts")]: false,
|
|
121
|
+
[path.resolve(__dirname, "./src/webhook/interface.ts")]: false,
|
|
122
|
+
[path.resolve(__dirname, "./src/webhook/Webhook.ts")]: false,
|
|
123
|
+
[path.resolve(__dirname, "./src/webhook/WebhookBch.ts")]: false,
|
|
124
|
+
[path.resolve(__dirname, "./src/webhook/WebhookWorker.ts")]: false,
|
|
125
|
+
[path.resolve(__dirname, "./src/db/SqlProvider.ts")]: false,
|
|
126
126
|
},
|
|
127
127
|
fallback: {
|
|
128
128
|
stream: require.resolve("stream-browserify"),
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Network } from "../interface.js";
|
|
2
|
-
import { SlpTokenBalance, SlpTokenInfo, SlpTxI, SlpUtxoI } from "./interface.js";
|
|
3
|
-
import BigNumber from "bignumber.js";
|
|
4
|
-
import { SlpCancelWatchFn, SlpProvider, SlpWatchBalanceCallback, SlpWatchTransactionCallback } from "./SlpProvider.js";
|
|
5
|
-
export declare class GsppProvider implements SlpProvider {
|
|
6
|
-
network: Network;
|
|
7
|
-
static defaultServers: {
|
|
8
|
-
mainnet: {
|
|
9
|
-
dataSource: string;
|
|
10
|
-
eventSource: string;
|
|
11
|
-
};
|
|
12
|
-
testnet: {
|
|
13
|
-
dataSource: string;
|
|
14
|
-
eventSource: string;
|
|
15
|
-
};
|
|
16
|
-
regtest: {
|
|
17
|
-
dataSource: string;
|
|
18
|
-
eventSource: string;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
servers: {
|
|
22
|
-
mainnet: {
|
|
23
|
-
dataSource: string;
|
|
24
|
-
eventSource: string;
|
|
25
|
-
};
|
|
26
|
-
testnet: {
|
|
27
|
-
dataSource: string;
|
|
28
|
-
eventSource: string;
|
|
29
|
-
};
|
|
30
|
-
regtest: {
|
|
31
|
-
dataSource: string;
|
|
32
|
-
eventSource: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
caching: boolean;
|
|
36
|
-
constructor(network?: Network);
|
|
37
|
-
SlpOutpoints(slpaddr: string): Promise<String[]>;
|
|
38
|
-
SlpUtxos(slpaddr: string): Promise<SlpUtxoI[]>;
|
|
39
|
-
SlpSpendableUtxos(slpaddr: string, tokenId?: string): Promise<SlpUtxoI[]>;
|
|
40
|
-
SlpBatonUtxos(slpaddr: string, tokenId?: string): Promise<SlpUtxoI[]>;
|
|
41
|
-
SlpTokenInfo(tokenId: string): Promise<SlpTokenInfo | undefined>;
|
|
42
|
-
SlpAllTokenBalances(slpaddr: string): Promise<SlpTokenBalance[]>;
|
|
43
|
-
SlpTokenBalance(slpaddr: string, tokenId: string): Promise<SlpTokenBalance>;
|
|
44
|
-
SlpAddressTransactionHistory(_slpaddr: string, _tokenId?: string, _limit?: number, _skip?: number): Promise<SlpTxI[]>;
|
|
45
|
-
SlpWaitForTransaction(slpaddr: string, tokenId?: string): Promise<SlpTxI>;
|
|
46
|
-
SlpWaitForBalance(value: BigNumber.Value, slpaddr: string, tokenId: string): Promise<SlpTokenBalance>;
|
|
47
|
-
SlpWatchBalance(callback: SlpWatchBalanceCallback, slpaddr: string, tokenId: string): SlpCancelWatchFn;
|
|
48
|
-
SlpWatchTransactions(callback: SlpWatchTransactionCallback, slpaddr?: string, tokenId?: string): SlpCancelWatchFn;
|
|
49
|
-
GsppQuery(queryObject: any, endpoint?: string): Promise<any>;
|
|
50
|
-
SlpSocketEventSource(queryObject: any): EventSource;
|
|
51
|
-
}
|
|
52
|
-
export declare function _convertBalanceBigNumbers(balances: SlpTokenBalance[]): SlpTokenBalance[];
|
|
53
|
-
export declare function _convertUtxoBigNumbers(utxos: SlpUtxoI[]): SlpUtxoI[];
|
|
54
|
-
export declare function _convertSlpTokenInfo(tokenInfo: SlpTokenInfo | undefined): SlpTokenInfo | undefined;
|
|
55
|
-
//# sourceMappingURL=GsppProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GsppProvider.d.ts","sourceRoot":"","sources":["../../../src/slp/GsppProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,eAAe,EACf,YAAY,EACZ,MAAM,EACN,QAAQ,EACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,2BAA2B,EAE5B,MAAM,kBAAkB,CAAC;AAW1B,qBAAa,YAAa,YAAW,WAAW;IAoB3B,OAAO,EAAE,OAAO;IAnBnC,OAAc,cAAc;;;;;;;;;;;;;MAa1B;IAEK,OAAO;;;;;;;;;;;;;MAAsC;IAE7C,OAAO,EAAE,OAAO,CAAS;gBAEb,OAAO,GAAE,OAAyB;IAkB/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOhD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAa9C,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQhB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQrE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAShE,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAYhE,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAiBrB,4BAA4B,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,MAAY,EACpB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAcZ,iBAAiB,CACrB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAgB3B,eAAe,CACb,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,gBAAgB;IAYnB,oBAAoB,CAClB,QAAQ,EAAE,2BAA2B,EACrC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,gBAAgB;IA4BZ,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0B5D,oBAAoB,CAAC,WAAW,EAAE,GAAG,GAAG,WAAW;CAM3D;AA6BD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EAAE,GAC1B,eAAe,EAAE,CAKnB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAMpE;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,GAAG,SAAS,GAClC,YAAY,GAAG,SAAS,CAS1B"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { Network } from "../interface.js";
|
|
2
|
-
import BigNumber from "bignumber.js";
|
|
3
|
-
import { _emptyTokenBalance, } from "./SlpProvider.js";
|
|
4
|
-
import axios from "axios";
|
|
5
|
-
import { btoa } from "../util/base64.js";
|
|
6
|
-
//import EventSource from "../../polyfill/eventsource.js";
|
|
7
|
-
import EventSource from "../util/eventsource.js";
|
|
8
|
-
import { getRuntimePlatform, RuntimePlatform, } from "../util/getRuntimePlatform.js";
|
|
9
|
-
export class GsppProvider {
|
|
10
|
-
constructor(network = Network.MAINNET) {
|
|
11
|
-
this.network = network;
|
|
12
|
-
this.servers = { ...GsppProvider.defaultServers };
|
|
13
|
-
this.caching = false;
|
|
14
|
-
if (getRuntimePlatform() === RuntimePlatform.node) {
|
|
15
|
-
if (process.env.GSPP_MAINNET_DATA)
|
|
16
|
-
this.servers.mainnet.dataSource = process.env.GSPP_MAINNET_DATA;
|
|
17
|
-
if (process.env.GSPP_MAINNET_EVENTS)
|
|
18
|
-
this.servers.mainnet.eventSource = process.env.GSPP_MAINNET_EVENTS;
|
|
19
|
-
if (process.env.GSPP_TESTNET_DATA)
|
|
20
|
-
this.servers.testnet.dataSource = process.env.GSPP_TESTNET_DATA;
|
|
21
|
-
if (process.env.GSPP_TESTNET_EVENTS)
|
|
22
|
-
this.servers.testnet.eventSource = process.env.GSPP_TESTNET_EVENTS;
|
|
23
|
-
if (process.env.GSPP_REGTEST_DATA)
|
|
24
|
-
this.servers.regtest.dataSource = process.env.GSPP_REGTEST_DATA;
|
|
25
|
-
if (process.env.GSPP_REGTEST_EVENTS)
|
|
26
|
-
this.servers.regtest.eventSource = process.env.GSPP_REGTEST_EVENTS;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
// all oupoints, including mint batons
|
|
30
|
-
async SlpOutpoints(slpaddr) {
|
|
31
|
-
return (await this.GsppQuery({ cashaddr: slpaddr }, "v1/graphsearch/slpoutpoints")).outpoints;
|
|
32
|
-
}
|
|
33
|
-
// all utxos, including mint batons
|
|
34
|
-
async SlpUtxos(slpaddr) {
|
|
35
|
-
const response = (await this.GsppQuery({ cashaddr: slpaddr }, "v1/graphsearch/slputxos")).utxos;
|
|
36
|
-
if (!response) {
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
return _convertUtxoBigNumbers(response);
|
|
40
|
-
}
|
|
41
|
-
// safe-spendable token utxos, without baton
|
|
42
|
-
async SlpSpendableUtxos(slpaddr, tokenId) {
|
|
43
|
-
return (await this.SlpUtxos(slpaddr)).filter((val) => val.isBaton === false && (tokenId ? val.tokenId === tokenId : true));
|
|
44
|
-
}
|
|
45
|
-
// token mint baton utxos
|
|
46
|
-
async SlpBatonUtxos(slpaddr, tokenId) {
|
|
47
|
-
return (await this.SlpUtxos(slpaddr)).filter((val) => val.isBaton === true && (tokenId ? val.tokenId === tokenId : true));
|
|
48
|
-
}
|
|
49
|
-
// look up the token information
|
|
50
|
-
async SlpTokenInfo(tokenId) {
|
|
51
|
-
const info = (await this.GsppQuery({ tokenId: tokenId }, "v1/graphsearch/slptokeninfo"));
|
|
52
|
-
return _convertSlpTokenInfo(info);
|
|
53
|
-
}
|
|
54
|
-
// get all token balances
|
|
55
|
-
async SlpAllTokenBalances(slpaddr) {
|
|
56
|
-
return _convertBalanceBigNumbers(((await this.GsppQuery({ cashaddr: slpaddr }, "v1/graphsearch/slpalltokenbalances")).balances || []));
|
|
57
|
-
}
|
|
58
|
-
// get specific token balance
|
|
59
|
-
async SlpTokenBalance(slpaddr, tokenId) {
|
|
60
|
-
const response = await this.GsppQuery({ cashaddr: slpaddr, tokenId: tokenId }, "v1/graphsearch/slptokenbalance");
|
|
61
|
-
if (!response) {
|
|
62
|
-
return _emptyTokenBalance(tokenId);
|
|
63
|
-
}
|
|
64
|
-
const balances = _convertBalanceBigNumbers([response]);
|
|
65
|
-
if (balances[0].value.isZero()) {
|
|
66
|
-
return _emptyTokenBalance(tokenId);
|
|
67
|
-
}
|
|
68
|
-
return balances[0];
|
|
69
|
-
}
|
|
70
|
-
// get all slp transactions of this address
|
|
71
|
-
async SlpAddressTransactionHistory(_slpaddr, _tokenId, _limit = 100, _skip = 0) {
|
|
72
|
-
throw "Not implemented";
|
|
73
|
-
}
|
|
74
|
-
// waits for next slp transaction to appear in mempool, code execution is halted
|
|
75
|
-
async SlpWaitForTransaction(slpaddr, tokenId) {
|
|
76
|
-
return new Promise(async (resolve) => {
|
|
77
|
-
const cancelFn = this.SlpWatchTransactions(async (tx) => {
|
|
78
|
-
await cancelFn();
|
|
79
|
-
resolve(tx);
|
|
80
|
-
}, slpaddr, tokenId);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
// waits for a certain slp token balance to be available in this wallet, code execution is halted
|
|
84
|
-
async SlpWaitForBalance(value, slpaddr, tokenId) {
|
|
85
|
-
return new Promise((resolve) => {
|
|
86
|
-
const cancelFn = this.SlpWatchBalance(async (balance) => {
|
|
87
|
-
if (balance.value.isGreaterThanOrEqualTo(new BigNumber(value))) {
|
|
88
|
-
await cancelFn();
|
|
89
|
-
resolve(balance);
|
|
90
|
-
}
|
|
91
|
-
}, slpaddr, tokenId);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// sets up a callback to be executed each time the token balance of the wallet is changed
|
|
95
|
-
SlpWatchBalance(callback, slpaddr, tokenId) {
|
|
96
|
-
return this.SlpWatchTransactions(async () => {
|
|
97
|
-
const balance = await this.SlpTokenBalance(slpaddr, tokenId);
|
|
98
|
-
callback(balance);
|
|
99
|
-
}, slpaddr, tokenId);
|
|
100
|
-
}
|
|
101
|
-
// sets up a callback to be executed each time a new transaction associated with this wallet's address is entering the mempool
|
|
102
|
-
SlpWatchTransactions(callback, slpaddr, tokenId) {
|
|
103
|
-
const eventSource = this.SlpSocketEventSource({
|
|
104
|
-
query: { slpaddr, tokenId },
|
|
105
|
-
});
|
|
106
|
-
const cancelFn = async () => {
|
|
107
|
-
eventSource.close();
|
|
108
|
-
};
|
|
109
|
-
eventSource.addEventListener("message", async (txEvent) => {
|
|
110
|
-
const data = JSON.parse(txEvent.data);
|
|
111
|
-
if (data.type === "rawtx") {
|
|
112
|
-
const tx = {
|
|
113
|
-
tx_hash: data.data.txHash,
|
|
114
|
-
height: 0,
|
|
115
|
-
details: data.data,
|
|
116
|
-
};
|
|
117
|
-
callback(tx);
|
|
118
|
-
}
|
|
119
|
-
}, false);
|
|
120
|
-
return cancelFn;
|
|
121
|
-
}
|
|
122
|
-
GsppQuery(queryObject, endpoint) {
|
|
123
|
-
if (this.caching) {
|
|
124
|
-
axiosInstance.defaults.headers = {};
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
axiosInstance.defaults.headers = noCacheHeaders;
|
|
128
|
-
}
|
|
129
|
-
// console.log(queryObject, endpoint);
|
|
130
|
-
return new Promise((resolve, reject) => {
|
|
131
|
-
const url = `${this.servers[this.network].dataSource}/${endpoint}`;
|
|
132
|
-
fetch_retry(url, queryObject)
|
|
133
|
-
.then((response) => {
|
|
134
|
-
resolve(response.data);
|
|
135
|
-
})
|
|
136
|
-
.catch((error) => {
|
|
137
|
-
if (error.isAxiosError) {
|
|
138
|
-
// console.trace(JSON.stringify(error, null, 2));
|
|
139
|
-
reject(error.response.data);
|
|
140
|
-
}
|
|
141
|
-
reject(error);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
SlpSocketEventSource(queryObject) {
|
|
146
|
-
const url = `${this.servers[this.network].eventSource}/s/${B64QueryString(queryObject)}`;
|
|
147
|
-
return new EventSource(url);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
GsppProvider.defaultServers = {
|
|
151
|
-
mainnet: {
|
|
152
|
-
dataSource: "https://gs.fountainhead.cash",
|
|
153
|
-
eventSource: "https://slpsocket.fountainhead.cash",
|
|
154
|
-
},
|
|
155
|
-
testnet: {
|
|
156
|
-
dataSource: "https://gs-testnet.fountainhead.cash",
|
|
157
|
-
eventSource: "https://slpsocket-testnet.fountainhead.cash",
|
|
158
|
-
},
|
|
159
|
-
regtest: {
|
|
160
|
-
dataSource: "http://localhost:12400",
|
|
161
|
-
eventSource: "http://localhost:12401",
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
const noCacheHeaders = {
|
|
165
|
-
"Cache-Control": "no-cache",
|
|
166
|
-
Pragma: "no-cache",
|
|
167
|
-
Expires: "0",
|
|
168
|
-
};
|
|
169
|
-
const axiosInstance = axios.create({
|
|
170
|
-
headers: noCacheHeaders,
|
|
171
|
-
});
|
|
172
|
-
const fetch_retry = (url, data = {}, n = 1) => axiosInstance.post(url, data).catch(function (error) {
|
|
173
|
-
if (n === 0) {
|
|
174
|
-
throw error;
|
|
175
|
-
}
|
|
176
|
-
return new Promise((resolve) => {
|
|
177
|
-
setTimeout(() => resolve(fetch_retry(url, data, n - 1)), 1000);
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
const B64QueryString = function (queryObject) {
|
|
181
|
-
if (!queryObject || !Object.keys(queryObject).length) {
|
|
182
|
-
throw new Error("Empty query");
|
|
183
|
-
}
|
|
184
|
-
return btoa(JSON.stringify(queryObject));
|
|
185
|
-
};
|
|
186
|
-
export function _convertBalanceBigNumbers(balances) {
|
|
187
|
-
balances.forEach((val) => (val.value = new BigNumber(val.value).shiftedBy(-1 * val.decimals)));
|
|
188
|
-
return balances;
|
|
189
|
-
}
|
|
190
|
-
export function _convertUtxoBigNumbers(utxos) {
|
|
191
|
-
utxos.forEach((val) => {
|
|
192
|
-
val.value = new BigNumber(val.value).shiftedBy(-1 * val.decimals);
|
|
193
|
-
val.satoshis = Number(val.satoshis);
|
|
194
|
-
});
|
|
195
|
-
return utxos;
|
|
196
|
-
}
|
|
197
|
-
export function _convertSlpTokenInfo(tokenInfo) {
|
|
198
|
-
if (!tokenInfo)
|
|
199
|
-
return tokenInfo;
|
|
200
|
-
tokenInfo.initialAmount = new BigNumber(tokenInfo.initialAmount).shiftedBy(-1 * tokenInfo.decimals);
|
|
201
|
-
tokenInfo.parentTokenId = tokenInfo.groupId;
|
|
202
|
-
return tokenInfo;
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=GsppProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GsppProvider.js","sourceRoot":"","sources":["../../../src/slp/GsppProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Network } from "../interface.js";
|
|
2
|
-
import { SlpDbResponse, SlpTokenBalance, SlpTokenInfo, SlpTxI, SlpUtxoI } from "./interface.js";
|
|
3
|
-
import BigNumber from "bignumber.js";
|
|
4
|
-
import { SlpCancelWatchFn, SlpProvider, SlpWatchBalanceCallback, SlpWatchTransactionCallback } from "./SlpProvider.js";
|
|
5
|
-
export declare class SlpDbProvider implements SlpProvider {
|
|
6
|
-
network: Network;
|
|
7
|
-
static defaultServers: {
|
|
8
|
-
mainnet: {
|
|
9
|
-
dataSource: string;
|
|
10
|
-
eventSource: string;
|
|
11
|
-
};
|
|
12
|
-
testnet: {
|
|
13
|
-
dataSource: string;
|
|
14
|
-
eventSource: string;
|
|
15
|
-
};
|
|
16
|
-
regtest: {
|
|
17
|
-
dataSource: string;
|
|
18
|
-
eventSource: string;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
servers: {
|
|
22
|
-
mainnet: {
|
|
23
|
-
dataSource: string;
|
|
24
|
-
eventSource: string;
|
|
25
|
-
};
|
|
26
|
-
testnet: {
|
|
27
|
-
dataSource: string;
|
|
28
|
-
eventSource: string;
|
|
29
|
-
};
|
|
30
|
-
regtest: {
|
|
31
|
-
dataSource: string;
|
|
32
|
-
eventSource: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
caching: boolean;
|
|
36
|
-
constructor(network?: Network);
|
|
37
|
-
SlpOutpoints(slpaddr: string): Promise<String[]>;
|
|
38
|
-
SlpUtxos(slpaddr: string): Promise<SlpUtxoI[]>;
|
|
39
|
-
SlpTokenInfo(tokenId: string): Promise<SlpTokenInfo | undefined>;
|
|
40
|
-
SlpSpendableUtxos(slpaddr: string, tokenId?: string): Promise<SlpUtxoI[]>;
|
|
41
|
-
SlpBatonUtxos(slpaddr: string, tokenId?: string): Promise<SlpUtxoI[]>;
|
|
42
|
-
SlpAllTokenBalances(slpaddr: string): Promise<SlpTokenBalance[]>;
|
|
43
|
-
SlpTokenBalance(slpaddr: string, tokenId: string): Promise<SlpTokenBalance>;
|
|
44
|
-
SlpAddressTransactionHistory(slpaddr: string, tokenId?: string, limit?: number, skip?: number): Promise<SlpTxI[]>;
|
|
45
|
-
SlpWaitForTransaction(slpaddr: string, tokenId?: string): Promise<SlpTxI>;
|
|
46
|
-
SlpWaitForBalance(value: BigNumber.Value, slpaddr: string, tokenId: string): Promise<SlpTokenBalance>;
|
|
47
|
-
SlpWatchBalance(callback: SlpWatchBalanceCallback, slpaddr: string, tokenId: string): SlpCancelWatchFn;
|
|
48
|
-
SlpWatchTransactions(callback: SlpWatchTransactionCallback, slpaddr: string, tokenId?: string): SlpCancelWatchFn;
|
|
49
|
-
SlpDbQuery(queryObject: any): Promise<SlpDbResponse>;
|
|
50
|
-
SlpSocketEventSource(queryObject: any): EventSource;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=SlpDbProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SlpDbProvider.d.ts","sourceRoot":"","sources":["../../../src/slp/SlpDbProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,aAAa,EAEb,eAAe,EACf,YAAY,EACZ,MAAM,EACN,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAYxB,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,2BAA2B,EAK5B,MAAM,kBAAkB,CAAC;AAY1B,qBAAa,aAAc,YAAW,WAAW;IAoB5B,OAAO,EAAE,OAAO;IAnBnC,OAAc,cAAc;;;;;;;;;;;;;MAa1B;IAEK,OAAO;;;;;;;;;;;;;MAAuC;IAE9C,OAAO,EAAE,OAAO,CAAS;gBAEb,OAAO,GAAE,OAAyB;IAkB/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMhD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO9C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAOhE,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQhB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAQrE,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAQhE,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAUrB,4BAA4B,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,GAAE,MAAY,EACnB,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAQd,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAcZ,iBAAiB,CACrB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAgB3B,eAAe,CACb,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,gBAAgB;IAYnB,oBAAoB,CAClB,QAAQ,EAAE,2BAA2B,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,gBAAgB;IA2BZ,UAAU,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBpD,oBAAoB,CAAC,WAAW,EAAE,GAAG,GAAG,WAAW;CAM3D"}
|