2
2
import type { ContractEventPayload } from 'ethers'
3
3
import { Logger , objectKeys , randomStr , redisStore } from '@ora-io/utils'
4
4
import type { ListenOptions , ToKeyFn } from '../../src'
5
- import { CheckTransactionStatus , Orap , StoreManager , getMiddlewareContext } from '../../src'
5
+ import { Orap , StoreManager , getMiddlewareContext } from '../../src'
6
6
import ABI from './erc20.abi.json'
7
7
8
8
const MAINNET_USDT_ADDR = '0xdAC17F958D2ee523a2206206994597C13D831ec7'
@@ -24,7 +24,12 @@ export function startDemo(options: ListenOptions, storeConfig?: any) {
24
24
25
25
const toKey : ToKeyFn = ( from : string , _to : string , _amount : number ) => `${ from } _${ randomStr ( 4 ) } `
26
26
27
- const event = orap . event ( eventSignalParam . address , eventSignalParam . abi , eventSignalParam . eventName )
27
+ const event = orap . event ( {
28
+ address : eventSignalParam . address ,
29
+ abi : eventSignalParam . abi ,
30
+ eventName : eventSignalParam . eventName ,
31
+ enableSubscribe : false ,
32
+ } )
28
33
. crosscheck ( {
29
34
store,
30
35
storeKeyPrefix : 'ora-stack:orap:demo:cc:' ,
@@ -43,27 +48,34 @@ export function startDemo(options: ListenOptions, storeConfig?: any) {
43
48
. key ( toKey )
44
49
. prefix ( 'ora-stack:orap:demo:TransferTask:' , 'ora-stack:orap:demo:Done-TransferTask:' )
45
50
. ttl ( { taskTtl : 120000 , doneTtl : 60000 } )
46
- . use ( CheckTransactionStatus ( options . wsProvider ) )
51
+ // .use(CheckTransactionStatus(options.wsProvider))
47
52
. handle ( handleTask )
48
53
// add another task
49
- . another ( )
50
- . task ( )
51
- . prefix ( 'ora-stack:orap:demo:AnotherTask:' , 'ora-stack:orap:demo:Done-AnotherTask:' )
52
- . cache ( sm ) // rm to use mem by default
53
- . ttl ( { taskTtl : 20000 , doneTtl : 20000 } )
54
- . handle ( handleTask_2 )
55
-
56
- event . stop ( )
54
+ // .another()
55
+ // .task()
56
+ // .prefix('ora-stack:orap:demo:AnotherTask:', 'ora-stack:orap:demo:Done-AnotherTask:')
57
+ // .cache(sm) // rm to use mem by default
58
+ // .ttl({ taskTtl: 20000, doneTtl: 20000 })
59
+ // .handle(handleTask_2)
57
60
58
61
// start signal listener
59
62
orap . listen (
60
63
options ,
61
64
( ) => { logger . log ( 'listening on provider.network' ) } ,
62
65
)
66
+
67
+ setTimeout ( ( ) => {
68
+ logger . log ( '[+] add another address' )
69
+ event . addresses ( [
70
+ eventSignalParam . address ,
71
+ '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' ,
72
+ ] )
73
+ event . restart ( )
74
+ } , 10 * 1000 )
63
75
}
64
76
65
- async function handleTask ( from : string , to : string , amount : number , _event : ContractEventPayload ) {
66
- logger . log ( '[+] handleTask: from =' , from , 'to =' , to , 'amount =' , amount )
77
+ async function handleTask ( from : string , to : string , amount : number , event : ContractEventPayload ) {
78
+ logger . log ( '[+] handleTask: from =' , from , 'to =' , to , 'amount =' , amount , 'address =' , event . log . address )
67
79
const args = objectKeys ( arguments ) . map ( k => arguments [ k ] )
68
80
69
81
const { next } = getMiddlewareContext ( ...args )
@@ -76,10 +88,10 @@ async function newEventSignalHook(from: string, to: string, amount: number, even
76
88
return true // true to continue handle tasks, false to hijack the process.
77
89
}
78
90
79
- async function handleTask_2 ( from : string , to : string , amount : number ) {
80
- logger . log ( '[+] handleTask_2: from =' , from , 'to =' , to , 'amount =' , amount )
81
- const args = objectKeys ( arguments ) . map ( k => arguments [ k ] )
91
+ // async function handleTask_2(from: string, to: string, amount: number) {
92
+ // logger.log('[+] handleTask_2: from =', from, 'to =', to, 'amount =', amount)
93
+ // const args = objectKeys(arguments).map(k => arguments[k])
82
94
83
- const { next } = getMiddlewareContext ( ...args )
84
- await next ( )
85
- }
95
+ // const { next } = getMiddlewareContext(...args)
96
+ // await next()
97
+ // }
0 commit comments