hive-stream 3.0.2 → 3.0.3
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/DOCUMENTATION.md +50 -2
- package/README.md +44 -3
- package/dist/adapters/base.adapter.d.ts +5 -0
- package/dist/adapters/base.adapter.js +9 -0
- package/dist/adapters/base.adapter.js.map +1 -1
- package/dist/adapters/mongodb.adapter.d.ts +6 -6
- package/dist/adapters/mongodb.adapter.js +36 -21
- package/dist/adapters/mongodb.adapter.js.map +1 -1
- package/dist/adapters/postgresql.adapter.d.ts +7 -0
- package/dist/adapters/postgresql.adapter.js +46 -19
- package/dist/adapters/postgresql.adapter.js.map +1 -1
- package/dist/adapters/sqlite.adapter.d.ts +4 -0
- package/dist/adapters/sqlite.adapter.js +10 -0
- package/dist/adapters/sqlite.adapter.js.map +1 -1
- package/dist/api.d.ts +13 -3
- package/dist/api.js +96 -62
- package/dist/api.js.map +1 -1
- package/dist/config.d.ts +7 -1
- package/dist/config.js +7 -1
- package/dist/config.js.map +1 -1
- package/dist/contracts/auctionhouse.contract.d.ts +4 -0
- package/dist/contracts/auctionhouse.contract.js +234 -0
- package/dist/contracts/auctionhouse.contract.js.map +1 -0
- package/dist/contracts/booking.contract.d.ts +4 -0
- package/dist/contracts/booking.contract.js +225 -0
- package/dist/contracts/booking.contract.js.map +1 -0
- package/dist/contracts/bountyboard.contract.d.ts +4 -0
- package/dist/contracts/bountyboard.contract.js +233 -0
- package/dist/contracts/bountyboard.contract.js.map +1 -0
- package/dist/contracts/bundlemarketplace.contract.d.ts +4 -0
- package/dist/contracts/bundlemarketplace.contract.js +195 -0
- package/dist/contracts/bundlemarketplace.contract.js.map +1 -0
- package/dist/contracts/charitymatch.contract.d.ts +4 -0
- package/dist/contracts/charitymatch.contract.js +172 -0
- package/dist/contracts/charitymatch.contract.js.map +1 -0
- package/dist/contracts/coinflip.contract.js +7 -1
- package/dist/contracts/coinflip.contract.js.map +1 -1
- package/dist/contracts/crowdfund.contract.d.ts +4 -0
- package/dist/contracts/crowdfund.contract.js +290 -0
- package/dist/contracts/crowdfund.contract.js.map +1 -0
- package/dist/contracts/dcabot.contract.d.ts +4 -0
- package/dist/contracts/dcabot.contract.js +217 -0
- package/dist/contracts/dcabot.contract.js.map +1 -0
- package/dist/contracts/dice.contract.js +7 -1
- package/dist/contracts/dice.contract.js.map +1 -1
- package/dist/contracts/domainregistry.contract.d.ts +4 -0
- package/dist/contracts/domainregistry.contract.js +232 -0
- package/dist/contracts/domainregistry.contract.js.map +1 -0
- package/dist/contracts/exchange.contract.js +209 -168
- package/dist/contracts/exchange.contract.js.map +1 -1
- package/dist/contracts/fanclub.contract.d.ts +4 -0
- package/dist/contracts/fanclub.contract.js +193 -0
- package/dist/contracts/fanclub.contract.js.map +1 -0
- package/dist/contracts/giftcard.contract.d.ts +4 -0
- package/dist/contracts/giftcard.contract.js +158 -0
- package/dist/contracts/giftcard.contract.js.map +1 -0
- package/dist/contracts/grantrounds.contract.d.ts +4 -0
- package/dist/contracts/grantrounds.contract.js +265 -0
- package/dist/contracts/grantrounds.contract.js.map +1 -0
- package/dist/contracts/groupbuy.contract.d.ts +4 -0
- package/dist/contracts/groupbuy.contract.js +198 -0
- package/dist/contracts/groupbuy.contract.js.map +1 -0
- package/dist/contracts/helpers.d.ts +64 -0
- package/dist/contracts/helpers.js +159 -0
- package/dist/contracts/helpers.js.map +1 -0
- package/dist/contracts/insurancepool.contract.d.ts +4 -0
- package/dist/contracts/insurancepool.contract.js +281 -0
- package/dist/contracts/insurancepool.contract.js.map +1 -0
- package/dist/contracts/invoice.contract.d.ts +4 -0
- package/dist/contracts/invoice.contract.js +193 -0
- package/dist/contracts/invoice.contract.js.map +1 -0
- package/dist/contracts/launchpad.contract.d.ts +4 -0
- package/dist/contracts/launchpad.contract.js +225 -0
- package/dist/contracts/launchpad.contract.js.map +1 -0
- package/dist/contracts/lotto.contract.js +53 -37
- package/dist/contracts/lotto.contract.js.map +1 -1
- package/dist/contracts/multisigtreasury.contract.d.ts +4 -0
- package/dist/contracts/multisigtreasury.contract.js +245 -0
- package/dist/contracts/multisigtreasury.contract.js.map +1 -0
- package/dist/contracts/nft.contract.d.ts +1 -0
- package/dist/contracts/nft.contract.js +236 -192
- package/dist/contracts/nft.contract.js.map +1 -1
- package/dist/contracts/oraclebounty.contract.d.ts +4 -0
- package/dist/contracts/oraclebounty.contract.js +250 -0
- package/dist/contracts/oraclebounty.contract.js.map +1 -0
- package/dist/contracts/payroll.contract.d.ts +4 -0
- package/dist/contracts/payroll.contract.js +232 -0
- package/dist/contracts/payroll.contract.js.map +1 -0
- package/dist/contracts/paywall.contract.d.ts +4 -0
- package/dist/contracts/paywall.contract.js +185 -0
- package/dist/contracts/paywall.contract.js.map +1 -0
- package/dist/contracts/poll.contract.js +2 -0
- package/dist/contracts/poll.contract.js.map +1 -1
- package/dist/contracts/predictionmarket.contract.d.ts +4 -0
- package/dist/contracts/predictionmarket.contract.js +213 -0
- package/dist/contracts/predictionmarket.contract.js.map +1 -0
- package/dist/contracts/proposaltimelock.contract.d.ts +4 -0
- package/dist/contracts/proposaltimelock.contract.js +250 -0
- package/dist/contracts/proposaltimelock.contract.js.map +1 -0
- package/dist/contracts/questpass.contract.d.ts +4 -0
- package/dist/contracts/questpass.contract.js +214 -0
- package/dist/contracts/questpass.contract.js.map +1 -0
- package/dist/contracts/referral.contract.d.ts +4 -0
- package/dist/contracts/referral.contract.js +238 -0
- package/dist/contracts/referral.contract.js.map +1 -0
- package/dist/contracts/rental.contract.d.ts +4 -0
- package/dist/contracts/rental.contract.js +221 -0
- package/dist/contracts/rental.contract.js.map +1 -0
- package/dist/contracts/revenuesplit.contract.d.ts +4 -0
- package/dist/contracts/revenuesplit.contract.js +211 -0
- package/dist/contracts/revenuesplit.contract.js.map +1 -0
- package/dist/contracts/rps.contract.js +17 -1
- package/dist/contracts/rps.contract.js.map +1 -1
- package/dist/contracts/savings.contract.d.ts +4 -0
- package/dist/contracts/savings.contract.js +208 -0
- package/dist/contracts/savings.contract.js.map +1 -0
- package/dist/contracts/subscription.contract.d.ts +4 -0
- package/dist/contracts/subscription.contract.js +241 -0
- package/dist/contracts/subscription.contract.js.map +1 -0
- package/dist/contracts/sweepstakes.contract.d.ts +4 -0
- package/dist/contracts/sweepstakes.contract.js +209 -0
- package/dist/contracts/sweepstakes.contract.js.map +1 -0
- package/dist/contracts/ticketing.contract.d.ts +4 -0
- package/dist/contracts/ticketing.contract.js +185 -0
- package/dist/contracts/ticketing.contract.js.map +1 -0
- package/dist/contracts/tipjar.contract.js +2 -0
- package/dist/contracts/tipjar.contract.js.map +1 -1
- package/dist/contracts/token.contract.js +135 -125
- package/dist/contracts/token.contract.js.map +1 -1
- package/dist/index.d.ts +39 -0
- package/dist/index.js +71 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +7 -0
- package/dist/metadata.js +64 -1
- package/dist/metadata.js.map +1 -1
- package/dist/providers/block-provider.d.ts +22 -0
- package/dist/providers/block-provider.js +3 -0
- package/dist/providers/block-provider.js.map +1 -0
- package/dist/providers/haf-client.d.ts +30 -0
- package/dist/providers/haf-client.js +119 -0
- package/dist/providers/haf-client.js.map +1 -0
- package/dist/providers/haf-provider.d.ts +49 -0
- package/dist/providers/haf-provider.js +256 -0
- package/dist/providers/haf-provider.js.map +1 -0
- package/dist/providers/hive-provider.d.ts +13 -0
- package/dist/providers/hive-provider.js +25 -0
- package/dist/providers/hive-provider.js.map +1 -0
- package/dist/providers/index.d.ts +4 -0
- package/dist/providers/index.js +21 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/streamer.d.ts +21 -1
- package/dist/streamer.js +187 -62
- package/dist/streamer.js.map +1 -1
- package/dist/utils.js +11 -2
- package/dist/utils.js.map +1 -1
- package/package.json +16 -1
- package/.claude/settings.local.json +0 -12
- package/.env.example +0 -3
- package/.travis.yml +0 -11
- package/AGENTS.md +0 -35
- package/CLAUDE.md +0 -75
- package/ecosystem.config.js +0 -17
- package/examples/contracts/README.md +0 -8
- package/examples/contracts/exchange.ts +0 -38
- package/examples/contracts/poll.ts +0 -21
- package/examples/contracts/rps.ts +0 -19
- package/examples/contracts/tipjar.ts +0 -19
- package/jest.config.js +0 -9
- package/test-contract-block.md +0 -19
- package/tests/actions.spec.ts +0 -252
- package/tests/adapters/actions-persistence.spec.ts +0 -144
- package/tests/adapters/postgresql.adapter.spec.ts +0 -127
- package/tests/adapters/sqlite.adapter.spec.ts +0 -181
- package/tests/config-input.spec.ts +0 -90
- package/tests/contracts/coinflip.contract.spec.ts +0 -94
- package/tests/contracts/dice.contract.spec.ts +0 -87
- package/tests/contracts/entrants.json +0 -729
- package/tests/contracts/exchange.contract.spec.ts +0 -84
- package/tests/contracts/lotto.contract.spec.ts +0 -59
- package/tests/contracts/nft.contract.spec.ts +0 -948
- package/tests/contracts/token.contract.spec.ts +0 -90
- package/tests/exchanges/coingecko.exchange.spec.ts +0 -169
- package/tests/exchanges/exchange.base.spec.ts +0 -246
- package/tests/helpers/mock-adapter.ts +0 -214
- package/tests/helpers/mock-fetch.ts +0 -165
- package/tests/hive-chain-features.spec.ts +0 -319
- package/tests/hive-rates.spec.ts +0 -443
- package/tests/integration/hive-rates.integration.spec.ts +0 -35
- package/tests/metadata.spec.ts +0 -63
- package/tests/setup.ts +0 -30
- package/tests/streamer-actions.spec.ts +0 -274
- package/tests/streamer.spec.ts +0 -342
- package/tests/types/rates.spec.ts +0 -216
- package/tests/utils.spec.ts +0 -113
- package/tsconfig.build.json +0 -4
- package/tslint.json +0 -21
- package/wallaby.js +0 -26
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HafProvider = exports.HAF_OP_TYPES = void 0;
|
|
4
|
+
const pg_1 = require("pg");
|
|
5
|
+
/**
|
|
6
|
+
* Maps HAF numeric operation type IDs to Hive operation string names.
|
|
7
|
+
* Only includes the most commonly used operations.
|
|
8
|
+
*/
|
|
9
|
+
exports.HAF_OP_TYPES = {
|
|
10
|
+
0: 'vote',
|
|
11
|
+
1: 'comment',
|
|
12
|
+
2: 'transfer',
|
|
13
|
+
3: 'transfer_to_vesting',
|
|
14
|
+
4: 'withdraw_vesting',
|
|
15
|
+
5: 'limit_order_create',
|
|
16
|
+
6: 'limit_order_cancel',
|
|
17
|
+
7: 'feed_publish',
|
|
18
|
+
8: 'convert',
|
|
19
|
+
9: 'account_create',
|
|
20
|
+
10: 'account_update',
|
|
21
|
+
11: 'witness_update',
|
|
22
|
+
12: 'account_witness_vote',
|
|
23
|
+
13: 'account_witness_proxy',
|
|
24
|
+
14: 'pow',
|
|
25
|
+
15: 'custom',
|
|
26
|
+
16: 'witness_block_approve',
|
|
27
|
+
17: 'delete_comment',
|
|
28
|
+
18: 'custom_json',
|
|
29
|
+
19: 'comment_options',
|
|
30
|
+
20: 'set_withdraw_vesting_route',
|
|
31
|
+
21: 'limit_order_create2',
|
|
32
|
+
22: 'claim_account',
|
|
33
|
+
23: 'create_claimed_account',
|
|
34
|
+
24: 'request_account_recovery',
|
|
35
|
+
25: 'recover_account',
|
|
36
|
+
26: 'change_recovery_account',
|
|
37
|
+
27: 'escrow_transfer',
|
|
38
|
+
28: 'escrow_dispute',
|
|
39
|
+
29: 'escrow_release',
|
|
40
|
+
30: 'pow2',
|
|
41
|
+
31: 'escrow_approve',
|
|
42
|
+
32: 'transfer_to_savings',
|
|
43
|
+
33: 'transfer_from_savings',
|
|
44
|
+
34: 'cancel_transfer_from_savings',
|
|
45
|
+
35: 'custom_binary',
|
|
46
|
+
36: 'decline_voting_rights',
|
|
47
|
+
37: 'reset_account',
|
|
48
|
+
38: 'set_reset_account',
|
|
49
|
+
39: 'claim_reward_balance',
|
|
50
|
+
40: 'delegate_vesting_shares',
|
|
51
|
+
41: 'account_create_with_delegation',
|
|
52
|
+
42: 'witness_set_properties',
|
|
53
|
+
43: 'account_update2',
|
|
54
|
+
44: 'create_proposal',
|
|
55
|
+
45: 'update_proposal_votes',
|
|
56
|
+
46: 'remove_proposal',
|
|
57
|
+
47: 'update_proposal',
|
|
58
|
+
48: 'collateralized_convert',
|
|
59
|
+
49: 'recurrent_transfer',
|
|
60
|
+
};
|
|
61
|
+
const DEFAULT_CONFIG = {
|
|
62
|
+
host: 'hafsql-sql.mahdiyari.info',
|
|
63
|
+
port: 5432,
|
|
64
|
+
user: 'hafsql_public',
|
|
65
|
+
password: 'hafsql_public',
|
|
66
|
+
database: 'haf_block_log',
|
|
67
|
+
ssl: undefined,
|
|
68
|
+
connectionString: undefined,
|
|
69
|
+
schema: 'hafsql',
|
|
70
|
+
useHafContext: false,
|
|
71
|
+
hafAppName: undefined,
|
|
72
|
+
statementTimeout: '90s',
|
|
73
|
+
};
|
|
74
|
+
class HafProvider {
|
|
75
|
+
client;
|
|
76
|
+
config;
|
|
77
|
+
connected = false;
|
|
78
|
+
constructor(config = {}) {
|
|
79
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
80
|
+
this.client = this.buildPgClient();
|
|
81
|
+
}
|
|
82
|
+
buildPgClient() {
|
|
83
|
+
const pgOptions = {};
|
|
84
|
+
if (this.config.connectionString) {
|
|
85
|
+
pgOptions.connectionString = this.config.connectionString;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
pgOptions.host = this.config.host;
|
|
89
|
+
pgOptions.port = this.config.port;
|
|
90
|
+
pgOptions.user = this.config.user;
|
|
91
|
+
pgOptions.password = this.config.password;
|
|
92
|
+
pgOptions.database = this.config.database;
|
|
93
|
+
}
|
|
94
|
+
if (this.config.ssl !== undefined) {
|
|
95
|
+
pgOptions.ssl = this.config.ssl;
|
|
96
|
+
}
|
|
97
|
+
return new pg_1.Client(pgOptions);
|
|
98
|
+
}
|
|
99
|
+
async create() {
|
|
100
|
+
// pg Client cannot reconnect after end(); create a fresh one
|
|
101
|
+
if (!this.connected) {
|
|
102
|
+
this.client = this.buildPgClient();
|
|
103
|
+
}
|
|
104
|
+
await this.client.connect();
|
|
105
|
+
this.connected = true;
|
|
106
|
+
await this.client.query(`SET statement_timeout = '${this.config.statementTimeout}'`);
|
|
107
|
+
if (this.config.useHafContext && this.config.hafAppName) {
|
|
108
|
+
await this.client.query(`SELECT hive.app_create_context($1)`, [this.config.hafAppName]);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async getDynamicGlobalProperties() {
|
|
112
|
+
const result = await this.client.query(`SELECT num AS head_block_number, created_at AS time
|
|
113
|
+
FROM hafbe_bal.blocks_view
|
|
114
|
+
WHERE num = (SELECT MAX(num) FROM hafbe_bal.blocks_view)`);
|
|
115
|
+
if (result.rows.length === 0) {
|
|
116
|
+
throw new Error('No blocks found in HAF database');
|
|
117
|
+
}
|
|
118
|
+
const row = result.rows[0];
|
|
119
|
+
return {
|
|
120
|
+
head_block_number: row.head_block_number,
|
|
121
|
+
time: row.time instanceof Date ? row.time.toISOString().replace('Z', '') : String(row.time),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* NAI asset code to symbol name mapping.
|
|
126
|
+
*/
|
|
127
|
+
static NAI_MAP = {
|
|
128
|
+
'@@000000013': 'HIVE',
|
|
129
|
+
'@@000000021': 'HBD',
|
|
130
|
+
'@@000000037': 'VESTS',
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Converts a HAF structured amount object to a dhive-style string.
|
|
134
|
+
* HAF: { nai: "@@000000021", amount: "100000", precision: 3 }
|
|
135
|
+
* dhive: "100.000 HBD"
|
|
136
|
+
*/
|
|
137
|
+
static formatAmount(amount) {
|
|
138
|
+
if (typeof amount === 'string') {
|
|
139
|
+
return amount;
|
|
140
|
+
}
|
|
141
|
+
if (amount && typeof amount === 'object' && amount.nai && amount.amount !== undefined) {
|
|
142
|
+
const symbol = HafProvider.NAI_MAP[amount.nai] || amount.nai;
|
|
143
|
+
const precision = amount.precision || 0;
|
|
144
|
+
const raw = String(amount.amount);
|
|
145
|
+
if (precision === 0) {
|
|
146
|
+
return `${raw} ${symbol}`;
|
|
147
|
+
}
|
|
148
|
+
const padded = raw.padStart(precision + 1, '0');
|
|
149
|
+
const whole = padded.slice(0, -precision);
|
|
150
|
+
const decimal = padded.slice(-precision);
|
|
151
|
+
return `${whole}.${decimal} ${symbol}`;
|
|
152
|
+
}
|
|
153
|
+
return String(amount);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Walks an operation body and converts any structured amount fields
|
|
157
|
+
* to dhive-style string format for downstream compatibility.
|
|
158
|
+
*/
|
|
159
|
+
static normalizeAmountFields(body) {
|
|
160
|
+
if (!body || typeof body !== 'object') {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const amountKeys = ['amount', 'fee', 'hbd_amount', 'hive_amount', 'steem_amount', 'sbd_amount',
|
|
164
|
+
'reward_hive', 'reward_hbd', 'reward_vests', 'vesting_shares', 'delegatee_vesting_shares',
|
|
165
|
+
'max_accepted_payout', 'min_hive_amount', 'min_hbd_amount'];
|
|
166
|
+
for (const key of amountKeys) {
|
|
167
|
+
if (body[key] && typeof body[key] === 'object' && body[key].nai) {
|
|
168
|
+
body[key] = HafProvider.formatAmount(body[key]);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
bytesToHex(buf) {
|
|
173
|
+
if (Buffer.isBuffer(buf)) {
|
|
174
|
+
return buf.toString('hex');
|
|
175
|
+
}
|
|
176
|
+
return String(buf);
|
|
177
|
+
}
|
|
178
|
+
async getBlock(blockNumber) {
|
|
179
|
+
// Fetch block metadata (hash/prev are bytea columns)
|
|
180
|
+
const blockResult = await this.client.query(`SELECT num, encode(hash, 'hex') AS hash, encode(prev, 'hex') AS prev, created_at
|
|
181
|
+
FROM hafbe_bal.blocks_view
|
|
182
|
+
WHERE num = $1`, [blockNumber]);
|
|
183
|
+
if (blockResult.rows.length === 0) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
const blockRow = blockResult.rows[0];
|
|
187
|
+
// Fetch operations for this block (operations_view has no trx_hash)
|
|
188
|
+
// Filter out virtual ops (trx_in_block = -1) to match dhive RPC behavior
|
|
189
|
+
const opsResult = await this.client.query(`SELECT op_type_id, body, trx_in_block
|
|
190
|
+
FROM hafbe_bal.operations_view
|
|
191
|
+
WHERE block_num = $1 AND trx_in_block >= 0
|
|
192
|
+
ORDER BY trx_in_block, op_pos`, [blockNumber]);
|
|
193
|
+
// Fetch transaction hashes separately (trx_hash is bytea)
|
|
194
|
+
const trxResult = await this.client.query(`SELECT trx_in_block, encode(trx_hash, 'hex') AS trx_hash
|
|
195
|
+
FROM hafbe_bal.transactions_view
|
|
196
|
+
WHERE block_num = $1
|
|
197
|
+
ORDER BY trx_in_block`, [blockNumber]);
|
|
198
|
+
// Build trx_hash lookup by trx_in_block
|
|
199
|
+
const trxHashMap = new Map();
|
|
200
|
+
for (const row of trxResult.rows) {
|
|
201
|
+
trxHashMap.set(row.trx_in_block, row.trx_hash);
|
|
202
|
+
}
|
|
203
|
+
// Group operations into transactions
|
|
204
|
+
const transactionMap = new Map();
|
|
205
|
+
const transactionOrder = [];
|
|
206
|
+
for (const op of opsResult.rows) {
|
|
207
|
+
const trxIndex = op.trx_in_block;
|
|
208
|
+
if (!transactionMap.has(trxIndex)) {
|
|
209
|
+
transactionMap.set(trxIndex, { operations: [] });
|
|
210
|
+
transactionOrder.push(trxIndex);
|
|
211
|
+
}
|
|
212
|
+
const opName = exports.HAF_OP_TYPES[op.op_type_id] ?? `unknown_op_${op.op_type_id}`;
|
|
213
|
+
const opBody = op.body?.value ?? op.body;
|
|
214
|
+
// Normalize HAF structured amounts to dhive-style strings
|
|
215
|
+
HafProvider.normalizeAmountFields(opBody);
|
|
216
|
+
transactionMap.get(trxIndex).operations.push([opName, opBody]);
|
|
217
|
+
}
|
|
218
|
+
// Build transaction arrays
|
|
219
|
+
const transactions = [];
|
|
220
|
+
const transaction_ids = [];
|
|
221
|
+
for (const idx of transactionOrder) {
|
|
222
|
+
const trx = transactionMap.get(idx);
|
|
223
|
+
transactions.push({ operations: trx.operations });
|
|
224
|
+
transaction_ids.push(trxHashMap.get(idx) || '');
|
|
225
|
+
}
|
|
226
|
+
const timestamp = blockRow.created_at instanceof Date
|
|
227
|
+
? blockRow.created_at.toISOString().replace('Z', '')
|
|
228
|
+
: String(blockRow.created_at);
|
|
229
|
+
return {
|
|
230
|
+
block_id: blockRow.hash || '',
|
|
231
|
+
previous: blockRow.prev || '',
|
|
232
|
+
timestamp,
|
|
233
|
+
transactions,
|
|
234
|
+
transaction_ids,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
async destroy() {
|
|
238
|
+
if (this.config.useHafContext && this.config.hafAppName) {
|
|
239
|
+
try {
|
|
240
|
+
await this.client.query(`SELECT hive.app_remove_context($1)`, [this.config.hafAppName]);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// Context may already be removed; ignore
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (this.connected) {
|
|
247
|
+
await this.client.end();
|
|
248
|
+
this.connected = false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
getConfig() {
|
|
252
|
+
return { ...this.config };
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
exports.HafProvider = HafProvider;
|
|
256
|
+
//# sourceMappingURL=haf-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haf-provider.js","sourceRoot":"","sources":["../../src/providers/haf-provider.ts"],"names":[],"mappings":";;;AAAA,2BAAwC;AAiBxC;;;GAGG;AACU,QAAA,YAAY,GAA2B;IAChD,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,qBAAqB;IACxB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,gBAAgB;IACnB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,0BAA0B;IAC9B,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,yBAAyB;IAC7B,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,8BAA8B;IAClC,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,yBAAyB;IAC7B,EAAE,EAAE,gCAAgC;IACpC,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,oBAAoB;CAC3B,CAAC;AAEF,MAAM,cAAc,GAAsJ;IACtK,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,eAAe;IACzB,GAAG,EAAE,SAAS;IACd,gBAAgB,EAAE,SAAS;IAC3B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,SAAS;IACrB,gBAAgB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAa,WAAW;IACZ,MAAM,CAAW;IACjB,MAAM,CAAwB;IAC9B,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,SAA4B,EAAE;QACtC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAEO,aAAa;QACjB,MAAM,SAAS,GAAQ,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/B,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,WAAQ,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAErF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,0BAA0B;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAClC;;sEAE0D,CAC7D,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO;YACH,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;SAC9F,CAAC;IACN,CAAC;IAED;;OAEG;IACK,MAAM,CAAU,OAAO,GAA2B;QACtD,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,OAAO;KACzB,CAAC;IAEF;;;;OAIG;IACK,MAAM,CAAC,YAAY,CAAC,MAAW;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;YAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,qBAAqB,CAAC,IAAS;QAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY;YAC1F,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,0BAA0B;YACzF,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAEhE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,GAAQ;QACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAmB;QACrC,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACvC;;4BAEgB,EAChB,CAAC,WAAW,CAAC,CAChB,CAAC;QAEF,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErC,oEAAoE;QACpE,yEAAyE;QACzE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrC;;;2CAG+B,EAC/B,CAAC,WAAW,CAAC,CAChB,CAAC;QAEF,0DAA0D;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrC;;;mCAGuB,EACvB,CAAC,WAAW,CAAC,CAChB,CAAC;QAEF,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgD,CAAC;QAC/E,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAW,EAAE,CAAC,YAAY,CAAC;YAEzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjD,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAG,oBAAY,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,cAAc,EAAE,CAAC,UAAU,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;YAEzC,0DAA0D;YAC1D,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE1C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAgD,EAAE,CAAC;QACrE,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,YAAY,IAAI;YACjD,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACpD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAElC,OAAO;YACH,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC7B,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC7B,SAAS;YACT,YAAY;YACZ,eAAe;SAClB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACtD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACL,yCAAyC;YAC7C,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAEM,SAAS;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;;AArOL,kCAsOC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Client } from '@hiveio/dhive';
|
|
2
|
+
import { BlockProvider, BlockData, DynamicGlobalProperties } from './block-provider';
|
|
3
|
+
export interface HiveProviderConfig {
|
|
4
|
+
apiNodes: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare class HiveProvider implements BlockProvider {
|
|
7
|
+
private client;
|
|
8
|
+
constructor(config: HiveProviderConfig);
|
|
9
|
+
getDynamicGlobalProperties(): Promise<DynamicGlobalProperties>;
|
|
10
|
+
getBlock(blockNumber: number): Promise<BlockData | null>;
|
|
11
|
+
updateClient(apiNodes: string[]): void;
|
|
12
|
+
getClient(): Client;
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HiveProvider = void 0;
|
|
4
|
+
const dhive_1 = require("@hiveio/dhive");
|
|
5
|
+
class HiveProvider {
|
|
6
|
+
client;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.client = new dhive_1.Client(config.apiNodes);
|
|
9
|
+
}
|
|
10
|
+
async getDynamicGlobalProperties() {
|
|
11
|
+
return this.client.database.getDynamicGlobalProperties();
|
|
12
|
+
}
|
|
13
|
+
async getBlock(blockNumber) {
|
|
14
|
+
const block = await this.client.database.getBlock(blockNumber);
|
|
15
|
+
return block;
|
|
16
|
+
}
|
|
17
|
+
updateClient(apiNodes) {
|
|
18
|
+
this.client = new dhive_1.Client(apiNodes);
|
|
19
|
+
}
|
|
20
|
+
getClient() {
|
|
21
|
+
return this.client;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.HiveProvider = HiveProvider;
|
|
25
|
+
//# sourceMappingURL=hive-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hive-provider.js","sourceRoot":"","sources":["../../src/providers/hive-provider.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAOvC,MAAa,YAAY;IACb,MAAM,CAAS;IAEvB,YAAY,MAA0B;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,0BAA0B;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAsC,CAAC;IACjG,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAmB;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,KAAoC,CAAC;IAChD,CAAC;IAEM,YAAY,CAAC,QAAkB;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAvBD,oCAuBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./block-provider"), exports);
|
|
18
|
+
__exportStar(require("./hive-provider"), exports);
|
|
19
|
+
__exportStar(require("./haf-provider"), exports);
|
|
20
|
+
__exportStar(require("./haf-client"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B"}
|
package/dist/streamer.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AdapterBase } from './adapters/base.adapter';
|
|
2
|
+
import { Api } from './api';
|
|
2
3
|
import { TimeAction } from './actions';
|
|
3
4
|
import { ConfigInput } from './config';
|
|
5
|
+
import { BlockProvider } from './providers/block-provider';
|
|
4
6
|
import { ContractDefinition, EscrowOperationType } from './types/hive-stream';
|
|
5
7
|
export declare class Streamer {
|
|
6
8
|
private customJsonSubscriptions;
|
|
@@ -29,8 +31,14 @@ export declare class Streamer {
|
|
|
29
31
|
private blockTime;
|
|
30
32
|
private latestBlockchainTime;
|
|
31
33
|
private disableAllProcessing;
|
|
34
|
+
private isStarted;
|
|
32
35
|
private contracts;
|
|
36
|
+
private blockProvider;
|
|
33
37
|
private adapter;
|
|
38
|
+
private adapterInitializationPromise;
|
|
39
|
+
private adapterInitialized;
|
|
40
|
+
private initializedContracts;
|
|
41
|
+
private apiServer;
|
|
34
42
|
private actions;
|
|
35
43
|
private lastStateSave;
|
|
36
44
|
private stateSaveInterval;
|
|
@@ -47,7 +55,14 @@ export declare class Streamer {
|
|
|
47
55
|
private readonly maxCacheSize;
|
|
48
56
|
private utils;
|
|
49
57
|
constructor(userConfig?: ConfigInput);
|
|
50
|
-
private
|
|
58
|
+
private ensureAdapterReady;
|
|
59
|
+
private getLifecycleContext;
|
|
60
|
+
private initializeContract;
|
|
61
|
+
private initializeContracts;
|
|
62
|
+
private destroyContractLifecycle;
|
|
63
|
+
private destroyContracts;
|
|
64
|
+
private startSubscriptionCleanupInterval;
|
|
65
|
+
private clearRuntimeTimers;
|
|
51
66
|
registerAdapter(adapter: AdapterBase): Promise<void>;
|
|
52
67
|
getAdapter(): AdapterBase;
|
|
53
68
|
/**
|
|
@@ -106,6 +121,11 @@ export declare class Streamer {
|
|
|
106
121
|
* Stops the streamer from running
|
|
107
122
|
*/
|
|
108
123
|
stop(): Promise<void>;
|
|
124
|
+
startApiServer(port?: number): Promise<Api>;
|
|
125
|
+
stopApiServer(): Promise<void>;
|
|
126
|
+
getApiServer(): Api | null;
|
|
127
|
+
registerBlockProvider(provider: BlockProvider): Promise<void>;
|
|
128
|
+
getBlockProvider(): BlockProvider;
|
|
109
129
|
private getLatestBlock;
|
|
110
130
|
private getBlock;
|
|
111
131
|
private loadBlock;
|