-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'add-chain-public-actions-decorator' into create-parent-…
…chain-public-decorator
- Loading branch information
Showing
12 changed files
with
368 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'batchCount'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetBatchCountParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetBatchCountActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetBatchCountReturnType = ReadContractReturnType<SequencerInboxABI, 'batchCount'>; | ||
|
||
export async function getBatchCount<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetBatchCountParameters, | ||
): Promise<GetBatchCountReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'batchCount', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'bridge'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetBridgeParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetBridgeActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetBridgeReturnType = ReadContractReturnType<SequencerInboxABI, 'bridge'>; | ||
|
||
export async function getBridge<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetBridgeParameters, | ||
): Promise<GetBridgeReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'bridge', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'dasKeySetInfo'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetDasKeySetInfoParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetDasKeySetInfoActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetDasKeySetInfoReturnType = ReadContractReturnType<SequencerInboxABI, 'dasKeySetInfo'>; | ||
|
||
export async function getDasKeySetInfo<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetDasKeySetInfoParameters, | ||
): Promise<GetDasKeySetInfoReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'dasKeySetInfo', | ||
address: args.sequencerInbox, | ||
args: args.args, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'DATA_AUTHENTICATED_FLAG'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetDataAuthenticatedFlagParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetDataAuthenticatedFlagActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetDataAuthenticatedFlagReturnType = ReadContractReturnType< | ||
SequencerInboxABI, | ||
'DATA_AUTHENTICATED_FLAG' | ||
>; | ||
|
||
export async function getDataAuthenticatedFlag<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetDataAuthenticatedFlagParameters, | ||
): Promise<GetDataAuthenticatedFlagReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'DATA_AUTHENTICATED_FLAG', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'HEADER_LENGTH'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetHeaderLengthParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetHeaderLengthActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetHeaderLengthReturnType = ReadContractReturnType<SequencerInboxABI, 'HEADER_LENGTH'>; | ||
|
||
export async function getHeaderLength<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetHeaderLengthParameters, | ||
): Promise<GetHeaderLengthReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'HEADER_LENGTH', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'inboxAccs'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetInboxAccsParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetInboxAccsActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetInboxAccsReturnType = ReadContractReturnType<SequencerInboxABI, 'inboxAccs'>; | ||
|
||
export async function getInboxAccs<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetInboxAccsParameters, | ||
): Promise<GetInboxAccsReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'inboxAccs', | ||
address: args.sequencerInbox, | ||
args: args.args, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'getKeysetCreationBlock'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetKeysetCreationBlockParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetKeysetCreationBlockActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetKeysetCreationBlockReturnType = ReadContractReturnType< | ||
SequencerInboxABI, | ||
'getKeysetCreationBlock' | ||
>; | ||
|
||
export async function getKeysetCreationBlock<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetKeysetCreationBlockParameters, | ||
): Promise<GetKeysetCreationBlockReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'getKeysetCreationBlock', | ||
address: args.sequencerInbox, | ||
args: args.args, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'maxTimeVariation'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetMaxTimeVariationParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetMaxTimeVariationActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetMaxTimeVariationReturnType = ReadContractReturnType< | ||
SequencerInboxABI, | ||
'maxTimeVariation' | ||
>; | ||
|
||
export async function getMaxTimeVariation<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetMaxTimeVariationParameters, | ||
): Promise<GetMaxTimeVariationReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'maxTimeVariation', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'rollup'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetRollupParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetRollupActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetRollupReturnType = ReadContractReturnType<SequencerInboxABI, 'rollup'>; | ||
|
||
export async function getRollup<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetRollupParameters, | ||
): Promise<GetRollupReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'rollup', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'totalDelayedMessagesRead'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type GetTotalDelayedMessagesReadParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type GetTotalDelayedMessagesReadActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type GetTotalDelayedMessagesReadReturnType = ReadContractReturnType< | ||
SequencerInboxABI, | ||
'totalDelayedMessagesRead' | ||
>; | ||
|
||
export async function getTotalDelayedMessagesRead<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: GetTotalDelayedMessagesReadParameters, | ||
): Promise<GetTotalDelayedMessagesReadReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'totalDelayedMessagesRead', | ||
address: args.sequencerInbox, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'isBatchPoster'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type IsBatchPosterParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type IsBatchPosterActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type IsBatchPosterReturnType = ReadContractReturnType<SequencerInboxABI, 'isBatchPoster'>; | ||
|
||
export async function isBatchPoster<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: IsBatchPosterParameters, | ||
): Promise<IsBatchPosterReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'isBatchPoster', | ||
address: args.sequencerInbox, | ||
args: args.args, | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { Chain, GetFunctionArgs, PublicClient, ReadContractReturnType, Transport } from 'viem'; | ||
import { sequencerInbox } from '../contracts'; | ||
import { ActionParameters, WithContractAddress } from '../types/Actions'; | ||
|
||
type Args = GetFunctionArgs<SequencerInboxABI, 'isValidKeysetHash'>; | ||
type SequencerInboxABI = typeof sequencerInbox.abi; | ||
type IsValidKeysetHashParameters<Curried extends boolean = false> = WithContractAddress< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
export type IsValidKeysetHashActionParameters<Curried extends boolean> = ActionParameters< | ||
Args, | ||
'sequencerInbox', | ||
Curried | ||
>; | ||
|
||
export type IsValidKeysetHashReturnType = ReadContractReturnType< | ||
SequencerInboxABI, | ||
'isValidKeysetHash' | ||
>; | ||
|
||
export async function isValidKeysetHash<TChain extends Chain | undefined>( | ||
client: PublicClient<Transport, TChain>, | ||
args: IsValidKeysetHashParameters, | ||
): Promise<IsValidKeysetHashReturnType> { | ||
return client.readContract({ | ||
abi: sequencerInbox.abi, | ||
functionName: 'isValidKeysetHash', | ||
address: args.sequencerInbox, | ||
args: args.args, | ||
}); | ||
} |