hive-stream 3.0.2 → 3.0.4
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 +282 -4
- 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/builders.d.ts +176 -0
- package/dist/builders.js +727 -0
- package/dist/builders.js.map +1 -0
- package/dist/config.d.ts +16 -1
- package/dist/config.js +95 -3
- 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 +25 -22
- 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 +25 -22
- 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 +66 -0
- package/dist/contracts/helpers.js +166 -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 +234 -195
- 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 +48 -20
- 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 +40 -0
- package/dist/index.js +72 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +20 -0
- package/dist/metadata.js +320 -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 +65 -4
- package/dist/streamer.js +768 -72
- package/dist/streamer.js.map +1 -1
- package/dist/types/hive-stream.d.ts +317 -0
- package/dist/utils.d.ts +33 -0
- package/dist/utils.js +198 -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
package/dist/streamer.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
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';
|
|
4
|
-
import {
|
|
5
|
+
import { BlockProvider } from './providers/block-provider';
|
|
6
|
+
import { AutoBurnIncomingTransfersOptions, AutoForwardIncomingTransfersOptions, AutoRefundIncomingTransfersOptions, AutoRouteIncomingTransfersOptions, AutoSplitIncomingTransfersOptions, ContractDefinition, FlowNamespace, FlowSubscriptionHandle, OpsNamespace, MoneyNamespace, PlannedIncomingTransferRoutes, TransferEvent, EscrowOperationType } from './types/hive-stream';
|
|
5
7
|
export declare class Streamer {
|
|
6
8
|
private customJsonSubscriptions;
|
|
7
9
|
private customJsonIdSubscriptions;
|
|
@@ -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;
|
|
@@ -46,8 +54,37 @@ export declare class Streamer {
|
|
|
46
54
|
private readonly cacheTimeout;
|
|
47
55
|
private readonly maxCacheSize;
|
|
48
56
|
private utils;
|
|
57
|
+
readonly money: MoneyNamespace;
|
|
58
|
+
readonly flows: FlowNamespace;
|
|
59
|
+
readonly ops: OpsNamespace;
|
|
49
60
|
constructor(userConfig?: ConfigInput);
|
|
50
|
-
private
|
|
61
|
+
private ensureAdapterReady;
|
|
62
|
+
private getLifecycleContext;
|
|
63
|
+
private createTransferEvent;
|
|
64
|
+
private normalizeTransferPreviewInput;
|
|
65
|
+
private resolveAccount;
|
|
66
|
+
private dedupeHas;
|
|
67
|
+
private dedupeAdd;
|
|
68
|
+
private normalizeDedupeStore;
|
|
69
|
+
private isZeroAmountFlowError;
|
|
70
|
+
private resolveFlowBasisPoints;
|
|
71
|
+
private resolveFlowMode;
|
|
72
|
+
private normalizeBaseRouteAllocations;
|
|
73
|
+
private normalizeOnTopRouteAllocations;
|
|
74
|
+
private resolvePlannedRouteMemo;
|
|
75
|
+
private resolveGroupSplitStrategy;
|
|
76
|
+
private resolveGroupWeights;
|
|
77
|
+
private expandPlannedRoute;
|
|
78
|
+
private sumPlannedRouteAmounts;
|
|
79
|
+
private buildPlannedIncomingTransferRoutes;
|
|
80
|
+
private executePlannedFlowRoutes;
|
|
81
|
+
private calculateSingleFlowAmount;
|
|
82
|
+
private initializeContract;
|
|
83
|
+
private initializeContracts;
|
|
84
|
+
private destroyContractLifecycle;
|
|
85
|
+
private destroyContracts;
|
|
86
|
+
private startSubscriptionCleanupInterval;
|
|
87
|
+
private clearRuntimeTimers;
|
|
51
88
|
registerAdapter(adapter: AdapterBase): Promise<void>;
|
|
52
89
|
getAdapter(): AdapterBase;
|
|
53
90
|
/**
|
|
@@ -106,6 +143,11 @@ export declare class Streamer {
|
|
|
106
143
|
* Stops the streamer from running
|
|
107
144
|
*/
|
|
108
145
|
stop(): Promise<void>;
|
|
146
|
+
startApiServer(port?: number): Promise<Api>;
|
|
147
|
+
stopApiServer(): Promise<void>;
|
|
148
|
+
getApiServer(): Api | null;
|
|
149
|
+
registerBlockProvider(provider: BlockProvider): Promise<void>;
|
|
150
|
+
getBlockProvider(): BlockProvider;
|
|
109
151
|
private getLatestBlock;
|
|
110
152
|
private getBlock;
|
|
111
153
|
private loadBlock;
|
|
@@ -125,6 +167,24 @@ export declare class Streamer {
|
|
|
125
167
|
saveToHiveApi(from: string, data: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
|
|
126
168
|
getAccountTransfers(account: string, from?: number, limit?: number): Promise<any[]>;
|
|
127
169
|
transferHiveTokens(from: string, to: string, amount: string, symbol: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
|
|
170
|
+
burnHiveTokens(from: string, amount: string, symbol: string, memo?: string): any;
|
|
171
|
+
burnTransferPortion(from: string, transfer: {
|
|
172
|
+
amount?: string;
|
|
173
|
+
} | string, basisPoints: number, memo?: string, allowedSymbols?: string[]): any;
|
|
174
|
+
burnTransferPercentage(from: string, transfer: {
|
|
175
|
+
amount?: string;
|
|
176
|
+
} | string, percentage: string | number, memo?: string, allowedSymbols?: string[]): any;
|
|
177
|
+
autoBurnIncomingTransfers(options?: AutoBurnIncomingTransfersOptions): FlowSubscriptionHandle;
|
|
178
|
+
autoForwardIncomingTransfers(options: AutoForwardIncomingTransfersOptions): FlowSubscriptionHandle;
|
|
179
|
+
autoRefundIncomingTransfers(options?: AutoRefundIncomingTransfersOptions): FlowSubscriptionHandle;
|
|
180
|
+
autoSplitIncomingTransfers(options: AutoSplitIncomingTransfersOptions): FlowSubscriptionHandle;
|
|
181
|
+
planIncomingTransferRoutes(transfer: string | TransferEvent | {
|
|
182
|
+
amount?: string;
|
|
183
|
+
from?: string;
|
|
184
|
+
to?: string;
|
|
185
|
+
memo?: string;
|
|
186
|
+
}, options: Pick<AutoRouteIncomingTransfersOptions, 'routes' | 'memo' | 'allowedSymbols'>): PlannedIncomingTransferRoutes;
|
|
187
|
+
autoRouteIncomingTransfers(options: AutoRouteIncomingTransfersOptions): FlowSubscriptionHandle;
|
|
128
188
|
transferHiveTokensMultiple(from: string, accounts: string[], amount: string, symbol: string, memo?: string): Promise<boolean>;
|
|
129
189
|
broadcastOperations(operations: Array<[string, any]>, signingKeys?: string | string[]): Promise<import("@hiveio/dhive").TransactionConfirmation>;
|
|
130
190
|
broadcastMultiSigOperations(operations: Array<[string, any]>, signingKeys: string[]): any;
|
|
@@ -202,6 +262,7 @@ export declare class Streamer {
|
|
|
202
262
|
proposal_ids: number[];
|
|
203
263
|
}, signingKeys?: string | string[]): any;
|
|
204
264
|
transferHiveEngineTokens(from: string, to: string, symbol: string, quantity: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
|
|
265
|
+
burnHiveEngineTokens(from: string, symbol: string, quantity: string, memo?: string): any;
|
|
205
266
|
transferHiveEngineTokensMultiple(from: string, accounts: any[], symbol: string, memo?: string, amount?: string): Promise<void>;
|
|
206
267
|
issueHiveEngineTokens(from: string, to: string, symbol: string, quantity: string, memo?: string): Promise<import("@hiveio/dhive").TransactionConfirmation>;
|
|
207
268
|
issueHiveEngineTokensMultiple(from: string, accounts: any[], symbol: string, memo?: string, amount?: string): Promise<void>;
|
|
@@ -218,7 +279,7 @@ export declare class Streamer {
|
|
|
218
279
|
verifyTransfer(transaction: any, from: string, to: string, amount: string): Promise<boolean>;
|
|
219
280
|
onComment(callback: any): void;
|
|
220
281
|
onPost(callback: any): void;
|
|
221
|
-
onTransfer(account: string, callback: () => void): void;
|
|
282
|
+
onTransfer(account: string, callback: (...args: any[]) => void | Promise<void>): void;
|
|
222
283
|
onCustomJson(callback: any): void;
|
|
223
284
|
onCustomJsonId(callback: any, id: string): void;
|
|
224
285
|
onHiveEngine(callback: any): void;
|
|
@@ -227,7 +288,7 @@ export declare class Streamer {
|
|
|
227
288
|
onEscrowDispute(callback: any): void;
|
|
228
289
|
onEscrowRelease(callback: any): void;
|
|
229
290
|
private cleanupSubscriptions;
|
|
230
|
-
removeTransferSubscription(account: string): void;
|
|
291
|
+
removeTransferSubscription(account: string, callback?: (...args: any[]) => void): void;
|
|
231
292
|
removeCustomJsonIdSubscription(id: string): void;
|
|
232
293
|
removeEscrowSubscriptions(type?: EscrowOperationType): void;
|
|
233
294
|
}
|