hive-stream 2.0.2 → 2.0.5

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 (88) hide show
  1. package/.env +3 -1
  2. package/.env.example +3 -2
  3. package/.travis.yml +11 -11
  4. package/LICENSE +21 -21
  5. package/README.md +238 -236
  6. package/dist/actions.d.ts +10 -9
  7. package/dist/actions.js +23 -15
  8. package/dist/actions.js.map +1 -1
  9. package/dist/adapters/base.adapter.d.ts +25 -21
  10. package/dist/adapters/base.adapter.js +49 -63
  11. package/dist/adapters/base.adapter.js.map +1 -1
  12. package/dist/adapters/mongodb.adapter.d.ts +37 -29
  13. package/dist/adapters/mongodb.adapter.js +158 -113
  14. package/dist/adapters/mongodb.adapter.js.map +1 -1
  15. package/dist/adapters/sqlite.adapter.d.ts +41 -23
  16. package/dist/adapters/sqlite.adapter.js +397 -121
  17. package/dist/adapters/sqlite.adapter.js.map +1 -1
  18. package/dist/api.d.ts +6 -0
  19. package/dist/api.js +56 -0
  20. package/dist/api.js.map +1 -0
  21. package/dist/config.d.ts +16 -14
  22. package/dist/config.js +18 -15
  23. package/dist/config.js.map +1 -1
  24. package/dist/contracts/coinflip.contract.d.ts +14 -0
  25. package/dist/contracts/coinflip.contract.js +95 -0
  26. package/dist/contracts/coinflip.contract.js.map +1 -0
  27. package/dist/contracts/dice.contract.d.ts +29 -29
  28. package/dist/contracts/dice.contract.js +155 -157
  29. package/dist/contracts/dice.contract.js.map +1 -1
  30. package/dist/contracts/lotto.contract.d.ts +20 -16
  31. package/dist/contracts/lotto.contract.js +246 -107
  32. package/dist/contracts/lotto.contract.js.map +1 -1
  33. package/dist/exchanges/bittrex.d.ts +6 -0
  34. package/dist/exchanges/bittrex.js +35 -0
  35. package/dist/exchanges/bittrex.js.map +1 -0
  36. package/dist/exchanges/exchange.d.ts +9 -0
  37. package/dist/exchanges/exchange.js +27 -0
  38. package/dist/exchanges/exchange.js.map +1 -0
  39. package/dist/hive-rates.d.ts +9 -0
  40. package/dist/hive-rates.js +76 -0
  41. package/dist/hive-rates.js.map +1 -0
  42. package/dist/index.d.ts +11 -10
  43. package/dist/index.js +32 -15
  44. package/dist/index.js.map +1 -1
  45. package/dist/streamer.d.ts +93 -70
  46. package/dist/streamer.js +545 -439
  47. package/dist/streamer.js.map +1 -1
  48. package/dist/test.d.ts +1 -1
  49. package/dist/test.js +25 -27
  50. package/dist/test.js.map +1 -1
  51. package/dist/types/hive-stream.d.ts +6 -6
  52. package/dist/types/hive-stream.js +2 -2
  53. package/dist/utils.d.ts +27 -14
  54. package/dist/utils.js +261 -85
  55. package/dist/utils.js.map +1 -1
  56. package/ecosystem.config.js +17 -17
  57. package/jest.config.js +9 -14
  58. package/package.json +48 -40
  59. package/test-contract-block.md +18 -18
  60. package/tests/adapters/sqlite.adapter.spec.ts +43 -0
  61. package/tests/contracts/coinflip.contract.spec.ts +132 -0
  62. package/tests/contracts/dice.contract.spec.ts +160 -0
  63. package/tests/contracts/entrants.json +729 -0
  64. package/tests/contracts/lotto.contract.spec.ts +324 -0
  65. package/tests/setup.ts +19 -0
  66. package/tests/streamer.spec.ts +152 -0
  67. package/tests/utils.spec.ts +95 -0
  68. package/tsconfig.build.json +22 -19
  69. package/tslint.json +20 -20
  70. package/wallaby.js +26 -0
  71. package/dist/adapters/file.adapter.d.ts +0 -8
  72. package/dist/adapters/file.adapter.js +0 -70
  73. package/dist/adapters/file.adapter.js.map +0 -1
  74. package/dist/test/setup.d.ts +0 -0
  75. package/dist/test/setup.js +0 -9
  76. package/dist/test/setup.js.map +0 -1
  77. package/dist/test/streamer.spec.d.ts +0 -1
  78. package/dist/test/streamer.spec.js +0 -145
  79. package/dist/test/streamer.spec.js.map +0 -1
  80. package/dist/test/utils.spec.d.ts +0 -1
  81. package/dist/test/utils.spec.js +0 -11
  82. package/dist/test/utils.spec.js.map +0 -1
  83. package/hive-stream.json +0 -1
  84. package/test/contracts/dice.contract.spec.ts +0 -253
  85. package/test/contracts/lotto.contract.spec.ts +0 -61
  86. package/test/setup.ts +0 -9
  87. package/test/streamer.spec.ts +0 -348
  88. package/test/utils.spec.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/dist/test.js CHANGED
@@ -1,28 +1,26 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const dotenv_1 = __importDefault(require("dotenv"));
7
- dotenv_1.default.config();
8
- const streamer_1 = require("./streamer");
9
- const dice_contract_1 = require("./contracts/dice.contract");
10
- const actions_1 = require("./actions");
11
- const streamer = new streamer_1.Streamer({
12
- JSON_ID: 'testdice',
13
- PAYLOAD_IDENTIFIER: 'hiveContract'
14
- });
15
- //streamer.registerAdapter(new SqliteAdapter());
16
- //streamer.registerAdapter(new MongodbAdapter('mongodb://127.0.0.1:27017', 'hivestream'));
17
- // Register contract
18
- streamer.registerContract('hivedice', new dice_contract_1.DiceContract());
19
- const testAction = new actions_1.TimeAction('hourly', 'testhourly', 'hivedice', 'testauto');
20
- const testAction2 = new actions_1.TimeAction('30s', 'test30s', 'hivedice', 'testauto');
21
- streamer.registerAction(testAction);
22
- streamer.registerAction(testAction2);
23
- // Start streaming
24
- streamer.start();
25
- // streamer.onPost((op: any) => {
26
- // console.log(op);
27
- // });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const coinflip_contract_1 = require("./contracts/coinflip.contract");
7
+ const dotenv_1 = __importDefault(require("dotenv"));
8
+ dotenv_1.default.config();
9
+ const streamer_1 = require("./streamer");
10
+ const dice_contract_1 = require("./contracts/dice.contract");
11
+ const sqlite_adapter_1 = require("./adapters/sqlite.adapter");
12
+ const streamer = new streamer_1.Streamer({
13
+ JSON_ID: 'hivestream',
14
+ PAYLOAD_IDENTIFIER: 'hivePayload'
15
+ });
16
+ streamer.registerAdapter(new sqlite_adapter_1.SqliteAdapter());
17
+ //streamer.registerAdapter(new MongodbAdapter('mongodb://127.0.0.1:27017', 'hivestream'));
18
+ // Register contract
19
+ streamer.registerContract('hivedice', new dice_contract_1.DiceContract());
20
+ streamer.registerContract('hiveflip', new coinflip_contract_1.CoinflipContract());
21
+ // Start streaming
22
+ streamer.start();
23
+ // streamer.onPost((op: any) => {
24
+ // console.log(op);
25
+ // });
28
26
  //# sourceMappingURL=test.js.map
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,yCAAsC;AACtC,6DAAyD;AAGzD,uCAAuC;AAEvC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC;IAC1B,OAAO,EAAE,UAAU;IACnB,kBAAkB,EAAE,cAAc;CACrC,CAAC,CAAC;AAEH,gDAAgD;AAChD,0FAA0F;AAE1F,oBAAoB;AACpB,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,4BAAY,EAAE,CAAC,CAAC;AAE1D,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAClF,MAAM,WAAW,GAAG,IAAI,oBAAU,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE7E,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACpC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAErC,kBAAkB;AAClB,QAAQ,CAAC,KAAK,EAAE,CAAC;AAEjB,iCAAiC;AACjC,uBAAuB;AACvB,MAAM"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;AAAA,qEAAiE;AACjE,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,yCAAsC;AACtC,6DAAyD;AAEzD,8DAA0D;AAO1D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC;IAC1B,OAAO,EAAE,YAAY;IACrB,kBAAkB,EAAE,aAAa;CACpC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,CAAC,IAAI,8BAAa,EAAE,CAAC,CAAC;AAC9C,0FAA0F;AAE1F,oBAAoB;AACpB,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,4BAAY,EAAE,CAAC,CAAC;AAC1D,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,oCAAgB,EAAE,CAAC,CAAA;AAE7D,kBAAkB;AAClB,QAAQ,CAAC,KAAK,EAAE,CAAC;AAEjB,iCAAiC;AACjC,uBAAuB;AACvB,MAAM"}
@@ -1,6 +1,6 @@
1
- export declare type TransactionType = 'comment' | 'post' | 'transfer' | 'custom_json';
2
- export interface ContractPayload {
3
- name: string;
4
- action: string;
5
- payload: any;
6
- }
1
+ export type TransactionType = 'comment' | 'post' | 'transfer' | 'custom_json';
2
+ export interface ContractPayload {
3
+ name: string;
4
+ action: string;
5
+ payload: any;
6
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=hive-stream.js.map
package/dist/utils.d.ts CHANGED
@@ -1,14 +1,27 @@
1
- import { Client, SignedTransaction } from '@hivechain/dhive';
2
- import { ConfigInterface } from './config';
3
- export declare const Utils: {
4
- sleep(milliseconds: number): Promise<unknown>;
5
- jsonParse(str: string): any;
6
- getTransaction(client: Client, blockNumber: number, transactionId: any): Promise<SignedTransaction>;
7
- verifyTransfer(transaction: SignedTransaction, from: string, to: string, amount: string): Promise<boolean>;
8
- transferHiveTokens(client: Client, config: Partial<ConfigInterface>, from: string, to: string, amount: string, symbol: string, memo?: string): Promise<import("@hivechain/dhive").TransactionConfirmation>;
9
- randomNumber(previousBlockId: any, blockId: any, transactionId: any): number;
10
- upvote(client: Client, config: Partial<ConfigInterface>, voter: string, votePercentage: string, author: string, permlink: string): Promise<import("@hivechain/dhive").TransactionConfirmation>;
11
- downvote(client: Client, config: Partial<ConfigInterface>, voter: string, votePercentage: string, author: string, permlink: string): Promise<import("@hivechain/dhive").TransactionConfirmation>;
12
- votingWeight(votePercentage: number): number;
13
- asyncForEach(array: any[], callback: any): Promise<void>;
14
- };
1
+ import { Client, SignedTransaction } from '@hiveio/dhive';
2
+ import { ConfigInterface } from './config';
3
+ export declare const Utils: {
4
+ sleep(milliseconds: number): Promise<unknown>;
5
+ shuffle(array: any): any;
6
+ roundPrecision(value: any, precision: any): number;
7
+ randomRange(min?: number, max?: number): number;
8
+ randomString(length?: number): string;
9
+ convertHiveAmount(amount: any, fiatSymbol: any, hiveSymbol: any): Promise<any>;
10
+ jsonParse(str: string): any;
11
+ getTransaction(client: Client, blockNumber: number, transactionId: any): Promise<SignedTransaction>;
12
+ verifyTransfer(transaction: SignedTransaction, from: string, to: string, amount: string): Promise<boolean>;
13
+ transferHiveTokens(client: Client, config: Partial<ConfigInterface>, from: string, to: string, amount: string, symbol: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
14
+ transferHiveTokensMultiple(client: Client, config: ConfigInterface, from: string, accounts: string[], amount: string, symbol: string, memo: string): Promise<boolean>;
15
+ getAccountTransfers(client: Client, account: string, from?: number, max?: number): Promise<any>;
16
+ getApiJson(client: Client, from?: number, limit?: number): Promise<any>;
17
+ transferHiveEngineTokens(client: Client, config: ConfigInterface, from: string, to: string, quantity: string, symbol: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
18
+ transferHiveEngineTokensMultiple(client: Client, config: ConfigInterface, from: string, accounts: any[], symbol: string, memo: string, amount?: string): Promise<void>;
19
+ issueHiveEngineTokens(client: Client, config: ConfigInterface, from: string, to: string, symbol: string, quantity: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
20
+ issueHiveEngineTokensMultiple(client: Client, config: ConfigInterface, from: string, accounts: any[], symbol: string, memo: string, amount?: string): Promise<void>;
21
+ randomNumber(previousBlockId: any, blockId: any, transactionId: any): number;
22
+ upvote(client: Client, config: Partial<ConfigInterface>, voter: string, votePercentage: string, author: string, permlink: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
23
+ downvote(client: Client, config: Partial<ConfigInterface>, voter: string, votePercentage: string, author: string, permlink: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
24
+ votingWeight(votePercentage: number): number;
25
+ asyncForEach(array: any[], callback: any): Promise<void>;
26
+ getTransferUrl(to: string, memo: string, amount: string, redirectUri: string): string;
27
+ };
package/dist/utils.js CHANGED
@@ -1,86 +1,262 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const dhive_1 = require("@hivechain/dhive");
16
- const seedrandom_1 = __importDefault(require("seedrandom"));
17
- const MAX_PAYLOAD_SIZE = 2000;
18
- const MAX_ACCOUNTS_CHECK = 999;
19
- exports.Utils = {
20
- // https://flaviocopes.com/javascript-sleep/
21
- sleep(milliseconds) {
22
- return new Promise((resolve) => setTimeout(resolve, milliseconds));
23
- },
24
- jsonParse(str) {
25
- let obj = null;
26
- try {
27
- obj = JSON.parse(str);
28
- }
29
- catch (_a) {
30
- // We don't do anything
31
- }
32
- return obj;
33
- },
34
- getTransaction(client, blockNumber, transactionId) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const block = yield client.database.getBlock(blockNumber);
37
- const exists = block.transaction_ids.includes(transactionId);
38
- const index = block.transaction_ids.indexOf(transactionId);
39
- if (!exists) {
40
- throw new Error(`Unable to find transaction ${transactionId} in block ${blockNumber}`);
41
- }
42
- return block.transactions[index];
43
- });
44
- },
45
- verifyTransfer(transaction, from, to, amount) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const operation = transaction.operations[0][1];
48
- return (operation.from === from && operation.to === to && operation.amount === amount);
49
- });
50
- },
51
- transferHiveTokens(client, config, from, to, amount, symbol, memo = '') {
52
- const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
53
- return client.broadcast.transfer({ from, to,
54
- amount: `${parseFloat(amount).toFixed(3)} ${symbol}`, memo }, key);
55
- },
56
- randomNumber(previousBlockId, blockId, transactionId) {
57
- const random = seedrandom_1.default(`${previousBlockId}${blockId}${transactionId}`).double();
58
- const randomRoll = Math.floor(random * 100) + 1;
59
- return randomRoll;
60
- },
61
- upvote(client, config, voter, votePercentage = '100.0', author, permlink) {
62
- const percentage = parseFloat(votePercentage);
63
- const key = dhive_1.PrivateKey.fromString(config.POSTING_KEY);
64
- if (percentage < 0) {
65
- throw new Error('Negative voting values are for downvotes, not upvotes');
66
- }
67
- const weight = this.votingWeight(percentage);
68
- return client.broadcast.vote({ voter, author, permlink, weight }, key);
69
- },
70
- downvote(client, config, voter, votePercentage = '100.0', author, permlink) {
71
- const weight = this.votingWeight(parseFloat(votePercentage)) * -1;
72
- const key = dhive_1.PrivateKey.fromString(config.POSTING_KEY);
73
- return client.broadcast.vote({ voter, author, permlink, weight }, key);
74
- },
75
- votingWeight(votePercentage) {
76
- return Math.min(Math.floor(parseFloat(votePercentage.toFixed(2)) * 100), 10000);
77
- },
78
- asyncForEach(array, callback) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- for (let index = 0; index < array.length; index++) {
81
- yield callback(array[index], index, array);
82
- }
83
- });
84
- }
85
- };
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Utils = void 0;
7
+ const hive_rates_1 = require("./hive-rates");
8
+ const dhive_1 = require("@hiveio/dhive");
9
+ const seedrandom_1 = __importDefault(require("seedrandom"));
10
+ const MAX_PAYLOAD_SIZE = 2000;
11
+ const MAX_ACCOUNTS_CHECK = 999;
12
+ exports.Utils = {
13
+ // https://flaviocopes.com/javascript-sleep/
14
+ sleep(milliseconds) {
15
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
16
+ },
17
+ // Fisher Yates shuffle
18
+ shuffle(array) {
19
+ let currentIndex = array.length;
20
+ let temporaryValue;
21
+ let randomIndex;
22
+ while (0 !== currentIndex) {
23
+ // Pick a remaining element...
24
+ randomIndex = Math.floor(Math.random() * currentIndex);
25
+ currentIndex -= 1;
26
+ temporaryValue = array[currentIndex];
27
+ array[currentIndex] = array[randomIndex];
28
+ array[randomIndex] = temporaryValue;
29
+ }
30
+ return array;
31
+ },
32
+ roundPrecision(value, precision) {
33
+ const NUMBER_SIGN = value >= 0 ? 1 : -1;
34
+ return parseFloat((Math.round((value * Math.pow(10, precision)) + (NUMBER_SIGN * 0.0001)) / Math.pow(10, precision)).toFixed(precision));
35
+ },
36
+ randomRange(min = 0, max = 2000) {
37
+ return (!isNaN(min) && !isNaN(max) ? Math.floor(Math.random() * (max - min + 1)) + min : NaN);
38
+ },
39
+ randomString(length = 12) {
40
+ let str = '';
41
+ const characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
42
+ const max = characters.length - 1;
43
+ for (let i = 0; i < length; i++) {
44
+ str += characters[exports.Utils.randomRange(0, max)];
45
+ }
46
+ return str;
47
+ },
48
+ async convertHiveAmount(amount, fiatSymbol, hiveSymbol) {
49
+ if (fiatSymbol === hiveSymbol) {
50
+ return amount;
51
+ }
52
+ const rates = new hive_rates_1.HiveRates();
53
+ await rates.fetchRates();
54
+ const rate = rates.fiatToHiveRate(fiatSymbol, hiveSymbol);
55
+ const total = amount / rate;
56
+ return rate > 0 ? exports.Utils.roundPrecision(total, 3) : 0;
57
+ },
58
+ jsonParse(str) {
59
+ let obj = null;
60
+ try {
61
+ obj = JSON.parse(str);
62
+ }
63
+ catch {
64
+ // We don't do anything
65
+ }
66
+ return obj;
67
+ },
68
+ async getTransaction(client, blockNumber, transactionId) {
69
+ const block = await client.database.getBlock(blockNumber);
70
+ const exists = block.transaction_ids.includes(transactionId);
71
+ const index = block.transaction_ids.indexOf(transactionId);
72
+ if (!exists) {
73
+ throw new Error(`Unable to find transaction ${transactionId} in block ${blockNumber}`);
74
+ }
75
+ return block.transactions[index];
76
+ },
77
+ async verifyTransfer(transaction, from, to, amount) {
78
+ const operation = transaction.operations[0][1];
79
+ return (operation.from === from && operation.to === to && operation.amount === amount);
80
+ },
81
+ transferHiveTokens(client, config, from, to, amount, symbol, memo = '') {
82
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
83
+ return client.broadcast.transfer({ from, to, amount: `${parseFloat(amount).toFixed(3)} ${symbol}`, memo }, key);
84
+ },
85
+ async transferHiveTokensMultiple(client, config, from, accounts, amount = '0', symbol, memo) {
86
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
87
+ let completed = 0;
88
+ for (const user of accounts) {
89
+ const to = user.replace('@', '');
90
+ await client.broadcast.transfer({ from, to, amount: `${parseFloat(amount).toFixed(3)} ${symbol}`, memo }, key);
91
+ completed++;
92
+ await this.sleep(3000);
93
+ }
94
+ if (completed === accounts.length) {
95
+ return true;
96
+ }
97
+ },
98
+ async getAccountTransfers(client, account, from = -1, max = 100) {
99
+ const history = await client.call('condenser_api', 'get_account_history', [account, from, max]);
100
+ const transfers = history.filter(tx => tx[1].op[0] === 'transfer');
101
+ const actualTransfers = transfers.reduce((arr, tx) => {
102
+ const transaction = tx[1].op[1];
103
+ const date = new Date(`${tx[1].timestamp}Z`);
104
+ transaction.date = date;
105
+ arr.push(transaction);
106
+ return arr;
107
+ }, []);
108
+ return actualTransfers;
109
+ },
110
+ async getApiJson(client, from = -1, limit = 500) {
111
+ const history = await client.call('condenser_api', 'get_account_history', ['hiveapi', from, limit]);
112
+ const customJson = history.filter(tx => tx[1].op[0] === 'custom_json');
113
+ const actualJson = customJson.reduce((arr, tx) => {
114
+ const transaction = tx[1].op[1];
115
+ const date = new Date(`${tx[1].timestamp}Z`);
116
+ transaction.date = date;
117
+ arr.push(transaction);
118
+ return arr;
119
+ }, []);
120
+ return actualJson;
121
+ },
122
+ transferHiveEngineTokens(client, config, from, to, quantity, symbol, memo = '') {
123
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
124
+ const json = {
125
+ contractName: 'tokens',
126
+ contractAction: 'transfer',
127
+ contractPayload: {
128
+ symbol: symbol.toUpperCase(),
129
+ to,
130
+ quantity,
131
+ memo,
132
+ }
133
+ };
134
+ return client.broadcast.json({ required_auths: [from], required_posting_auths: [], id: config.HIVE_ENGINE_ID, json: JSON.stringify(json) }, key);
135
+ },
136
+ async transferHiveEngineTokensMultiple(client, config, from, accounts, symbol, memo, amount = '0') {
137
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
138
+ const payloads = [[]];
139
+ let completed = 0;
140
+ for (const user of accounts) {
141
+ const account = user.account.replace('@', '');
142
+ const quantity = user.amount ? parseFloat(user.amount.replace(',', '.')).toString() : parseFloat(amount).toString();
143
+ // 0 means no quantity supplied (either in accounts or default)
144
+ if (parseFloat(quantity) > 0) {
145
+ const json = {
146
+ contractName: 'tokens',
147
+ contractAction: 'transfer',
148
+ contractPayload: {
149
+ symbol: symbol.toUpperCase(),
150
+ to: account,
151
+ quantity,
152
+ memo,
153
+ },
154
+ };
155
+ const lastPayloadSize = JSON.stringify(payloads[payloads.length - 1]).length;
156
+ const payloadSize = JSON.stringify(json).length;
157
+ if (payloadSize + lastPayloadSize > MAX_PAYLOAD_SIZE) {
158
+ payloads.push([json]);
159
+ }
160
+ else {
161
+ payloads[payloads.length - 1].push(json);
162
+ }
163
+ }
164
+ }
165
+ for (const payload of payloads) {
166
+ const requiredAuths = [from];
167
+ const requiredPostingAuths = [];
168
+ await client.broadcast.json({ required_auths: requiredAuths, required_posting_auths: requiredPostingAuths, id: config.HIVE_ENGINE_ID, json: JSON.stringify(payload) }, key);
169
+ completed++;
170
+ if (completed !== (payloads.length) && completed !== 0) {
171
+ await this.sleep(3000);
172
+ }
173
+ }
174
+ },
175
+ issueHiveEngineTokens(client, config, from, to, symbol, quantity, memo = '') {
176
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
177
+ const json = {
178
+ contractName: 'tokens',
179
+ contractAction: 'issue',
180
+ contractPayload: {
181
+ symbol,
182
+ to,
183
+ quantity,
184
+ memo,
185
+ },
186
+ };
187
+ if (config.DEBUG_MODE) {
188
+ console.log(`Issuing Hive Engine Token: `, json, JSON.stringify(json));
189
+ }
190
+ return client.broadcast.json({ required_auths: [from], required_posting_auths: [], id: config.HIVE_ENGINE_ID, json: JSON.stringify(json) }, key);
191
+ },
192
+ async issueHiveEngineTokensMultiple(client, config, from, accounts, symbol, memo, amount = '0') {
193
+ const key = dhive_1.PrivateKey.fromString(config.ACTIVE_KEY);
194
+ const payloads = [[]];
195
+ let completed = 0;
196
+ for (const user of accounts) {
197
+ const to = user.account.replace('@', '');
198
+ const quantity = user.amount ? parseFloat(user.amount.replace(',', '.')).toString() : parseFloat(amount).toString();
199
+ // 0 means no quantity supplied (either in accounts or default)
200
+ if (parseFloat(quantity) > 0) {
201
+ const json = {
202
+ contractName: 'tokens',
203
+ contractAction: 'issue',
204
+ contractPayload: {
205
+ symbol: symbol.toUpperCase(),
206
+ to,
207
+ quantity,
208
+ memo,
209
+ },
210
+ };
211
+ const lastPayloadSize = JSON.stringify(payloads[payloads.length - 1]).length;
212
+ const payloadSize = JSON.stringify(json).length;
213
+ if (payloadSize + lastPayloadSize > MAX_PAYLOAD_SIZE) {
214
+ payloads.push([json]);
215
+ }
216
+ else {
217
+ payloads[payloads.length - 1].push(json);
218
+ }
219
+ }
220
+ }
221
+ for (const payload of payloads) {
222
+ const requiredAuths = [from];
223
+ const requiredPostingAuths = null;
224
+ await client.broadcast.json({ required_auths: requiredAuths, required_posting_auths: requiredPostingAuths, id: config.HIVE_ENGINE_ID, json: JSON.stringify(payload) }, key);
225
+ completed++;
226
+ if (completed !== (payloads.length) && completed !== 0) {
227
+ await this.sleep(3000);
228
+ }
229
+ }
230
+ },
231
+ randomNumber(previousBlockId, blockId, transactionId) {
232
+ const random = (0, seedrandom_1.default)(`${previousBlockId}${blockId}${transactionId}`).double();
233
+ const randomRoll = Math.floor(random * 100) + 1;
234
+ return randomRoll;
235
+ },
236
+ upvote(client, config, voter, votePercentage = '100.0', author, permlink) {
237
+ const percentage = parseFloat(votePercentage);
238
+ const key = dhive_1.PrivateKey.fromString(config.POSTING_KEY);
239
+ if (percentage < 0) {
240
+ throw new Error('Negative voting values are for downvotes, not upvotes');
241
+ }
242
+ const weight = this.votingWeight(percentage);
243
+ return client.broadcast.vote({ voter, author, permlink, weight }, key);
244
+ },
245
+ downvote(client, config, voter, votePercentage = '100.0', author, permlink) {
246
+ const weight = this.votingWeight(parseFloat(votePercentage)) * -1;
247
+ const key = dhive_1.PrivateKey.fromString(config.POSTING_KEY);
248
+ return client.broadcast.vote({ voter, author, permlink, weight }, key);
249
+ },
250
+ votingWeight(votePercentage) {
251
+ return Math.min(Math.floor(parseFloat(votePercentage.toFixed(2)) * 100), 10000);
252
+ },
253
+ async asyncForEach(array, callback) {
254
+ for (let index = 0; index < array.length; index++) {
255
+ await callback(array[index], index, array);
256
+ }
257
+ },
258
+ getTransferUrl(to, memo, amount, redirectUri) {
259
+ return `https://hivesigner.com/sign/transfer?to=${to}&memo=${memo}&amount=${amount}&redirect_uri=${redirectUri}`;
260
+ }
261
+ };
86
262
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}