1- import { Effect , Layer , pipe } from "effect" ;
1+ import { Effect , Layer , Runtime , Scope , pipe } from "effect" ;
22import { RPCProviderLive } from "./rpc-provider" ;
33import {
44 decodeTransactionByHash ,
@@ -7,13 +7,7 @@ import {
77import { AbiStoreLive , ContractMetaStoreLive } from "./contract-loader" ;
88
99const LoadersLayer = Layer . mergeAll ( AbiStoreLive , ContractMetaStoreLive ) ;
10- const MainLayer = Layer . provideMerge ( RPCProviderLive , LoadersLayer ) ;
11-
12- const customRuntime = pipe (
13- Layer . toRuntime ( MainLayer ) ,
14- Effect . scoped ,
15- Effect . runSync ,
16- ) ;
10+ const MainLayer = LoadersLayer . pipe ( Layer . provideMerge ( RPCProviderLive ) ) ;
1711
1812export async function decodeTransaction ( {
1913 chainID,
@@ -22,10 +16,12 @@ export async function decodeTransaction({
2216 chainID : number ;
2317 hash : string ;
2418} ) : Promise < DecodedTx | undefined > {
25- return decodeTransactionByHash ( hash , chainID )
26- . pipe ( Effect . provideSomeRuntime ( customRuntime ) , Effect . runPromise )
27- . catch ( ( error : unknown ) => {
28- console . error ( "Decode error" , JSON . stringify ( error , null , 2 ) ) ;
29- return undefined ;
30- } ) ;
19+ const runnable = Effect . provide (
20+ decodeTransactionByHash ( hash , chainID ) ,
21+ MainLayer ,
22+ ) ;
23+ return Effect . runPromise ( runnable ) . catch ( ( error : unknown ) => {
24+ console . error ( "Decode error" , JSON . stringify ( error , null , 2 ) ) ;
25+ return undefined ;
26+ } ) ;
3127}
0 commit comments