@poolstream/client 1.0.2-snapshot → 1.0.3-snapshot
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/balance.d.ts +5 -2
- package/dist/currency-network-module.d.ts +1 -1
- package/dist/currency-network-module.js +3 -3
- package/dist/currency-network-module.js.map +1 -1
- package/dist/network/ripple/ripple.js +1 -1
- package/dist/network/ripple/ripple.js.map +1 -1
- package/dist/network/solana/solana.js +1 -1
- package/dist/network/solana/solana.js.map +1 -1
- package/dist/network/stellar/stellar.js +3 -3
- package/dist/network/stellar/stellar.js.map +1 -1
- package/dist/network/tron/tron.js +3 -3
- package/dist/network/tron/tron.js.map +1 -1
- package/dist/poolstream.d.ts +6 -7
- package/dist/poolstream.js +8 -9
- package/dist/poolstream.js.map +1 -1
- package/dist/transaction.d.ts +2 -2
- package/package.json +1 -1
- package/src/balance.ts +4 -2
- package/src/currency-network-module.ts +3 -5
- package/src/network/ripple/ripple.ts +1 -1
- package/src/network/solana/solana.ts +1 -1
- package/src/network/stellar/stellar.ts +3 -3
- package/src/network/tron/tron.ts +3 -3
- package/src/poolstream.ts +13 -25
- package/src/transaction.ts +2 -2
package/dist/balance.d.ts
CHANGED
@@ -5,5 +5,5 @@ export interface CurrencyNetworkModule {
|
|
5
5
|
generateWalletAddress(): Promise<WalletAddress>;
|
6
6
|
readonly network: string;
|
7
7
|
}
|
8
|
-
export declare function getCoinNetworkModule(network: string, test?: boolean,
|
8
|
+
export declare function getCoinNetworkModule(network: string, test?: boolean, generic?: boolean): CurrencyNetworkModule;
|
9
9
|
export declare const networks: any;
|
@@ -2,15 +2,15 @@ import { Ripple } from "./network/ripple/ripple";
|
|
2
2
|
import { Solana } from "./network/solana/solana";
|
3
3
|
import { Stellar } from "./network/stellar/stellar";
|
4
4
|
import { Tron } from "./network/tron/tron";
|
5
|
-
export function getCoinNetworkModule(network, test = false,
|
5
|
+
export function getCoinNetworkModule(network, test = false, generic = false) {
|
6
6
|
network = network.toLowerCase();
|
7
7
|
const nw = networks[network];
|
8
8
|
if (nw) {
|
9
|
-
const instanceCurrencyModule = nw.
|
9
|
+
const instanceCurrencyModule = nw.getModule(generic);
|
10
10
|
if (instanceCurrencyModule) {
|
11
11
|
return instanceCurrencyModule(test);
|
12
12
|
}
|
13
|
-
throw new Error(`
|
13
|
+
throw new Error(`Generic module of the [${network}] not available.`);
|
14
14
|
}
|
15
15
|
throw new Error(`Network [${network}] not available.`);
|
16
16
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"currency-network-module.js","sourceRoot":"","sources":["../src/currency-network-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAW3C,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAgB,KAAK,EACrB,
|
1
|
+
{"version":3,"file":"currency-network-module.js","sourceRoot":"","sources":["../src/currency-network-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAW3C,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAgB,KAAK,EACrB,UAAmB,KAAK;IAExB,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,sBAAsB,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,kBAAkB,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAQ;IAC3B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;CACf,CAAC"}
|
@@ -27,7 +27,7 @@ export class XrpRipple extends Ripple {
|
|
27
27
|
super();
|
28
28
|
}
|
29
29
|
async signTransaction(signebleTransaction) {
|
30
|
-
const signTransactions = Promise.all(signebleTransaction.
|
30
|
+
const signTransactions = Promise.all(signebleTransaction.subs.map(async (item) => {
|
31
31
|
const seedWallet = Wallet.fromSeed(item.secret);
|
32
32
|
const Memos = item.extra ? item.extra.memos : undefined;
|
33
33
|
const Fee = signebleTransaction.fee
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/network/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,MAAM,CAAC;AAMvC,MAAM,OAAgB,MAAM;IAE1B;QADS,YAAO,GAAG,QAAQ,CAAC;IACb,CAAC;IAIhB,KAAK,CAAC,qBAAqB;QACzB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CACF;AAED,8CAA8C;AAC9C,6EAA6E;AAC7E,uBAAuB;AACvB,MAAM;AAEN,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM;AACN,IAAI;AAEJ,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,mBAAwC;QAExC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAClC,mBAAmB,CAAC,
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/network/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,MAAM,CAAC;AAMvC,MAAM,OAAgB,MAAM;IAE1B;QADS,YAAO,GAAG,QAAQ,CAAC;IACb,CAAC;IAIhB,KAAK,CAAC,qBAAqB;QACzB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CACF;AAED,8CAA8C;AAC9C,6EAA6E;AAC7E,uBAAuB;AACvB,MAAM;AAEN,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM;AACN,IAAI;AAEJ,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,mBAAwC;QAExC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAClC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG;gBACjC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACpC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,EAAE,GAAY;gBAClB,eAAe,EAAE,SAAS;gBAC1B,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK;gBACL,GAAG;aACJ,CAAC;YAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChD,CAAC;CACF"}
|
@@ -20,7 +20,7 @@ export class SolSolana extends Solana {
|
|
20
20
|
super(test);
|
21
21
|
}
|
22
22
|
async signTransaction(signebleTransaction) {
|
23
|
-
const signTransactions = Promise.all(signebleTransaction.
|
23
|
+
const signTransactions = Promise.all(signebleTransaction.subs.map(async (item) => {
|
24
24
|
const senderSecretKey = Uint8Array.from(Buffer.from(item.secret, "hex"));
|
25
25
|
const sender = Keypair.fromSecretKey(senderSecretKey);
|
26
26
|
const receiver = new PublicKey(item.to);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../src/network/solana/solana.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAgB,MAAM;IAG1B,YAAY,OAAgB,KAAK;QADxB,YAAO,GAAG,QAAQ,CAAC;QAE1B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAChD,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,qBAAqB;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,YAAY,OAAgB,KAAK;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,mBAAwC;QAExC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAClC,mBAAmB,CAAC,
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../src/network/solana/solana.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAgB,MAAM;IAG1B,YAAY,OAAgB,KAAK;QADxB,YAAO,GAAG,QAAQ,CAAC;QAE1B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAChD,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,qBAAqB;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,YAAY,OAAgB,KAAK;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,mBAAwC;QAExC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAClC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1C,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAChC,CAAC;YACF,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CACvC,aAAa,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpC,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;aAChC,CAAC,CACH,CAAC;YACF,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;YAExC,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;YAExC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzB,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,OAAgB,KAAK,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC"}
|
@@ -38,10 +38,10 @@ export class GenericStellar extends Stellar {
|
|
38
38
|
};
|
39
39
|
}
|
40
40
|
async signTransaction(transaction) {
|
41
|
-
if (transaction.
|
41
|
+
if (transaction.subs.length < 0) {
|
42
42
|
throw new Error("Incomplete transaction.");
|
43
43
|
}
|
44
|
-
const result = await Promise.all(transaction.
|
44
|
+
const result = await Promise.all(transaction.subs.map(async (item) => {
|
45
45
|
const senderAccount = await this.server.loadAccount(item.from);
|
46
46
|
let transactionBuilder = new TransactionBuilder(senderAccount, {
|
47
47
|
fee: BASE_FEE,
|
@@ -73,7 +73,7 @@ export class XlmStellar extends Stellar {
|
|
73
73
|
super(test);
|
74
74
|
}
|
75
75
|
async signTransaction(signebleTransaction) {
|
76
|
-
const signTransactions = Promise.all(signebleTransaction.
|
76
|
+
const signTransactions = Promise.all(signebleTransaction.subs.map(async (item) => {
|
77
77
|
const account = await this.server.loadAccount(item.from);
|
78
78
|
let transactionBuilder = new TransactionBuilder(account, {
|
79
79
|
fee: BASE_FEE,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stellar.js","sourceRoot":"","sources":["../../../src/network/stellar/stellar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAgB,OAAO;IAG3B,YAAY,IAAa;QADhB,YAAO,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAC9B,IAAI;YACF,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,uCAAuC,CAC5C,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,qBAAqB;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACvB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IACzC,YAA+B,YAAoB,EAAE,OAAgB,KAAK;QACxE,KAAK,CAAC,IAAI,CAAC,CAAC;QADiB,iBAAY,GAAZ,YAAY,CAAQ;QAGnD,SAAI,GAAG;YACL,mBAAmB,EAAE;gBACnB,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,oCAAoC;wBAC1C,UAAU,EACR,kEAAkE;wBACpE,EAAE,EAAE,oCAAoC;wBACxC,MAAM,EAAE,oBAAoB;qBAC7B;iBACF;aACF;SACF,CAAC;IAdF,CAAC;IAgBD,KAAK,CAAC,eAAe,CAAC,WAAgC;QACpD,IAAI,WAAW,CAAC,
|
1
|
+
{"version":3,"file":"stellar.js","sourceRoot":"","sources":["../../../src/network/stellar/stellar.ts"],"names":[],"mappings":"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"}
|
@@ -32,10 +32,10 @@ export class GenericTron extends Tron {
|
|
32
32
|
.contract()
|
33
33
|
.at(this.contractAddress);
|
34
34
|
}
|
35
|
-
if (transaction.
|
35
|
+
if (transaction.subs.length < 0) {
|
36
36
|
throw new Error("Incomplete transaction.");
|
37
37
|
}
|
38
|
-
const result = await Promise.all(transaction.
|
38
|
+
const result = await Promise.all(transaction.subs.map(async (item) => {
|
39
39
|
const from = item.from;
|
40
40
|
const parameter = [
|
41
41
|
{ type: "address", value: item.to },
|
@@ -53,7 +53,7 @@ export class TrxTron extends Tron {
|
|
53
53
|
super(test);
|
54
54
|
}
|
55
55
|
async signTransaction(signebleTransaction) {
|
56
|
-
const result = await Promise.all(signebleTransaction.
|
56
|
+
const result = await Promise.all(signebleTransaction.subs.map(async (item) => {
|
57
57
|
const transaction = await this.tronWeb.transactionBuilder.sendTrx(item.to, parseInt(item.amount), item.from);
|
58
58
|
return this.tronWeb.trx.sign(transaction, item.secret);
|
59
59
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../src/network/tron/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAKnD,MAAM,OAAgB,IAAI;IAGxB,YAAY,IAAa;QAQhB,YAAO,GAAG,MAAM,CAAC;QAPxB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzB,QAAQ,EAAE,IAAI;gBACZ,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,yBAAyB;SAC9B,CAAC,CAAC;IACL,CAAC;IAID,KAAK,CAAC,qBAAqB;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC9B,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;CAGF;AAED,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AACtD,MAAM,OAAO,WAAY,SAAQ,IAAI;IAEnC,YAA4B,eAAuB,EAAE,OAAgB,KAAK;QACxE,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,oBAAe,GAAf,eAAe,CAAQ;QADnD,iBAAY,GAAoB,IAAI,CAAC;IAGrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAgC;QACpD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO;iBACnC,QAAQ,EAAE;iBACV,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,WAAW,CAAC,
|
1
|
+
{"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../src/network/tron/tron.ts"],"names":[],"mappings":"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"}
|
package/dist/poolstream.d.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Balance } from "./balance";
|
2
|
-
import { Network } from "./network";
|
3
2
|
import { SignebleTransaction, SubmittedTransaction } from "./transaction";
|
4
3
|
import { WalletAddress } from "./walletaddress";
|
5
4
|
export interface PoolStreamOptions {
|
@@ -16,25 +15,25 @@ export declare class PoolStream {
|
|
16
15
|
private url;
|
17
16
|
private options;
|
18
17
|
constructor(url: string, options?: PoolStreamOptions);
|
19
|
-
transaction(
|
18
|
+
transaction(params: {
|
19
|
+
network: string;
|
20
|
+
txid: string;
|
21
|
+
}): Promise<SubmittedTransaction>;
|
20
22
|
info(params: {
|
21
23
|
network: string;
|
22
24
|
}): Promise<import("axios").AxiosResponse<any, any>>;
|
23
25
|
transactions(params: {
|
24
26
|
network: string;
|
25
27
|
filter?: TransactionFilter;
|
26
|
-
contractAddress?: string;
|
27
28
|
}): Promise<Array<SubmittedTransaction>>;
|
28
29
|
balances(params: {
|
29
30
|
network: string;
|
30
31
|
addresses: string | Array<string>;
|
31
|
-
|
32
|
-
|
33
|
-
networks(): Promise<Array<Network>>;
|
32
|
+
}): Promise<Array<Balance>>;
|
33
|
+
networks(): Promise<Array<string>>;
|
34
34
|
submitTransaction(params: {
|
35
35
|
network: string;
|
36
36
|
signedTransaction: string;
|
37
|
-
contractAddress?: string;
|
38
37
|
}): Promise<Array<string>>;
|
39
38
|
signedAndSubmitTransaction(params: {
|
40
39
|
network: string;
|
package/dist/poolstream.js
CHANGED
@@ -5,11 +5,11 @@ export class PoolStream {
|
|
5
5
|
this.url = url;
|
6
6
|
this.options = options;
|
7
7
|
}
|
8
|
-
async transaction(
|
8
|
+
async transaction(params) {
|
9
9
|
return await axios({
|
10
10
|
method: "get",
|
11
11
|
headers: { ...this.apiKeyHeader() },
|
12
|
-
url: `${this.url}/auth/rest/v1/${
|
12
|
+
url: `${this.url}/auth/rest/v1/${params.network}/transaction/${params.txid}`,
|
13
13
|
responseType: "json",
|
14
14
|
});
|
15
15
|
}
|
@@ -29,7 +29,7 @@ export class PoolStream {
|
|
29
29
|
return await axios({
|
30
30
|
method: "get",
|
31
31
|
headers: { ...this.apiKeyHeader() },
|
32
|
-
url: `${this.url}/auth/rest/v1/${params.network}
|
32
|
+
url: `${this.url}/auth/rest/v1/${params.network}/transactions?${query}`,
|
33
33
|
responseType: "json",
|
34
34
|
});
|
35
35
|
}
|
@@ -46,14 +46,14 @@ export class PoolStream {
|
|
46
46
|
return await axios({
|
47
47
|
method: "get",
|
48
48
|
headers: { ...this.apiKeyHeader() },
|
49
|
-
url: `${this.url}/auth/rest/v1/${params.network}
|
49
|
+
url: `${this.url}/auth/rest/v1/${params.network}/balances${query}`,
|
50
50
|
responseType: "json",
|
51
51
|
});
|
52
52
|
}
|
53
53
|
async networks() {
|
54
54
|
return await axios({
|
55
55
|
method: "get",
|
56
|
-
url: `${this.url}/networks`,
|
56
|
+
url: `${this.url}/rest/v1/networks`,
|
57
57
|
responseType: "json",
|
58
58
|
});
|
59
59
|
}
|
@@ -61,21 +61,20 @@ export class PoolStream {
|
|
61
61
|
return await axios({
|
62
62
|
method: "post",
|
63
63
|
headers: { ...this.apiKeyHeader() },
|
64
|
-
url: `${this.url}/auth/rest/v1/${params.network}
|
64
|
+
url: `${this.url}/auth/rest/v1/${params.network}/submitSignedTransaction`,
|
65
65
|
responseType: "json",
|
66
66
|
data: { signedTransaction: params.signedTransaction },
|
67
67
|
});
|
68
68
|
}
|
69
69
|
async signedAndSubmitTransaction(params) {
|
70
|
-
const signedTransaction = await getCoinNetworkModule(params.network, false, params.contractAddress).signTransaction(params.transaction);
|
70
|
+
const signedTransaction = await getCoinNetworkModule(params.network, false, !!params.contractAddress).signTransaction(params.transaction);
|
71
71
|
return await this.submitTransaction({
|
72
72
|
network: params.network,
|
73
73
|
signedTransaction,
|
74
|
-
contractAddress: params.contractAddress,
|
75
74
|
});
|
76
75
|
}
|
77
76
|
async signTransaction(params) {
|
78
|
-
return await getCoinNetworkModule(params.network, false, params.contractAddress).signTransaction(params.transaction);
|
77
|
+
return await getCoinNetworkModule(params.network, false, !!params.contractAddress).signTransaction(params.transaction);
|
79
78
|
}
|
80
79
|
async generateWalletAddress(network) {
|
81
80
|
const walletAddress = await getCoinNetworkModule(network).generateWalletAddress();
|
package/dist/poolstream.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"poolstream.js","sourceRoot":"","sources":["../src/poolstream.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"poolstream.js","sourceRoot":"","sources":["../src/poolstream.ts"],"names":[],"mappings":"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"}
|
package/dist/transaction.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
export interface Transaction {
|
2
|
-
|
2
|
+
subs: Array<TransactionItem>;
|
3
3
|
fee?: number;
|
4
4
|
extra?: any;
|
5
5
|
}
|
6
6
|
export interface SignebleTransaction extends Transaction {
|
7
|
-
|
7
|
+
subs: Array<TransactionItem & {
|
8
8
|
secret: string;
|
9
9
|
}>;
|
10
10
|
}
|
package/package.json
CHANGED
package/src/balance.ts
CHANGED
@@ -15,18 +15,16 @@ export interface CurrencyNetworkModule {
|
|
15
15
|
export function getCoinNetworkModule(
|
16
16
|
network: string,
|
17
17
|
test: boolean = false,
|
18
|
-
|
18
|
+
generic: boolean = false
|
19
19
|
): CurrencyNetworkModule {
|
20
20
|
network = network.toLowerCase();
|
21
21
|
const nw = networks[network];
|
22
22
|
if (nw) {
|
23
|
-
const instanceCurrencyModule = nw.
|
23
|
+
const instanceCurrencyModule = nw.getModule(generic);
|
24
24
|
if (instanceCurrencyModule) {
|
25
25
|
return instanceCurrencyModule(test);
|
26
26
|
}
|
27
|
-
throw new Error(
|
28
|
-
`Contract Address [${contractAddress}]. Network [${network}] not available.`
|
29
|
-
);
|
27
|
+
throw new Error(`Generic module of the [${network}] not available.`);
|
30
28
|
}
|
31
29
|
throw new Error(`Network [${network}] not available.`);
|
32
30
|
}
|
@@ -40,7 +40,7 @@ export class XrpRipple extends Ripple {
|
|
40
40
|
signebleTransaction: SignebleTransaction
|
41
41
|
): Promise<string> {
|
42
42
|
const signTransactions = Promise.all(
|
43
|
-
signebleTransaction.
|
43
|
+
signebleTransaction.subs.map(async (item) => {
|
44
44
|
const seedWallet = Wallet.fromSeed(item.secret);
|
45
45
|
|
46
46
|
const Memos = item.extra ? item.extra.memos : undefined;
|
@@ -43,7 +43,7 @@ export class SolSolana extends Solana {
|
|
43
43
|
signebleTransaction: SignebleTransaction
|
44
44
|
): Promise<string> {
|
45
45
|
const signTransactions = Promise.all(
|
46
|
-
signebleTransaction.
|
46
|
+
signebleTransaction.subs.map(async (item) => {
|
47
47
|
const senderSecretKey = Uint8Array.from(
|
48
48
|
Buffer.from(item.secret, "hex")
|
49
49
|
);
|
@@ -62,11 +62,11 @@ export class GenericStellar extends Stellar {
|
|
62
62
|
};
|
63
63
|
|
64
64
|
async signTransaction(transaction: SignebleTransaction): Promise<string> {
|
65
|
-
if (transaction.
|
65
|
+
if (transaction.subs.length < 0) {
|
66
66
|
throw new Error("Incomplete transaction.");
|
67
67
|
}
|
68
68
|
const result = await Promise.all(
|
69
|
-
transaction.
|
69
|
+
transaction.subs.map(async (item) => {
|
70
70
|
const senderAccount = await this.server.loadAccount(item.from);
|
71
71
|
|
72
72
|
let transactionBuilder = new TransactionBuilder(senderAccount, {
|
@@ -113,7 +113,7 @@ export class XlmStellar extends Stellar {
|
|
113
113
|
signebleTransaction: SignebleTransaction
|
114
114
|
): Promise<string> {
|
115
115
|
const signTransactions = Promise.all(
|
116
|
-
signebleTransaction.
|
116
|
+
signebleTransaction.subs.map(async (item) => {
|
117
117
|
const account = await this.server.loadAccount(item.from);
|
118
118
|
let transactionBuilder = new TransactionBuilder(account, {
|
119
119
|
fee: BASE_FEE,
|
package/src/network/tron/tron.ts
CHANGED
@@ -43,11 +43,11 @@ export class GenericTron extends Tron {
|
|
43
43
|
.contract()
|
44
44
|
.at(this.contractAddress);
|
45
45
|
}
|
46
|
-
if (transaction.
|
46
|
+
if (transaction.subs.length < 0) {
|
47
47
|
throw new Error("Incomplete transaction.");
|
48
48
|
}
|
49
49
|
const result = await Promise.all(
|
50
|
-
transaction.
|
50
|
+
transaction.subs.map(async (item) => {
|
51
51
|
const from = item.from;
|
52
52
|
const parameter = [
|
53
53
|
{ type: "address", value: item.to },
|
@@ -82,7 +82,7 @@ export class TrxTron extends Tron {
|
|
82
82
|
signebleTransaction: SignebleTransaction
|
83
83
|
): Promise<string> {
|
84
84
|
const result = await Promise.all(
|
85
|
-
signebleTransaction.
|
85
|
+
signebleTransaction.subs.map(async (item) => {
|
86
86
|
const transaction = await this.tronWeb.transactionBuilder.sendTrx(
|
87
87
|
item.to,
|
88
88
|
parseInt(item.amount),
|
package/src/poolstream.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Balance } from "./balance";
|
2
|
-
import { Network } from "./network";
|
3
2
|
import { getCoinNetworkModule } from "./currency-network-module";
|
4
3
|
import { SignebleTransaction, SubmittedTransaction } from "./transaction";
|
5
4
|
import { WalletAddress } from "./walletaddress";
|
@@ -20,15 +19,14 @@ export interface TransactionFilter {
|
|
20
19
|
export class PoolStream {
|
21
20
|
constructor(private url: string, private options: PoolStreamOptions = {}) {}
|
22
21
|
|
23
|
-
public async transaction(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
): Promise<SubmittedTransaction> {
|
22
|
+
public async transaction(params: {
|
23
|
+
network: string;
|
24
|
+
txid: string;
|
25
|
+
}): Promise<SubmittedTransaction> {
|
28
26
|
return await axios({
|
29
27
|
method: "get",
|
30
28
|
headers: { ...this.apiKeyHeader() },
|
31
|
-
url: `${this.url}/auth/rest/v1/${
|
29
|
+
url: `${this.url}/auth/rest/v1/${params.network}/transaction/${params.txid}`,
|
32
30
|
responseType: "json",
|
33
31
|
});
|
34
32
|
}
|
@@ -45,7 +43,6 @@ export class PoolStream {
|
|
45
43
|
public async transactions(params: {
|
46
44
|
network: string;
|
47
45
|
filter?: TransactionFilter;
|
48
|
-
contractAddress?: string;
|
49
46
|
}): Promise<Array<SubmittedTransaction>> {
|
50
47
|
const query = Object.entries(params.filter ? params.filter : {})
|
51
48
|
.filter(([_, value]) => value !== undefined)
|
@@ -54,9 +51,7 @@ export class PoolStream {
|
|
54
51
|
return await axios({
|
55
52
|
method: "get",
|
56
53
|
headers: { ...this.apiKeyHeader() },
|
57
|
-
url: `${this.url}/auth/rest/v1/${params.network}
|
58
|
-
params.contractAddress ? `/${params.contractAddress}` : ""
|
59
|
-
}/transactions?${query}`,
|
54
|
+
url: `${this.url}/auth/rest/v1/${params.network}/transactions?${query}`,
|
60
55
|
responseType: "json",
|
61
56
|
});
|
62
57
|
}
|
@@ -64,8 +59,7 @@ export class PoolStream {
|
|
64
59
|
public async balances(params: {
|
65
60
|
network: string;
|
66
61
|
addresses: string | Array<string>;
|
67
|
-
|
68
|
-
}): Promise<Balance> {
|
62
|
+
}): Promise<Array<Balance>> {
|
69
63
|
let query: string = "?";
|
70
64
|
|
71
65
|
if (typeof params.addresses === "string") {
|
@@ -78,17 +72,15 @@ export class PoolStream {
|
|
78
72
|
return await axios({
|
79
73
|
method: "get",
|
80
74
|
headers: { ...this.apiKeyHeader() },
|
81
|
-
url: `${this.url}/auth/rest/v1/${params.network}${
|
82
|
-
params.contractAddress ? `/${params.contractAddress}` : ""
|
83
|
-
}/balances${query}`,
|
75
|
+
url: `${this.url}/auth/rest/v1/${params.network}/balances${query}`,
|
84
76
|
responseType: "json",
|
85
77
|
});
|
86
78
|
}
|
87
79
|
|
88
|
-
public async networks(): Promise<Array<
|
80
|
+
public async networks(): Promise<Array<string>> {
|
89
81
|
return await axios({
|
90
82
|
method: "get",
|
91
|
-
url: `${this.url}/networks`,
|
83
|
+
url: `${this.url}/rest/v1/networks`,
|
92
84
|
responseType: "json",
|
93
85
|
});
|
94
86
|
}
|
@@ -96,14 +88,11 @@ export class PoolStream {
|
|
96
88
|
public async submitTransaction(params: {
|
97
89
|
network: string;
|
98
90
|
signedTransaction: string;
|
99
|
-
contractAddress?: string;
|
100
91
|
}): Promise<Array<string>> {
|
101
92
|
return await axios({
|
102
93
|
method: "post",
|
103
94
|
headers: { ...this.apiKeyHeader() },
|
104
|
-
url: `${this.url}/auth/rest/v1/${params.network}
|
105
|
-
params.contractAddress ? `/${params.contractAddress}` : ""
|
106
|
-
}/submitSignedTransaction`,
|
95
|
+
url: `${this.url}/auth/rest/v1/${params.network}/submitSignedTransaction`,
|
107
96
|
responseType: "json",
|
108
97
|
data: { signedTransaction: params.signedTransaction },
|
109
98
|
});
|
@@ -117,12 +106,11 @@ export class PoolStream {
|
|
117
106
|
const signedTransaction = await getCoinNetworkModule(
|
118
107
|
params.network,
|
119
108
|
false,
|
120
|
-
params.contractAddress
|
109
|
+
!!params.contractAddress
|
121
110
|
).signTransaction(params.transaction);
|
122
111
|
return await this.submitTransaction({
|
123
112
|
network: params.network,
|
124
113
|
signedTransaction,
|
125
|
-
contractAddress: params.contractAddress,
|
126
114
|
});
|
127
115
|
}
|
128
116
|
|
@@ -134,7 +122,7 @@ export class PoolStream {
|
|
134
122
|
return await getCoinNetworkModule(
|
135
123
|
params.network,
|
136
124
|
false,
|
137
|
-
params.contractAddress
|
125
|
+
!!params.contractAddress
|
138
126
|
).signTransaction(params.transaction);
|
139
127
|
}
|
140
128
|
|
package/src/transaction.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
export interface Transaction {
|
2
|
-
|
2
|
+
subs: Array<TransactionItem>;
|
3
3
|
fee?: number;
|
4
4
|
extra?: any;
|
5
5
|
}
|
6
6
|
|
7
7
|
export interface SignebleTransaction extends Transaction {
|
8
|
-
|
8
|
+
subs: Array<TransactionItem & { secret: string }>;
|
9
9
|
}
|
10
10
|
|
11
11
|
export interface TransactionItem {
|