Skip to content

ZkgmIncomingMessage.ts

This module describes a superset of events during finite-state machine execution following {@link ZkgmClient} execution.

Added in v2.0.0

Signature

export type LifecycleEvent = Data.TaggedEnum<{
// EVM
EvmTransactionReceiptComplete: {
transactionHash: Hex & Brand.Brand<"Hash">
blockHash: Hex & Brand.Brand<"Hash">
gasUsed: bigint
}
WaitForSafeWalletHash: {
hash: Hex & Brand.Brand<"Hash">
}
// Cosmos
// Agnostic
Indexed: {
packetHash: PacketHash
}
}>

Source: src/ZkgmIncomingMessage.ts:27

Added in v2.0.0

Signature

export interface ZkgmIncomingMessage<E> extends Inspectable.Inspectable {
[TypeId]: TypeId
/** lifecycle and chain events in temporal order */
readonly stream: Stream.Stream<LifecycleEvent, E>
/**
* - add default ucompletion handler (index)
* - allow pred fn
*/
readonly waitFor: <A extends LifecycleEvent>(
refinement: Predicate.Refinement<NoInfer<LifecycleEvent>, A>
) => Effect.Effect<Option.Option<A>, E>
}

Source: src/ZkgmIncomingMessage.ts:54

Added in v2.0.0

Signature

export declare const TypeId: typeof TypeId

Source: src/ZkgmIncomingMessage.ts:15

Added in v2.0.0

Signature

export type TypeId = typeof TypeId

Source: src/ZkgmIncomingMessage.ts:21

Added in v2.0.0

Signature

export declare const LifecycleEvent: {
readonly EvmTransactionReceiptComplete: Data.Case.Constructor<
{
readonly _tag: "EvmTransactionReceiptComplete"
readonly transactionHash: Hex & Brand.Brand<"Hash">
readonly blockHash: Hex & Brand.Brand<"Hash">
readonly gasUsed: bigint
},
"_tag"
>
readonly WaitForSafeWalletHash: Data.Case.Constructor<
{ readonly _tag: "WaitForSafeWalletHash"; readonly hash: Hex & Brand.Brand<"Hash"> },
"_tag"
>
readonly Indexed: Data.Case.Constructor<{ readonly _tag: "Indexed"; readonly packetHash: PacketHash }, "_tag">
readonly $is: <Tag>(
tag: Tag
) => (
u: unknown
) => u is Extract<
| {
readonly _tag: "EvmTransactionReceiptComplete"
readonly transactionHash: Hex & Brand.Brand<"Hash">
readonly blockHash: Hex & Brand.Brand<"Hash">
readonly gasUsed: bigint
}
| { readonly _tag: "WaitForSafeWalletHash"; readonly hash: Hex & Brand.Brand<"Hash"> }
| { readonly _tag: "Indexed"; readonly packetHash: PacketHash },
{ readonly _tag: Tag }
>
readonly $match: {
<Cases>(
cases: Cases
): (
value:
| {
readonly _tag: "EvmTransactionReceiptComplete"
readonly transactionHash: Hex & Brand.Brand<"Hash">
readonly blockHash: Hex & Brand.Brand<"Hash">
readonly gasUsed: bigint
}
| { readonly _tag: "WaitForSafeWalletHash"; readonly hash: Hex & Brand.Brand<"Hash"> }
| { readonly _tag: "Indexed"; readonly packetHash: PacketHash }
) => Unify<ReturnType<Cases["EvmTransactionReceiptComplete" | "WaitForSafeWalletHash" | "Indexed"]>>
<Cases>(
value:
| {
readonly _tag: "EvmTransactionReceiptComplete"
readonly transactionHash: Hex & Brand.Brand<"Hash">
readonly blockHash: Hex & Brand.Brand<"Hash">
readonly gasUsed: bigint
}
| { readonly _tag: "WaitForSafeWalletHash"; readonly hash: Hex & Brand.Brand<"Hash"> }
| { readonly _tag: "Indexed"; readonly packetHash: PacketHash },
cases: Cases
): Unify<ReturnType<Cases["EvmTransactionReceiptComplete" | "WaitForSafeWalletHash" | "Indexed"]>>
}
}

Source: src/ZkgmIncomingMessage.ts:48

Added in v2.0.0

Signature

export declare const inspect: <E>(self: ZkgmIncomingMessage<E>, that: object) => object

Source: src/ZkgmIncomingMessage.ts:81

Added in v2.0.0

Signature

export declare const isComplete: (
value:
| {
readonly _tag: "EvmTransactionReceiptComplete"
readonly transactionHash: Hex & Brand.Brand<"Hash">
readonly blockHash: Hex & Brand.Brand<"Hash">
readonly gasUsed: bigint
}
| { readonly _tag: "WaitForSafeWalletHash"; readonly hash: Hex & Brand.Brand<"Hash"> }
| { readonly _tag: "Indexed"; readonly packetHash: PacketHash }
) => Unify<ReturnType<LazyArg<boolean>>>

Source: src/ZkgmIncomingMessage.ts:71

Added in v2.0.0