Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite02202a

Browse files
committed
refactor(cli): rename input functions
1 parent1316212 commite02202a

File tree

3 files changed

+24
-26
lines changed

3 files changed

+24
-26
lines changed

‎Makefile‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ exec\:%:
2323
forge script script/ExecTransaction.s.sol --$* --broadcast
2424

2525
clean:
26-
cp data/template.json data/tx.json
2726
> data/hashData.txt
2827
> data/signatures.txt
2928

‎builder.ts‎

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
import{input,select}from"@inquirer/prompts";
2-
import{Contract,FunctionFragment,getDefaultProvider,isAddress,isHexString,parseUnits,toBigInt}from"ethers";
2+
import{
3+
Contract,
4+
FunctionFragment,
5+
getDefaultProvider,
6+
isAddress,
7+
isHexString,
8+
parseUnits,
9+
toBigInt,
10+
ZeroAddress,
11+
}from"ethers";
312
import{TransactionType,encodeMulti,MetaTransaction,OperationType,encodeSingle}from"ethers-multisend";
413
import{spawnSync}from"child_process";
514
import{writeFileSync}from"fs";
@@ -23,13 +32,13 @@ const trial =
2332
}
2433
};
2534

26-
constaddress=(config:{message:string;default?:string})=>
35+
constinputAddress=(config:{message:string;default?:string})=>
2736
input({
2837
...config,
2938
validate:trial((value)=>isAddress(value),"Invalid address"),
3039
});
3140

32-
constnumber=(config:{message:string;min:number;default?:string})=>
41+
constinputNumber=(config:{message:string;min:number;default?:string})=>
3342
input({
3443
...config,
3544
validate:trial((value)=>{
@@ -51,13 +60,13 @@ const number = (config: { message: string; min: number; default?: string }) =>
5160
console.log(`\n --- Safe Transaction Options ---\n`);
5261

5362
constnbTxs=parseInt(
54-
awaitnumber({
63+
awaitinputNumber({
5564
message:"How many transactions do you want to batch?",
5665
default:"1",
5766
min:1,
5867
})
5968
);
60-
constgasToken=awaitaddress({
69+
constgasToken=awaitinputAddress({
6170
message:`With which ERC20 token do you want to pay gas? (default: ETH)`,
6271
default:"0x0000000000000000000000000000000000000000",
6372
});
@@ -84,7 +93,7 @@ const number = (config: { message: string; min: number; default?: string }) =>
8493

8594
switch(txType){
8695
caseTransactionType.callContract:
87-
to=awaitaddress({message:prefix+`Contract address`});
96+
to=awaitinputAddress({message:prefix+`Contract address`});
8897

8998
constfunctionSelector=awaitinput({
9099
message:prefix+`Function selector`,
@@ -115,7 +124,7 @@ const number = (config: { message: string; min: number; default?: string }) =>
115124
if(!isHexString(data))
116125
throwError(`An error happened when encoding calldata:\n${data}\n${subprocess.stderr.toString().trim()}`);
117126

118-
value=awaitnumber({
127+
value=awaitinputNumber({
119128
message:prefix+`Value (ETH)`,
120129
default:"0",
121130
min:0,
@@ -151,7 +160,7 @@ const number = (config: { message: string; min: number; default?: string }) =>
151160
},"Invalid ERC20 address"),
152161
});
153162

154-
to=awaitaddress({message:prefix+`Recipient address`});
163+
to=awaitinputAddress({message:prefix+`Recipient address`});
155164
constamount=parseUnits(
156165
awaitinput({
157166
message:prefix+`Amount`,
@@ -165,12 +174,12 @@ const number = (config: { message: string; min: number; default?: string }) =>
165174
break;
166175

167176
caseTransactionType.transferCollectible:
168-
constcollectible=awaitaddress({
177+
constcollectible=awaitinputAddress({
169178
message:prefix+`Collectible address`,
170179
});
171180

172-
constfrom=awaitaddress({message:prefix+`From address`,default:process.env.SAFE});
173-
to=awaitaddress({message:prefix+`Recipient address`});
181+
constfrom=awaitinputAddress({message:prefix+`From address`,default:process.env.SAFE});
182+
to=awaitinputAddress({message:prefix+`Recipient address`});
174183

175184
consttokenId=awaitinput({
176185
message:prefix+`Token ID`,
@@ -182,13 +191,13 @@ const number = (config: { message: string; min: number; default?: string }) =>
182191
break;
183192

184193
caseTransactionType.raw:
185-
to=awaitaddress({message:prefix+`Target address`});
194+
to=awaitinputAddress({message:prefix+`Target address`});
186195
data=awaitinput({
187196
message:prefix+`Calldata`,
188197
validate:trial((value)=>isHexString(value),"Invalid calldata"),
189198
});
190199

191-
value=awaitnumber({
200+
value=awaitinputNumber({
192201
message:prefix+`Value (ETH)`,
193202
default:"0",
194203
min:0,
@@ -210,11 +219,12 @@ const number = (config: { message: string; min: number; default?: string }) =>
210219
JSON.stringify(
211220
{
212221
...tx,
222+
value:toBigInt(tx.value).toString(),
213223
safeTxGas:0,
214224
baseGas:0,
215225
gasPrice:0,
216226
gasToken,
217-
refundReceiver:"0x0000000000000000000000000000000000000000",
227+
refundReceiver:ZeroAddress,
218228
},
219229
undefined,
220230
4

‎data/template.json‎

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp