欢迎订阅专栏:3分钟Solidity--智能合约--Web3区块链技术必学
Foundry 发送
要获取此内容的最新版本,请访问 Cyfrin.io 上的 Foundry 发送(代码示例)。
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
import "forge-std/Test.sol";
// 交易和恶作剧的示例
// deal(address, uint) - 设置地址的ETH余额
// deal(address, address, uint256) - 设置ERC20代币余额(适用于大多数代币)
// hoax(address, uint) - deal + prank
contract ERC20 {
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
}
contract SendTest is Test {
ERC20 token = new ERC20();
function testSendEth() public {
// 设置ETH余额
deal(address(1), 100);
assertEq(address(1).balance, 100);
// 设置ERC20余额
deal(address(token), address(1), 10);
assertEq(token.balanceOf(address(1)), 10);
}
}