mirror of
https://github.com/autistic-symposium/blockchains-security-toolkit.git
synced 2025-04-27 03:09:11 -04:00
29 lines
781 B
JavaScript
29 lines
781 B
JavaScript
// function to set USDC balance of ethereum mainnet forks by @janbro
|
|
|
|
|
|
const { ethers } = require("hardhat");
|
|
|
|
async function setUSDCBalance(account, balance) {
|
|
const balances_index = 9;
|
|
const USDC_ADDRESS = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; // ETH mainnet USDC address
|
|
|
|
// modify usdc's storage to give rich account large amount of tokens
|
|
const index = ethers.utils.solidityKeccak256(
|
|
["uint256", "uint256"],
|
|
[account, balances_index] // key, slot
|
|
);
|
|
|
|
await await ethers.provider.send(
|
|
"hardhat_setStorageAt",
|
|
[
|
|
USDC_ADDRESS,
|
|
index,
|
|
ethers.utils.hexlify(ethers.utils.zeroPad(balance.toHexString(), 32)).toString()
|
|
]
|
|
);
|
|
}
|
|
|
|
module.exports = {
|
|
setUSDCBalance,
|
|
};
|