Skip to content

Commit 4b70691

Browse files
committed
Solidity Version update from 0.8.4 to 0.8.21
This will compatible to newest version of OpenZeppelin contracts.
1 parent 7523394 commit 4b70691

File tree

295 files changed

+318
-319
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

295 files changed

+318
-319
lines changed

01_HelloWeb3/HelloWeb3.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract HelloWeb3{
44
string public _string = "Hello Web3!";
55
}

01_HelloWeb3/readme.md

+3-3

02_ValueTypes/ValueTypes.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract ValueTypes{
44
// 布尔值
55
bool public _bool = true;

03_Function/readme.md

+1-1

04_Return/Return.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// 返回多个变量
55
// 命名式返回

05_DataStorage/DataStorage.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract DataStorage {
55
// The data location of x is storage.

06_ArrayAndStruct/ArrayAndStruct.sol

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract ArrayTypes {
44

55
// 固定长度 Array
@@ -32,7 +32,7 @@ contract ArrayTypes {
3232
}
3333
}
3434

35-
pragma solidity ^0.8.4;
35+
pragma solidity ^0.8.21;
3636
contract StructTypes {
3737
// 结构体 Struct
3838
struct Student{
@@ -65,7 +65,7 @@ contract StructTypes {
6565
}
6666
}
6767

68-
pragma solidity ^0.8.4;
68+
pragma solidity ^0.8.21;
6969
contract EnumTypes {
7070
// 将uint 0, 1, 2表示为Buy, Hold, Sell
7171
enum ActionSet { Buy, Hold, Sell }

07_Mapping/Mapping.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract Mapping {
44
mapping(uint => address) public idToAddress; // id映射到地址
55
mapping(address => address) public swapPair; // 币对的映射,地址到地址

08_InitialValue/InitialValue.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract InitialValue {
55
// Value Types

10_InsertionSort/InsertionSort.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract InsertionSort {
44
// if else
55
function ifElseTest(uint256 _number) public pure returns(bool){

11_Modifier/Owner.sol

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Owner {
55
address public owner; // 定义owner变量
66

77
// 构造函数
8-
constructor() {
9-
owner = msg.sender; // 在部署合约的时候,将owner设置为部署者的地址
8+
constructor(address initialOwner) {
9+
owner = initialOwner; // 在部署合约的时候,将owner设置为传入的initialOwner地址
1010
}
1111

1212
// 定义modifier

11_Modifier/readme.md

+3-3

12_Event/Event.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract Events {
44
// 定义_balances映射变量,记录每个地址的持币数量
55
mapping(address => uint256) public _balances;

13_Inheritance/Inheritance.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// 合约继承
55
contract Yeye {

13_Inheritance/ModifierInheritance.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Base1 {
55
modifier exactDividedBy2And3(uint _a) virtual {

14_Interface/AbstractDemo.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
abstract contract Base{
44
string public name = "Base";
55
function getAlias() public pure virtual returns(string memory);

14_Interface/Interface.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
abstract contract InsertionSort{
55
function insertionSort(uint[] memory a) public pure virtual returns(uint[] memory);

14_Interface/InterfaceDemo.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
interface Base {
44
function getFirstName() external pure returns(string memory);
55
function getLastName() external pure returns(string memory);

15_Errors/Error.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// Gas cost在Remix中测试得到 使用0.8.17版本编译
55
// 参数使用 tokenId = 123, address = {any address}

16_Overloading/Overloading.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33
contract Overload {
44
function saySomething() public pure returns(string memory){
55
return("Nothing");

17_Library/Library.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
library Strings {
55
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

18_Import/Import.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// 通过文件相对位置import
55
import './Yeye.sol';

18_Import/Yeye.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// 第10讲合约继承中的Yeye合约
55
contract Yeye {

18_Import/readme.md

+1-1

19_Fallback/Fallback.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Fallback {
55
/* 触发fallback() 还是 receive()?

20_SendETH/SendETH.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// 3种方法发送ETH
55
// transfer: 2300 gas, revert

21_CallContract/CallContract.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract OtherContract {
55
uint256 private _x = 0; // 状态变量x

22_Call/Call.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract OtherContract {
55
uint256 private _x = 0; // 状态变量x

23_Delegatecall/Delegatecall.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// delegatecall和call类似,都是低级函数
55
// call: B call C, 上下文为 C (msg.sender = B, C中的状态变量受影响)

24_Create/Create.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Pair{
55
address public factory; // 工厂合约地址

25_Create2/Create2.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Pair{
55
address public factory; // 工厂合约地址

26_DeleteContract/DeleteContract.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
// selfdestruct: 删除合约,并强制将合约剩余的ETH转入指定账户
55

27_ABIEncode/ABIEncode.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract ABIEncode{
55
uint x = 10;

28_Hash/Hash.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Hash{
55
bytes32 _msg = keccak256(abi.encodePacked("0xAA"));

29_Selector/Selector.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract Selector{
55
// event 返回msg.data

30_TryCatch/TryCatch.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
pragma solidity ^0.8.4;
2+
pragma solidity ^0.8.21;
33

44
contract OnlyEven{
55
constructor(uint a){

31_ERC20/ERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MIT
22
// WTF Solidity by 0xAA
33

4-
pragma solidity ^0.8.4;
4+
pragma solidity ^0.8.21;
55

66
import "./IERC20.sol";
77

31_ERC20/IERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MIT
22
// WTF Solidity by 0xAA
33

4-
pragma solidity ^0.8.4;
4+
pragma solidity ^0.8.21;
55

66
/**
77
* @dev ERC20 接口合约.

32_Faucet/Faucet.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: MIT
22
// By 0xAA
3-
pragma solidity ^0.8.4;
3+
pragma solidity ^0.8.21;
44

55
import "./IERC20.sol"; //import IERC20
66

32_Faucet/IERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MIT
22
// WTF Solidity by 0xAA
33

4-
pragma solidity ^0.8.4;
4+
pragma solidity ^0.8.21;
55

66
/**
77
* @dev ERC20 接口合约.

33_Airdrop/Airdrop.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: MIT
22
// By 0xAA
3-
pragma solidity ^0.8.4;
3+
pragma solidity ^0.8.21;
44

55
import "./IERC20.sol"; //import IERC20
66

33_Airdrop/IERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MIT
22
// WTF Solidity by 0xAA
33

4-
pragma solidity ^0.8.4;
4+
pragma solidity ^0.8.21;
55

66
/**
77
* @dev ERC20 接口合约.

34_ERC721/ERC721.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: MIT
22
// by 0xAA
3-
pragma solidity ^0.8.4;
3+
pragma solidity ^0.8.21;
44

55
import "./IERC165.sol";
66
import "./IERC721.sol";

34_ERC721/String.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: MIT
22
// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)
33

4-
pragma solidity ^0.8.4;
4+
pragma solidity ^0.8.21;
55

66
/**
77
* @dev String operations.

34_ERC721/WTFApe.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: MIT
22
// by 0xAA
3-
pragma solidity ^0.8.4;
3+
pragma solidity ^0.8.21;
44

55
import "./ERC721.sol";
66

0 commit comments

Comments
 (0)