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
package/DOCUMENTATION.md
CHANGED
|
@@ -9,7 +9,7 @@ Hive Stream is a Node.js library for streaming Hive blockchain activity and rout
|
|
|
9
9
|
|
|
10
10
|
This document focuses on the contract system and how to build robust contracts using the new `defineContract`/`action` API.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
`new Streamer()` is side-effect free. The default SQLite adapter is initialized lazily, and the built-in Express API only starts when you call `startApiServer()` or enable it through config before `start()`.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -302,6 +302,35 @@ export const TipJar = defineContract({
|
|
|
302
302
|
- `createPollContract` - Polls and votes
|
|
303
303
|
- `createTipJarContract` - Tip jar + message log
|
|
304
304
|
- `createExchangeContract` - Deposits/withdrawals/orders/matching (SQL)
|
|
305
|
+
- `createAuctionHouseContract` - Auctions with bids, reserve prices, and settlement
|
|
306
|
+
- `createSubscriptionContract` - Subscription plans with transfer and recurrent renewals
|
|
307
|
+
- `createCrowdfundContract` - Crowdfunding campaigns with milestones and refund flows
|
|
308
|
+
- `createBountyBoardContract` - Funded bounties, submissions, and award tracking
|
|
309
|
+
- `createInvoiceContract` - Invoices with partial/recurrent payments and overdue sweeps
|
|
310
|
+
- `createSavingsContract` - Savings goals with recurring contributions and withdrawals
|
|
311
|
+
- `createBookingContract` - Booking listings, reservations, confirmations, and cancellations
|
|
312
|
+
- `createGiftCardContract` - Gift card issuance, redemption, and cancellation
|
|
313
|
+
- `createGroupBuyContract` - Group buys with commitments, finalization, and withdrawals
|
|
314
|
+
- `createSweepstakesContract` - Paid-entry sweepstakes with deterministic draws
|
|
315
|
+
- `createDcaBotContract` - Time-driven DCA execution scheduling
|
|
316
|
+
- `createMultisigTreasuryContract` - Multisig vaults with approval queues and ready-to-execute proposals
|
|
317
|
+
- `createRevenueSplitContract` - Revenue splitting with internal balances and withdrawals
|
|
318
|
+
- `createPaywallContract` - Paid access windows and expiries for gated resources
|
|
319
|
+
- `createDomainRegistryContract` - Namespace-based domain registrations, renewals, and transfers
|
|
320
|
+
- `createRentalContract` - Escrow-backed rentals using `escrow_transfer`
|
|
321
|
+
- `createLaunchpadContract` - Fixed-price launchpad sales with allocations and claims
|
|
322
|
+
- `createPredictionMarketContract` - Prediction markets with paid positions and claims
|
|
323
|
+
- `createQuestPassContract` - Seasonal pass sales, point accrual, and tier claims
|
|
324
|
+
- `createCharityMatchContract` - Donation matching campaigns with sponsor-defined caps
|
|
325
|
+
- `createReferralContract` - Affiliate programs, conversion attribution, and payout balances
|
|
326
|
+
- `createInsurancePoolContract` - Insurance pools with premiums, active policies, claims, and reserve accounting
|
|
327
|
+
- `createOracleBountyContract` - Oracle feeds with funded report rounds, medians, and reward withdrawals
|
|
328
|
+
- `createGrantRoundsContract` - Matching grant rounds with project submissions, donations, and grant withdrawals
|
|
329
|
+
- `createPayrollContract` - Recurring payroll budgets with scheduled runs and recipient balances
|
|
330
|
+
- `createProposalTimelockContract` - Timelock approval queues for delayed governance-style actions
|
|
331
|
+
- `createBundleMarketplaceContract` - Bundle storefronts with inventory, purchases, and fulfillment tracking
|
|
332
|
+
- `createTicketingContract` - Event ticket sales with check-ins, refunds, and capacity limits
|
|
333
|
+
- `createFanClubContract` - Paid clubs with member renewals, points, and perk redemptions
|
|
305
334
|
|
|
306
335
|
### Example Snippets
|
|
307
336
|
|
|
@@ -312,6 +341,8 @@ Quick-start snippets live in `examples/contracts/`:
|
|
|
312
341
|
- `examples/contracts/tipjar.ts`
|
|
313
342
|
- `examples/contracts/exchange.ts`
|
|
314
343
|
|
|
344
|
+
Most built-in contracts use SQL tables internally, so they require a SQL-capable adapter such as SQLite or PostgreSQL. MongoDB remains supported for streamer persistence and custom contracts that do not rely on raw SQL queries.
|
|
345
|
+
|
|
315
346
|
---
|
|
316
347
|
|
|
317
348
|
## Exchange Contract Guide
|
|
@@ -378,7 +409,24 @@ createExchangeContract({
|
|
|
378
409
|
|
|
379
410
|
### API Endpoints
|
|
380
411
|
|
|
381
|
-
If you
|
|
412
|
+
If you want the built-in API server to start alongside block streaming, configure:
|
|
413
|
+
|
|
414
|
+
```ts
|
|
415
|
+
const streamer = new Streamer({
|
|
416
|
+
apiEnabled: true,
|
|
417
|
+
apiPort: 5001
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
await streamer.start();
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
You can also run the API independently:
|
|
424
|
+
|
|
425
|
+
```ts
|
|
426
|
+
await streamer.startApiServer();
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
When the built-in API server is running, the following endpoints are available:
|
|
382
430
|
|
|
383
431
|
- `GET /exchange/balances` (optional query `?account=alice`)
|
|
384
432
|
- `GET /exchange/orders` (query `account`, `base`, `quote`, `status`)
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ ss.onCustomJson((op, { sender, isSignedWithActiveKey }, blockNumber, blockId, pr
|
|
|
21
21
|
});
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
`new Streamer()`
|
|
24
|
+
`new Streamer()` is now side-effect free. The default SQLite adapter is created lazily on first use, and the built-in Express API is opt-in via `apiEnabled: true` on `start()` or an explicit `startApiServer()` call.
|
|
25
25
|
|
|
26
26
|
## Builder/Tooling Metadata
|
|
27
27
|
|
|
@@ -48,7 +48,7 @@ To resume automatically from stored state, keep `resumeFromState` enabled (defau
|
|
|
48
48
|
|
|
49
49
|
For faster catch-up, `catchUpBatchSize` controls how many blocks are processed per polling cycle, and `catchUpDelayMs` controls the delay between catch-up batches (set to `0` for fastest catch-up).
|
|
50
50
|
|
|
51
|
-
The `apiNodes` are the Hive API endpoints used for failover.
|
|
51
|
+
The `apiNodes` are the Hive API endpoints used for failover. Set `apiEnabled` to `true` if you want `start()` to boot the built-in API server, or call `startApiServer()` manually. If you want verbose logs, set `debugMode` to `true`. The configuration values and their defaults can be found in `src/config.ts`.
|
|
52
52
|
|
|
53
53
|
CamelCase config keys are recommended for readability. Legacy uppercase keys are still supported for backwards compatibility.
|
|
54
54
|
|
|
@@ -69,12 +69,20 @@ const options = {
|
|
|
69
69
|
catchUpBatchSize: 50,
|
|
70
70
|
catchUpDelayMs: 0,
|
|
71
71
|
apiNodes: ['https://api.hive.blog', 'https://api.openhive.network', 'https://rpc.ausbit.dev'],
|
|
72
|
-
|
|
72
|
+
apiEnabled: false,
|
|
73
|
+
apiPort: 5001,
|
|
74
|
+
debugMode: false
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
const ss = new Streamer(options);
|
|
76
78
|
```
|
|
77
79
|
|
|
80
|
+
If you want the built-in API without starting block streaming yet:
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
await ss.startApiServer();
|
|
84
|
+
```
|
|
85
|
+
|
|
78
86
|
The configuration itself can also be overloaded using the `setConfig` method which allows you to pass one or more of the above configuration options, useful in situations where multiple keys might be used for issuing.
|
|
79
87
|
|
|
80
88
|
```
|
|
@@ -319,6 +327,35 @@ The library includes several built-in contract examples in the `src/contracts` f
|
|
|
319
327
|
- `createPollContract` - A poll/voting contract
|
|
320
328
|
- `createTipJarContract` - A tip jar + message board contract
|
|
321
329
|
- `createExchangeContract` - A basic exchange with deposits, withdrawals, balances, and order matching (SQL adapter required)
|
|
330
|
+
- `createAuctionHouseContract` - Auctions with reserve prices, buy-now support, and timed settlement
|
|
331
|
+
- `createSubscriptionContract` - Subscription plans with transfer and recurrent-transfer renewals
|
|
332
|
+
- `createCrowdfundContract` - Crowdfunding campaigns with milestones, finalization, and refund tracking
|
|
333
|
+
- `createBountyBoardContract` - Funded bounties, submissions, and award selection
|
|
334
|
+
- `createInvoiceContract` - Invoices with partial payments, recurring payments, and overdue sweeps
|
|
335
|
+
- `createSavingsContract` - Savings goals with recurring contributions and withdrawal requests
|
|
336
|
+
- `createBookingContract` - Reservable listings with paid booking windows and confirmations
|
|
337
|
+
- `createGiftCardContract` - Gift card issuance, redemption, and cancellation flows
|
|
338
|
+
- `createGroupBuyContract` - Threshold-based pooled purchases and participant commitments
|
|
339
|
+
- `createSweepstakesContract` - Paid-entry sweepstakes with deterministic winner draws
|
|
340
|
+
- `createDcaBotContract` - Time-based DCA bot scheduling and execution request events
|
|
341
|
+
- `createMultisigTreasuryContract` - Multisig vaults, proposal approvals, and execution readiness tracking
|
|
342
|
+
- `createRevenueSplitContract` - Revenue share ledgers and withdrawal requests for collaborators
|
|
343
|
+
- `createPaywallContract` - Paid access control for gated resources and memberships
|
|
344
|
+
- `createDomainRegistryContract` - App-level namespaces with registrations, renewals, transfers, and expiries
|
|
345
|
+
- `createRentalContract` - Escrow-backed rental agreements for items, passes, or assets
|
|
346
|
+
- `createLaunchpadContract` - Launchpad sales with allocations, finalization, and claim flows
|
|
347
|
+
- `createPredictionMarketContract` - Prediction markets with positions, resolution, and winner claims
|
|
348
|
+
- `createQuestPassContract` - Seasonal passes with progress tracking and reward claims
|
|
349
|
+
- `createCharityMatchContract` - Donation campaigns with matched totals and closing summaries
|
|
350
|
+
- `createReferralContract` - Affiliate programs with codes, funded budgets, and payout balances
|
|
351
|
+
- `createInsurancePoolContract` - Insurance pools with premium-backed policies, claims, and reserve management
|
|
352
|
+
- `createOracleBountyContract` - Oracle bounty feeds with report rounds, median finalization, and reporter rewards
|
|
353
|
+
- `createGrantRoundsContract` - Matching grant rounds with project submissions, donations, and post-close allocations
|
|
354
|
+
- `createPayrollContract` - Recurring team payrolls with funded budgets, scheduled runs, and recipient withdrawals
|
|
355
|
+
- `createProposalTimelockContract` - Timelocked governance queues with approvals, delays, and execution requests
|
|
356
|
+
- `createBundleMarketplaceContract` - Fixed-price bundle storefronts with inventory tracking and fulfillment states
|
|
357
|
+
- `createTicketingContract` - Event ticketing with purchases, check-ins, refunds, and capacity enforcement
|
|
358
|
+
- `createFanClubContract` - Paid fan clubs with member renewals, engagement points, and perk redemptions
|
|
322
359
|
|
|
323
360
|
These can be imported and used as examples for building your own contracts:
|
|
324
361
|
|
|
@@ -326,6 +363,8 @@ These can be imported and used as examples for building your own contracts:
|
|
|
326
363
|
import { createDiceContract, createCoinflipContract, createLottoContract } from 'hive-stream';
|
|
327
364
|
```
|
|
328
365
|
|
|
366
|
+
Most built-in contracts in `src/contracts` persist SQL tables internally, so they require a SQL-capable adapter such as SQLite or PostgreSQL. MongoDB remains supported for streamer persistence and custom contracts that do not depend on raw SQL queries.
|
|
367
|
+
|
|
329
368
|
### Example Snippets
|
|
330
369
|
|
|
331
370
|
Sample snippets for the newest contracts live in `examples/contracts/`:
|
|
@@ -410,6 +449,8 @@ const adapter = new MongodbAdapter('mongodb://localhost:27017', 'hive_stream');
|
|
|
410
449
|
await streamer.registerAdapter(adapter);
|
|
411
450
|
```
|
|
412
451
|
|
|
452
|
+
MongoDB supports block state, transfers, custom JSON persistence, and custom contracts that manage their own state without SQL. Built-in SQL-backed contracts should use SQLite or PostgreSQL.
|
|
453
|
+
|
|
413
454
|
### PostgreSQL Adapter
|
|
414
455
|
```javascript
|
|
415
456
|
import { Streamer, PostgreSQLAdapter } from 'hive-stream';
|
|
@@ -4,6 +4,9 @@ import { SignedBlock } from '@hiveio/dhive';
|
|
|
4
4
|
export declare class AdapterBase {
|
|
5
5
|
protected client: any;
|
|
6
6
|
protected db: any;
|
|
7
|
+
readonly capabilities: {
|
|
8
|
+
sql: boolean;
|
|
9
|
+
};
|
|
7
10
|
constructor();
|
|
8
11
|
create(): Promise<boolean>;
|
|
9
12
|
destroy(): Promise<boolean>;
|
|
@@ -19,7 +22,9 @@ export declare class AdapterBase {
|
|
|
19
22
|
findOne(table: string, queryObject: Record<string, any>): Promise<any>;
|
|
20
23
|
insert(table: string, data: any): Promise<any>;
|
|
21
24
|
replace(table: string, queryObject: Record<string, any>, data: any): Promise<any>;
|
|
25
|
+
runInTransaction<T>(work: (adapter: AdapterBase) => Promise<T>): Promise<T>;
|
|
22
26
|
query(sql: string, params?: any[]): Promise<any[]>;
|
|
27
|
+
addEvent(date: string | Date, contract: string, action: string, payload: any, data: any): Promise<boolean>;
|
|
23
28
|
getEvents(): Promise<any[]>;
|
|
24
29
|
getEventsByContract(contract: string): Promise<any[]>;
|
|
25
30
|
getEventsByAccount(account: string): Promise<any[]>;
|
|
@@ -4,6 +4,9 @@ exports.AdapterBase = void 0;
|
|
|
4
4
|
class AdapterBase {
|
|
5
5
|
client = null;
|
|
6
6
|
db = null;
|
|
7
|
+
capabilities = {
|
|
8
|
+
sql: false
|
|
9
|
+
};
|
|
7
10
|
constructor() {
|
|
8
11
|
this.client = null;
|
|
9
12
|
this.db = null;
|
|
@@ -50,9 +53,15 @@ class AdapterBase {
|
|
|
50
53
|
async replace(table, queryObject, data) {
|
|
51
54
|
return data;
|
|
52
55
|
}
|
|
56
|
+
async runInTransaction(work) {
|
|
57
|
+
return work(this);
|
|
58
|
+
}
|
|
53
59
|
async query(sql, params) {
|
|
54
60
|
throw new Error('Query method not implemented in adapter');
|
|
55
61
|
}
|
|
62
|
+
async addEvent(date, contract, action, payload, data) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
56
65
|
async getEvents() {
|
|
57
66
|
return [];
|
|
58
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACV,MAAM,GAAQ,IAAI,CAAC;IACnB,EAAE,GAAQ,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../src/adapters/base.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,16 @@ import { MongoClient, Db } from 'mongodb';
|
|
|
5
5
|
export declare class MongodbAdapter extends AdapterBase {
|
|
6
6
|
protected client: MongoClient;
|
|
7
7
|
protected db: Db;
|
|
8
|
+
readonly capabilities: {
|
|
9
|
+
sql: boolean;
|
|
10
|
+
};
|
|
8
11
|
private mongo;
|
|
9
12
|
private blockNumber;
|
|
10
13
|
private lastBlockNumber;
|
|
11
14
|
private blockId;
|
|
12
15
|
private prevBlockId;
|
|
13
16
|
private transactionId;
|
|
14
|
-
constructor(uri: string, database: string, options?: {
|
|
15
|
-
useNewUrlParser: boolean;
|
|
16
|
-
useUnifiedTopology: boolean;
|
|
17
|
-
});
|
|
17
|
+
constructor(uri: string, database: string, options?: {});
|
|
18
18
|
getDbInstance(): Promise<Db>;
|
|
19
19
|
create(): Promise<boolean>;
|
|
20
20
|
loadActions(): Promise<TimeAction[]>;
|
|
@@ -26,8 +26,8 @@ export declare class MongodbAdapter extends AdapterBase {
|
|
|
26
26
|
destroy(): Promise<boolean>;
|
|
27
27
|
find(table: string, queryObject: any): Promise<any>;
|
|
28
28
|
findOne(table: string, queryObject: any): Promise<any>;
|
|
29
|
-
insert(table: string, data: any): Promise<
|
|
30
|
-
replace(table: string, queryObject: any, data: any): Promise<
|
|
29
|
+
insert(table: string, data: any): Promise<boolean>;
|
|
30
|
+
replace(table: string, queryObject: any, data: any): Promise<any>;
|
|
31
31
|
query(sql: string, params?: any[]): Promise<any[]>;
|
|
32
32
|
addEvent(date: string, contract: string, action: string, payload: ContractPayload, data: unknown): Promise<boolean>;
|
|
33
33
|
getEvents(): Promise<any[]>;
|
|
@@ -7,6 +7,9 @@ const mongodb_1 = require("mongodb");
|
|
|
7
7
|
class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
8
8
|
client = null;
|
|
9
9
|
db = null;
|
|
10
|
+
capabilities = {
|
|
11
|
+
sql: false
|
|
12
|
+
};
|
|
10
13
|
mongo = {
|
|
11
14
|
uri: '',
|
|
12
15
|
database: '',
|
|
@@ -17,7 +20,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
17
20
|
blockId;
|
|
18
21
|
prevBlockId;
|
|
19
22
|
transactionId;
|
|
20
|
-
constructor(uri, database, options = {
|
|
23
|
+
constructor(uri, database, options = {}) {
|
|
21
24
|
super();
|
|
22
25
|
this.mongo.uri = uri;
|
|
23
26
|
this.mongo.database = database;
|
|
@@ -25,7 +28,13 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
25
28
|
}
|
|
26
29
|
async getDbInstance() {
|
|
27
30
|
try {
|
|
28
|
-
|
|
31
|
+
if (this.db) {
|
|
32
|
+
return this.db;
|
|
33
|
+
}
|
|
34
|
+
if (!this.client) {
|
|
35
|
+
this.client = new mongodb_1.MongoClient(this.mongo.uri, this.mongo.options);
|
|
36
|
+
}
|
|
37
|
+
await this.client.connect();
|
|
29
38
|
this.db = this.client.db(this.mongo.database);
|
|
30
39
|
return this.db;
|
|
31
40
|
}
|
|
@@ -35,8 +44,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
35
44
|
}
|
|
36
45
|
async create() {
|
|
37
46
|
try {
|
|
38
|
-
|
|
39
|
-
this.db = this.client.db(this.mongo.database);
|
|
47
|
+
await this.getDbInstance();
|
|
40
48
|
return true;
|
|
41
49
|
}
|
|
42
50
|
catch (e) {
|
|
@@ -144,7 +152,11 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
144
152
|
return true;
|
|
145
153
|
}
|
|
146
154
|
async destroy() {
|
|
147
|
-
|
|
155
|
+
if (this.client) {
|
|
156
|
+
await this.client.close();
|
|
157
|
+
}
|
|
158
|
+
this.client = null;
|
|
159
|
+
this.db = null;
|
|
148
160
|
return true;
|
|
149
161
|
}
|
|
150
162
|
async find(table, queryObject) {
|
|
@@ -152,31 +164,34 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
152
164
|
await this.getDbInstance();
|
|
153
165
|
}
|
|
154
166
|
const collection = this.db.collection(table);
|
|
155
|
-
|
|
167
|
+
const documents = await collection.find(queryObject).toArray();
|
|
168
|
+
return documents.length ? documents : null;
|
|
156
169
|
}
|
|
157
170
|
async findOne(table, queryObject) {
|
|
158
171
|
if (!this.db) {
|
|
159
172
|
await this.getDbInstance();
|
|
160
173
|
}
|
|
161
174
|
const collection = this.db.collection(table);
|
|
162
|
-
return await collection.
|
|
175
|
+
return await collection.findOne(queryObject);
|
|
163
176
|
}
|
|
164
177
|
async insert(table, data) {
|
|
165
178
|
if (!this.db) {
|
|
166
179
|
await this.getDbInstance();
|
|
167
180
|
}
|
|
168
181
|
const collection = this.db.collection(table);
|
|
169
|
-
|
|
182
|
+
await collection.insertOne(data);
|
|
183
|
+
return true;
|
|
170
184
|
}
|
|
171
185
|
async replace(table, queryObject, data) {
|
|
172
186
|
if (!this.db) {
|
|
173
187
|
await this.getDbInstance();
|
|
174
188
|
}
|
|
175
189
|
const collection = this.db.collection(table);
|
|
176
|
-
|
|
190
|
+
await collection.replaceOne(queryObject, data, { upsert: true });
|
|
191
|
+
return data;
|
|
177
192
|
}
|
|
178
193
|
async query(sql, params) {
|
|
179
|
-
throw new Error('Raw SQL queries are not supported in MongoDB adapter');
|
|
194
|
+
throw new Error('Raw SQL queries are not supported in MongoDB adapter. Built-in contracts currently require a SQL-capable adapter (SQLite or PostgreSQL).');
|
|
180
195
|
}
|
|
181
196
|
async addEvent(date, contract, action, payload, data) {
|
|
182
197
|
try {
|
|
@@ -204,7 +219,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
204
219
|
await this.getDbInstance();
|
|
205
220
|
}
|
|
206
221
|
const collection = this.db.collection('events');
|
|
207
|
-
const events = await collection.find({}).toArray();
|
|
222
|
+
const events = await collection.find({}).sort({ date: -1, _id: -1 }).toArray();
|
|
208
223
|
return events.length ? events : null;
|
|
209
224
|
}
|
|
210
225
|
catch (error) {
|
|
@@ -218,7 +233,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
218
233
|
await this.getDbInstance();
|
|
219
234
|
}
|
|
220
235
|
const collection = this.db.collection('events');
|
|
221
|
-
const events = await collection.find({ contract }).toArray();
|
|
236
|
+
const events = await collection.find({ contract }).sort({ date: -1, _id: -1 }).toArray();
|
|
222
237
|
return events.length ? events : null;
|
|
223
238
|
}
|
|
224
239
|
catch (error) {
|
|
@@ -239,7 +254,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
239
254
|
{ 'payload.sender': account },
|
|
240
255
|
{ 'payload.account': account }
|
|
241
256
|
]
|
|
242
|
-
}).toArray();
|
|
257
|
+
}).sort({ date: -1, _id: -1 }).toArray();
|
|
243
258
|
return events.length ? events : null;
|
|
244
259
|
}
|
|
245
260
|
catch (error) {
|
|
@@ -253,7 +268,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
253
268
|
await this.getDbInstance();
|
|
254
269
|
}
|
|
255
270
|
const collection = this.db.collection('transfers');
|
|
256
|
-
const transfers = await collection.find({}).toArray();
|
|
271
|
+
const transfers = await collection.find({}).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
257
272
|
return transfers.length ? transfers : null;
|
|
258
273
|
}
|
|
259
274
|
catch (error) {
|
|
@@ -267,7 +282,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
267
282
|
await this.getDbInstance();
|
|
268
283
|
}
|
|
269
284
|
const collection = this.db.collection('transfers');
|
|
270
|
-
const transfers = await collection.find({ contractName: contract }).toArray();
|
|
285
|
+
const transfers = await collection.find({ contractName: contract }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
271
286
|
return transfers.length ? transfers : null;
|
|
272
287
|
}
|
|
273
288
|
catch (error) {
|
|
@@ -281,7 +296,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
281
296
|
await this.getDbInstance();
|
|
282
297
|
}
|
|
283
298
|
const collection = this.db.collection('transfers');
|
|
284
|
-
const transfers = await collection.find({ sender: account }).toArray();
|
|
299
|
+
const transfers = await collection.find({ sender: account }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
285
300
|
return transfers.length ? transfers : null;
|
|
286
301
|
}
|
|
287
302
|
catch (error) {
|
|
@@ -295,7 +310,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
295
310
|
await this.getDbInstance();
|
|
296
311
|
}
|
|
297
312
|
const collection = this.db.collection('transfers');
|
|
298
|
-
const transfers = await collection.find({ blockId }).toArray();
|
|
313
|
+
const transfers = await collection.find({ blockId }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
299
314
|
return transfers.length ? transfers : null;
|
|
300
315
|
}
|
|
301
316
|
catch (error) {
|
|
@@ -309,7 +324,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
309
324
|
await this.getDbInstance();
|
|
310
325
|
}
|
|
311
326
|
const collection = this.db.collection('customJson');
|
|
312
|
-
const jsons = await collection.find({}).toArray();
|
|
327
|
+
const jsons = await collection.find({}).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
313
328
|
return jsons.length ? jsons : null;
|
|
314
329
|
}
|
|
315
330
|
catch (error) {
|
|
@@ -323,7 +338,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
323
338
|
await this.getDbInstance();
|
|
324
339
|
}
|
|
325
340
|
const collection = this.db.collection('customJson');
|
|
326
|
-
const jsons = await collection.find({ contractName: contract }).toArray();
|
|
341
|
+
const jsons = await collection.find({ contractName: contract }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
327
342
|
return jsons.length ? jsons : null;
|
|
328
343
|
}
|
|
329
344
|
catch (error) {
|
|
@@ -337,7 +352,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
337
352
|
await this.getDbInstance();
|
|
338
353
|
}
|
|
339
354
|
const collection = this.db.collection('customJson');
|
|
340
|
-
const jsons = await collection.find({ sender: account }).toArray();
|
|
355
|
+
const jsons = await collection.find({ sender: account }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
341
356
|
return jsons.length ? jsons : null;
|
|
342
357
|
}
|
|
343
358
|
catch (error) {
|
|
@@ -351,7 +366,7 @@ class MongodbAdapter extends base_adapter_1.AdapterBase {
|
|
|
351
366
|
await this.getDbInstance();
|
|
352
367
|
}
|
|
353
368
|
const collection = this.db.collection('customJson');
|
|
354
|
-
const jsons = await collection.find({ blockId }).toArray();
|
|
369
|
+
const jsons = await collection.find({ blockId }).sort({ blockNumber: -1, _id: -1 }).toArray();
|
|
355
370
|
return jsons.length ? jsons : null;
|
|
356
371
|
}
|
|
357
372
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.adapter.js","sourceRoot":"","sources":["../../src/adapters/mongodb.adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mongodb.adapter.js","sourceRoot":"","sources":["../../src/adapters/mongodb.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ export interface PostgreSQLConfig {
|
|
|
13
13
|
}
|
|
14
14
|
export declare class PostgreSQLAdapter extends AdapterBase {
|
|
15
15
|
db: Knex;
|
|
16
|
+
readonly capabilities: {
|
|
17
|
+
sql: boolean;
|
|
18
|
+
};
|
|
16
19
|
private config;
|
|
17
20
|
constructor(config: PostgreSQLConfig);
|
|
18
21
|
private blockNumber;
|
|
@@ -22,6 +25,8 @@ export declare class PostgreSQLAdapter extends AdapterBase {
|
|
|
22
25
|
private transactionId;
|
|
23
26
|
getDb(): Knex;
|
|
24
27
|
create(): Promise<boolean>;
|
|
28
|
+
private ensureTable;
|
|
29
|
+
private createIndexIfNotExists;
|
|
25
30
|
loadActions(): Promise<TimeAction[]>;
|
|
26
31
|
loadState(): Promise<any>;
|
|
27
32
|
saveState(data: any): Promise<boolean>;
|
|
@@ -45,6 +50,7 @@ export declare class PostgreSQLAdapter extends AdapterBase {
|
|
|
45
50
|
findOne(table: string, query: Record<string, any>): Promise<any>;
|
|
46
51
|
insert(table: string, data: any): Promise<boolean>;
|
|
47
52
|
replace(table: string, queryObject: Record<string, any>, data: any): Promise<any>;
|
|
53
|
+
runInTransaction<T>(work: (adapter: AdapterBase) => Promise<T>): Promise<T>;
|
|
48
54
|
getExchangeBalances(account?: string): Promise<any[]>;
|
|
49
55
|
getExchangeOrders(filters?: {
|
|
50
56
|
account?: string;
|
|
@@ -63,4 +69,5 @@ export declare class PostgreSQLAdapter extends AdapterBase {
|
|
|
63
69
|
limit?: number;
|
|
64
70
|
}): Promise<any[]>;
|
|
65
71
|
query(sql: string, params?: any[]): Promise<any[]>;
|
|
72
|
+
private normalizeSql;
|
|
66
73
|
}
|