Skip to content

Commit a61fb2a

Browse files
committed
Cleanup, rename setters to buildX
1 parent 6fe99d3 commit a61fb2a

16 files changed

+190
-453
lines changed

src/actions/setConfirmPeriodBlocks.ts renamed to src/actions/buildSetConfirmPeriodBlocks.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Chain, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2-
import { rollupAdminLogic } from '../contracts';
2+
import { rollupABI } from '../contracts/Rollup';
33
import {
44
WithAccount,
55
ActionParameters,
@@ -9,32 +9,32 @@ import {
99
import { Prettify } from '../types/utils';
1010
import { getRollupAddress } from '../getRollupAddress';
1111
import { validateParentChainPublicClient } from '../types/ParentChain';
12-
import { withUpgradeExecutor } from '../withUpgradeExecutor';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
1313

14-
export type SetConfirmPeriodBlocksParameters<Curried extends boolean = false> = Prettify<
14+
export type BuildSetConfirmPeriodBlocksParameters<Curried extends boolean = false> = Prettify<
1515
WithUpgradeExecutor<
1616
WithAccount<ActionParameters<{ newPeriod: bigint }, 'rollupAdminLogic', Curried>>
1717
>
1818
>;
1919

20-
export type SetConfirmPeriodBlocksReturnType = PrepareTransactionRequestReturnTypeWithChainId;
20+
export type BuildSetConfirmPeriodBlocksReturnType = PrepareTransactionRequestReturnTypeWithChainId;
2121

22-
export async function setConfirmPeriodBlocks<TChain extends Chain | undefined>(
22+
export async function buildSetConfirmPeriodBlocks<TChain extends Chain>(
2323
client: PublicClient<Transport, TChain>,
24-
params: SetConfirmPeriodBlocksParameters,
25-
): Promise<SetConfirmPeriodBlocksReturnType> {
24+
{ params, account, upgradeExecutor, ...args }: BuildSetConfirmPeriodBlocksParameters,
25+
): Promise<BuildSetConfirmPeriodBlocksReturnType> {
2626
const validatedPublicClient = validateParentChainPublicClient(client);
27-
const rollupAdminLogicAddresss = await getRollupAddress(client, params);
28-
const { account, upgradeExecutor, newPeriod } = params;
27+
const rollupAdminLogicAddress =
28+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
2929

3030
const request = await client.prepareTransactionRequest({
31-
chain: client.chain,
31+
chain: client.chain as Chain | undefined,
3232
account,
33-
...withUpgradeExecutor({
34-
to: rollupAdminLogicAddresss,
33+
...prepareUpgradeExecutorCallParameters({
34+
to: rollupAdminLogicAddress,
3535
upgradeExecutor,
36-
args: [newPeriod],
37-
abi: rollupAdminLogic.abi,
36+
args: [params.newPeriod],
37+
abi: rollupABI,
3838
functionName: 'setConfirmPeriodBlocks',
3939
}),
4040
} satisfies PrepareTransactionRequestParameters);

src/actions/setExtraChallengeTimeBlocks.ts renamed to src/actions/buildSetExtraChallengeTimeBlocks.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Chain, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2-
import { rollupAdminLogic } from '../contracts';
2+
import { rollupABI } from '../contracts/Rollup';
33
import {
44
WithAccount,
55
ActionParameters,
@@ -9,32 +9,33 @@ import {
99
import { Prettify } from '../types/utils';
1010
import { getRollupAddress } from '../getRollupAddress';
1111
import { validateParentChainPublicClient } from '../types/ParentChain';
12-
import { withUpgradeExecutor } from '../withUpgradeExecutor';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
1313

14-
export type SetExtraChallengeTimeBlocksParameters<Curried extends boolean = false> = Prettify<
14+
export type BuildSetExtraChallengeTimeBlocksParameters<Curried extends boolean = false> = Prettify<
1515
WithUpgradeExecutor<
1616
WithAccount<ActionParameters<{ newExtraTimeBlocks: bigint }, 'rollupAdminLogic', Curried>>
1717
>
1818
>;
1919

20-
export type SetExtraChallengeTimeBlocksReturnType = PrepareTransactionRequestReturnTypeWithChainId;
20+
export type BuildSetExtraChallengeTimeBlocksReturnType =
21+
PrepareTransactionRequestReturnTypeWithChainId;
2122

22-
export async function setExtraChallengeTimeBlocks<TChain extends Chain | undefined>(
23+
export async function buildSetExtraChallengeTimeBlocks<TChain extends Chain>(
2324
client: PublicClient<Transport, TChain>,
24-
params: SetExtraChallengeTimeBlocksParameters,
25-
): Promise<SetExtraChallengeTimeBlocksReturnType> {
25+
{ params, account, upgradeExecutor, ...args }: BuildSetExtraChallengeTimeBlocksParameters,
26+
): Promise<BuildSetExtraChallengeTimeBlocksReturnType> {
2627
const validatedPublicClient = validateParentChainPublicClient(client);
27-
const rollupAdminLogicAddresss = await getRollupAddress(client, params);
28-
const { account, upgradeExecutor, newExtraTimeBlocks } = params;
28+
const rollupAdminLogicAddress =
29+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
2930

3031
const request = await client.prepareTransactionRequest({
31-
chain: client.chain,
32+
chain: client.chain as Chain | undefined,
3233
account,
33-
...withUpgradeExecutor({
34-
to: rollupAdminLogicAddresss,
34+
...prepareUpgradeExecutorCallParameters({
35+
to: rollupAdminLogicAddress,
3536
upgradeExecutor,
36-
args: [newExtraTimeBlocks],
37-
abi: rollupAdminLogic.abi,
37+
args: [params.newExtraTimeBlocks],
38+
abi: rollupABI,
3839
functionName: 'setExtraChallengeTimeBlocks',
3940
}),
4041
} satisfies PrepareTransactionRequestParameters);

src/actions/setMinimumAssertionPeriod.ts renamed to src/actions/buildSetMinimumAssertionPeriod.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Chain, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2-
import { rollupAdminLogic } from '../contracts';
2+
import { rollupABI } from '../contracts/Rollup';
33
import {
44
WithAccount,
55
ActionParameters,
@@ -9,32 +9,33 @@ import {
99
import { Prettify } from '../types/utils';
1010
import { getRollupAddress } from '../getRollupAddress';
1111
import { validateParentChainPublicClient } from '../types/ParentChain';
12-
import { withUpgradeExecutor } from '../withUpgradeExecutor';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
1313

14-
export type SetMinimumAssertionPeriodParameters<Curried extends boolean = false> = Prettify<
14+
export type BuildSetMinimumAssertionPeriodParameters<Curried extends boolean = false> = Prettify<
1515
WithUpgradeExecutor<
1616
WithAccount<ActionParameters<{ newPeriod: bigint }, 'rollupAdminLogic', Curried>>
1717
>
1818
>;
1919

20-
export type SetMinimumAssertionPeriodReturnType = PrepareTransactionRequestReturnTypeWithChainId;
20+
export type BuildSetMinimumAssertionPeriodReturnType =
21+
PrepareTransactionRequestReturnTypeWithChainId;
2122

22-
export async function setMinimumAssertionPeriod<TChain extends Chain | undefined>(
23+
export async function setMinimumAssertionPeriod<TChain extends Chain>(
2324
client: PublicClient<Transport, TChain>,
24-
params: SetMinimumAssertionPeriodParameters,
25-
): Promise<SetMinimumAssertionPeriodReturnType> {
25+
{ params, account, upgradeExecutor, ...args }: BuildSetMinimumAssertionPeriodParameters,
26+
): Promise<BuildSetMinimumAssertionPeriodReturnType> {
2627
const validatedPublicClient = validateParentChainPublicClient(client);
27-
const rollupAdminLogicAddresss = await getRollupAddress(client, params);
28-
const { account, upgradeExecutor, newPeriod } = params;
28+
const rollupAdminLogicAddress =
29+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
2930

3031
const request = await client.prepareTransactionRequest({
31-
chain: client.chain,
32+
chain: client.chain as Chain | undefined,
3233
account,
33-
...withUpgradeExecutor({
34-
to: rollupAdminLogicAddresss,
34+
...prepareUpgradeExecutorCallParameters({
35+
to: rollupAdminLogicAddress,
3536
upgradeExecutor,
36-
args: [newPeriod],
37-
abi: rollupAdminLogic.abi,
37+
args: [params.newPeriod],
38+
abi: rollupABI,
3839
functionName: 'setMinimumAssertionPeriod',
3940
}),
4041
} satisfies PrepareTransactionRequestParameters);

src/actions/setValidator.ts renamed to src/actions/buildSetValidator.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Address, Chain, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2-
import { rollupAdminLogic } from '../contracts';
2+
import { rollupABI } from '../contracts/Rollup';
33
import {
44
WithAccount,
55
ActionParameters,
@@ -9,9 +9,9 @@ import {
99
import { Prettify } from '../types/utils';
1010
import { getRollupAddress } from '../getRollupAddress';
1111
import { validateParentChainPublicClient } from '../types/ParentChain';
12-
import { withUpgradeExecutor } from '../withUpgradeExecutor';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
1313

14-
export type SetIsValidatorParameters<Curried extends boolean = false> = Prettify<
14+
export type BuildSetIsValidatorParameters<Curried extends boolean = false> = Prettify<
1515
WithUpgradeExecutor<
1616
WithAccount<
1717
ActionParameters<
@@ -26,27 +26,28 @@ export type SetIsValidatorParameters<Curried extends boolean = false> = Prettify
2626
>
2727
>;
2828

29-
export type SetIsValidatorReturnType = PrepareTransactionRequestReturnTypeWithChainId;
29+
export type BuildSetIsValidatorReturnType = PrepareTransactionRequestReturnTypeWithChainId;
3030

31-
export async function setValidators<TChain extends Chain | undefined>(
31+
export async function buildSetValidators<TChain extends Chain>(
3232
client: PublicClient<Transport, TChain>,
33-
params: SetIsValidatorParameters,
34-
): Promise<SetIsValidatorReturnType> {
33+
{ account, upgradeExecutor, params, ...args }: BuildSetIsValidatorParameters,
34+
): Promise<BuildSetIsValidatorReturnType> {
3535
const validatedPublicClient = validateParentChainPublicClient(client);
36-
const rollupAdminLogicAddresss = await getRollupAddress(client, params);
37-
const { account, upgradeExecutor, add: addressesToAdd, remove: addressesToRemove } = params;
36+
const rollupAdminLogicAddress =
37+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
38+
const { add: addressesToAdd, remove: addressesToRemove } = params;
3839

3940
const addState: boolean[] = new Array(addressesToAdd.length).fill(true);
4041
const removeState: boolean[] = new Array(addressesToRemove.length).fill(false);
4142

4243
const request = await client.prepareTransactionRequest({
43-
chain: client.chain,
44+
chain: client.chain as Chain | undefined,
4445
account,
45-
...withUpgradeExecutor({
46-
to: rollupAdminLogicAddresss,
46+
...prepareUpgradeExecutorCallParameters({
47+
to: rollupAdminLogicAddress,
4748
upgradeExecutor,
4849
args: [addressesToAdd.concat(addressesToRemove), addState.concat(removeState)],
49-
abi: rollupAdminLogic.abi,
50+
abi: rollupABI,
5051
functionName: 'setValidator',
5152
}),
5253
} satisfies PrepareTransactionRequestParameters);
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import { Chain, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2+
import { rollupABI } from '../contracts/Rollup';
3+
import {
4+
WithAccount,
5+
ActionParameters,
6+
WithUpgradeExecutor,
7+
PrepareTransactionRequestReturnTypeWithChainId,
8+
} from '../types/Actions';
9+
import { Prettify } from '../types/utils';
10+
import { getRollupAddress } from '../getRollupAddress';
11+
import { validateParentChainPublicClient } from '../types/ParentChain';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
13+
14+
export type BuildSetValidatorWhitelistDisabledParameters<Curried extends boolean = false> =
15+
Prettify<WithUpgradeExecutor<WithAccount<ActionParameters<{}, 'rollupAdminLogic', Curried>>>>;
16+
17+
export type BuildSetValidatorWhitelistDisabledReturnType =
18+
PrepareTransactionRequestReturnTypeWithChainId;
19+
20+
export async function buildSetValidatorWhitelistDisabled<TChain extends Chain>(
21+
client: PublicClient<Transport, TChain>,
22+
{
23+
account,
24+
upgradeExecutor,
25+
params,
26+
...args
27+
}: BuildSetValidatorWhitelistDisabledParameters & { params: { enable: boolean } },
28+
): Promise<BuildSetValidatorWhitelistDisabledReturnType> {
29+
const validatedPublicClient = validateParentChainPublicClient(client);
30+
const rollupAdminLogicAddress =
31+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
32+
33+
const request = await client.prepareTransactionRequest({
34+
chain: client.chain as Chain | undefined,
35+
account,
36+
...prepareUpgradeExecutorCallParameters({
37+
to: rollupAdminLogicAddress,
38+
upgradeExecutor,
39+
args: [params.enable],
40+
abi: rollupABI,
41+
functionName: 'setValidatorWhitelistDisabled',
42+
}),
43+
} satisfies PrepareTransactionRequestParameters);
44+
45+
return { ...request, chainId: validatedPublicClient.chain.id };
46+
}
47+
48+
export async function buildEnableValidatorWhitelist<TChain extends Chain>(
49+
client: PublicClient<Transport, TChain>,
50+
args: BuildSetValidatorWhitelistDisabledParameters,
51+
): Promise<BuildSetValidatorWhitelistDisabledReturnType> {
52+
return buildSetValidatorWhitelistDisabled(client, {
53+
...args,
54+
params: {
55+
enable: true,
56+
},
57+
});
58+
}
59+
60+
export async function buildDisableValidatorWhitelist<TChain extends Chain>(
61+
client: PublicClient<Transport, TChain>,
62+
args: BuildSetValidatorWhitelistDisabledParameters,
63+
): Promise<BuildSetValidatorWhitelistDisabledReturnType> {
64+
return buildSetValidatorWhitelistDisabled(client, {
65+
...args,
66+
params: {
67+
enable: false,
68+
},
69+
});
70+
}

src/actions/buildSetWasmModuleRoot.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { Chain, Hex, PrepareTransactionRequestParameters, PublicClient, Transport } from 'viem';
2+
import { rollupABI } from '../contracts/Rollup';
3+
import {
4+
WithAccount,
5+
ActionParameters,
6+
WithUpgradeExecutor,
7+
PrepareTransactionRequestReturnTypeWithChainId,
8+
} from '../types/Actions';
9+
import { Prettify } from '../types/utils';
10+
import { getRollupAddress } from '../getRollupAddress';
11+
import { validateParentChainPublicClient } from '../types/ParentChain';
12+
import { prepareUpgradeExecutorCallParameters } from '../prepareUpgradeExecutorCallParameters';
13+
14+
export type BuildSetWasmModuleRootParameters<Curried extends boolean = false> = Prettify<
15+
WithUpgradeExecutor<
16+
WithAccount<
17+
ActionParameters<
18+
{
19+
newWasmModuleRoot: Hex;
20+
},
21+
'rollupAdminLogic',
22+
Curried
23+
>
24+
>
25+
>
26+
>;
27+
28+
export type BuildSetWasmModuleRootReturnType = PrepareTransactionRequestReturnTypeWithChainId;
29+
30+
export async function buildSetWasmModuleRoot<TChain extends Chain>(
31+
client: PublicClient<Transport, TChain>,
32+
{ account, upgradeExecutor, params, ...args }: BuildSetWasmModuleRootParameters,
33+
): Promise<BuildSetWasmModuleRootReturnType> {
34+
const validatedPublicClient = validateParentChainPublicClient(client);
35+
const rollupAdminLogicAddress =
36+
'sequencerInbox' in args ? await getRollupAddress(client, args) : args.rollupAdminLogic;
37+
38+
const request = await client.prepareTransactionRequest({
39+
chain: client.chain as Chain | undefined,
40+
account,
41+
...prepareUpgradeExecutorCallParameters({
42+
to: rollupAdminLogicAddress,
43+
upgradeExecutor,
44+
args: [params.newWasmModuleRoot],
45+
abi: rollupABI,
46+
functionName: 'setWasmModuleRoot',
47+
}),
48+
} satisfies PrepareTransactionRequestParameters);
49+
50+
return { ...request, chainId: validatedPublicClient.chain.id };
51+
}

src/actions/invalidateKeysetHash.ts

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)