Skip to content

Commit 2a0100b

Browse files
authored
Merge pull request #10 from ora-io/dev
Dev
2 parents d455835 + bcbaea2 commit 2a0100b

File tree

9 files changed

+36
-15
lines changed

9 files changed

+36
-15
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ora-stack",
3-
"version": "0.1.1",
3+
"version": "0.1.2",
44
"private": true,
55
"packageManager": "[email protected]",
66
"description": "",

packages/orap/examples/customDemo/app.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ async function handleSignal(from: any, to: any, amount: any, event: EventLog) {
4747
logger.log('handleSignal', event.transactionHash)
4848
const task = new TransferTask(event.transactionHash, from, to, amount)
4949
await task.save(sm)
50+
return true
5051
}
5152

5253
// TODO: make the following DBApp?

packages/orap/examples/ooSample/app.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ const eventSignalParam: EventSignalRegisterParams = {
1414
}
1515

1616
// define handle function
17-
const handle = (...args: any) => { console.log('handle', args) }
17+
const handle = (...args: any) => {
18+
console.log('handle', args)
19+
return true
20+
}
1821

1922
// define event signal with crosscheck and link with handle function
2023
// note: no cache functionality

packages/orap/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@ora-io/orap",
33
"type": "module",
4-
"version": "0.1.1",
4+
"version": "0.1.2",
55
"packageManager": "[email protected]",
66
"description": "",
77
"author": "Norman (nom4dv3), MuRong",

packages/orap/src/flow/orap.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ describe('OrapFlow', () => {
1515
})
1616

1717
it('should create an event flow', () => {
18-
const eventFlow = orapFlow.event()
18+
const eventFlow = orapFlow.event({ address: '0x1234567890abcdef', abi: [], eventName: 'Transfer' })
1919
expect(eventFlow).toBeDefined()
2020
expect(orapFlow.eventFlows).toContain(eventFlow)
2121
})
@@ -27,7 +27,7 @@ describe('OrapFlow', () => {
2727
})
2828

2929
it('should assemble the OrapVerse', () => {
30-
const eventFlow = orapFlow.event()
30+
const eventFlow = orapFlow.event({ address: '0x1234567890abcdef', abi: [], eventName: 'Transfer' })
3131
const orapVerse = orapFlow.assemble()
3232
expect(orapVerse).toBeDefined()
3333
expect(eventFlow).toBeDefined()

packages/orap/src/flow/orap.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import type { Providers } from '@ora-io/reku'
2+
import type { Fn } from '@ora-io/utils'
3+
import type { Interface, InterfaceAbi } from 'ethers'
24
import { OrapVerse } from '../verse/orap'
35
import type { EventSignalRegisterParams } from '../signal'
46
import { EventFlow } from './event'
5-
import type { Flow } from './interface'
7+
import type { Flow, HandleFn } from './interface'
68

79
export interface ListenOptions {
810
wsProvider: Providers
@@ -23,8 +25,15 @@ export class OrapFlow implements Flow {
2325
return this.subflows.event
2426
}
2527

26-
event(options?: EventSignalRegisterParams, handler?: any): EventFlow {
27-
const eventFlow = new EventFlow(this, options, handler)
28+
event(params: EventSignalRegisterParams, handler?: HandleFn): EventFlow
29+
event(params: string, abi: Interface | InterfaceAbi | HandleFn, eventName: string, handler?: HandleFn): EventFlow
30+
event(params: EventSignalRegisterParams | string, abi?: Interface | InterfaceAbi | HandleFn, eventName?: string, handler?: HandleFn): EventFlow {
31+
if (typeof params === 'string')
32+
params = { address: params, abi: abi as Interface | InterfaceAbi, eventName: eventName as string }
33+
else
34+
handler = abi as HandleFn
35+
36+
const eventFlow = new EventFlow(this, params, handler)
2837
this.subflows.event.push(eventFlow)
2938
return eventFlow
3039
}
@@ -34,7 +43,7 @@ export class OrapFlow implements Flow {
3443
* @param options
3544
* @param onListenFn
3645
*/
37-
listen(options: ListenOptions, onListenFn: any = () => { }) {
46+
listen(options: ListenOptions, onListenFn: Fn) {
3847
for (const eventFlow of this.subflows.event) {
3948
eventFlow.setSubscribeProvider(options.wsProvider)
4049
if (options.httpProvider)
@@ -45,6 +54,7 @@ export class OrapFlow implements Flow {
4554

4655
const orapVerse = this.assemble()
4756
orapVerse.play()
57+
this.onListenFn()
4858
}
4959

5060
assemble(): OrapVerse {

packages/reku/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@ora-io/reku",
33
"type": "module",
4-
"version": "0.1.1",
4+
"version": "0.1.2",
55
"packageManager": "[email protected]",
66
"description": "",
77
"author": "Norman (nom4dv3), MuRong",

packages/reku/src/provider/provider.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ export interface RekuProviderManagerOptions {
99
* The interval of heartbeat, default is 10s
1010
*/
1111
heartbeatInterval?: number
12+
/**
13+
* Disable heartbeat
14+
*/
15+
disabledHeartbeat?: boolean
1216
}
1317

1418
export type RekuProviderManagerEvent = 'error' | 'close'
@@ -23,10 +27,10 @@ export class RekuProviderManager {
2327

2428
private _event?: EventEmitter
2529

26-
constructor(public providerUrl: string, options?: RekuProviderManagerOptions) {
30+
constructor(public providerUrl: string, private _options?: RekuProviderManagerOptions) {
2731
this.connect()
28-
if (options?.heartbeatInterval)
29-
this._heartbeatInterval = options.heartbeatInterval
32+
if (_options?.heartbeatInterval)
33+
this._heartbeatInterval = _options.heartbeatInterval
3034

3135
this._handleError()
3236
this._sendHeartbeat()
@@ -164,6 +168,8 @@ export class RekuProviderManager {
164168
}
165169

166170
private _sendHeartbeat() {
171+
if (this._options?.disabledHeartbeat)
172+
return
167173
this._heartbeatTimer = setInterval(() => {
168174
this._provider?.send('net_version', [])
169175
.then()
@@ -175,7 +181,8 @@ export class RekuProviderManager {
175181
}
176182

177183
private _clearHeartbeat() {
178-
clearInterval(this._heartbeatTimer)
184+
if (this._heartbeatTimer)
185+
clearInterval(this._heartbeatTimer)
179186
}
180187

181188
private _handleError() {

packages/utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@ora-io/utils",
33
"type": "module",
4-
"version": "0.1.1",
4+
"version": "0.1.2",
55
"packageManager": "[email protected]",
66
"description": "",
77
"author": "Norman (nom4dv3), MuRong",

0 commit comments

Comments
 (0)