Skip to content

include fetchSupportedERC20TokensAndPaymasterMetadata method in pay g… #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 4, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -80,26 +80,31 @@ async function main(): Promise<void> {
paymasterRPC,
)

userOperation = await paymaster.createTokenPaymasterUserOperation(
smartAccount,
userOperation,
paymasterTokenAddress,
bundlerUrl,
)
const tokensSupported = await paymaster.fetchSupportedERC20TokensAndPaymasterMetadata();
const tokenSelected = tokensSupported.tokens.find(token => token.address.toLocaleLowerCase() === paymasterTokenAddress.toLowerCase());

const cost = await paymaster.calculateUserOperationErc20TokenMaxGasCost(
userOperation,
paymasterTokenAddress
)
console.log("This useroperation may cost upto : " + cost + " wei in CTT token")
console.log(
"Please fund the sender account : " +
userOperation.sender +
" with more than "+ cost + " wei CTT token"
)
console.log("This example uses a Candide token paymaster.")
console.log("Please visit https://dashboard.candide.dev/ to get a token paymaster url.")
console.log("Please visit our Discord to get some CTT token for testing")
console.log("This example uses Candide Token Paymaster");
console.log("Please visit https://dashboard.candide.dev/ to get a Paymaster URL");
console.log("Visit our Discord to get some CTT token for testing");

if (tokenSelected) {
userOperation = await paymaster.createTokenPaymasterUserOperation(
smartAccount,
userOperation,
tokenSelected.address,
bundlerUrl,
)
const cost = await paymaster.calculateUserOperationErc20TokenMaxGasCost(
userOperation,
tokenSelected.address,
)
console.log("This useroperation may cost upto : " + cost + " wei in CTT token")
console.log(
"Please fund the sender account : " +
userOperation.sender +
" with more than " + cost + " wei CTT token"
)
}

//Safe is a multisig that can have multiple owners/signers
//signUserOperation will create a signature for the provided
Expand Down