Skip to content

Commit 0f69720

Browse files
committed
Add study notes for 2025-08-21
1 parent 6e32e51 commit 0f69720

1 file changed

Lines changed: 120 additions & 0 deletions

File tree

kuove.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,126 @@ web2转型web3,希望学习测试与开发
1515
## Notes
1616

1717
<!-- Content_START -->
18+
# 2025-08-21
19+
20+
### **`totalSupply() → uint256` public**
21+
22+
请参见 [`IERC20.totalSupply`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-totalSupply--)
23+
24+
### **`balanceOf(address account) → uint256` public**
25+
26+
请参见 [`IERC20.balanceOf`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-balanceOf-address-)
27+
28+
### **`transfer(address recipient, uint256 amount) → bool` public**
29+
30+
请参见 [`IERC20.Transfer`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-Transfer-address-address-uint256-)
31+
32+
要求:
33+
34+
- `recipient` 不能是零地址。
35+
- 调用者必须至少具有 `amount` 的余额。
36+
37+
### **`allowance(address owner, address spender) → uint256` public**
38+
39+
请参见 [`IERC20.allowance`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-allowance-address-address-)
40+
41+
### **`approve(address spender, uint256 amount) → bool` public**
42+
43+
请参见 [`IERC20.approve`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-approve-address-uint256-)
44+
45+
要求:
46+
47+
- `spender` 不能是零地址。
48+
49+
### **`transferFrom(address sender, address recipient, uint256 amount) → bool` public**
50+
51+
请参见 [`IERC20.transferFrom`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-transferFrom-address-address-uint256-)
52+
53+
发出 [`Approval`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-Approval-address-address-uint256-) 事件,指示已更新的津贴。 EIP 中没有对此要求。 请参见 [`ERC20`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20) 开头的注释。
54+
55+
要求:
56+
57+
- `sender` 和 `recipient` 不能为零地址。
58+
- `sender` 必须至少具有 `amount` 的余额。
59+
- 调用者必须至少具有 `sender` 的 `amount` token 的津贴。
60+
61+
### **`increaseAllowance(address spender, uint256 addedValue) → bool` public**
62+
63+
以原子方式将授予 `spender` 的津贴增加调用者。
64+
65+
这是 [`approve`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-approve-address-uint256-) 的替代方法,可以用作 [`IERC20.approve`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-approve-address-uint256-) 中描述的问题的缓解措施。
66+
67+
发出 [`Approval`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-Approval-address-address-uint256-) 事件,指示已更新的津贴。
68+
69+
要求:
70+
71+
- `spender` 不能是零地址。
72+
73+
### **`decreaseAllowance(address spender, uint256 subtractedValue) → bool` public**
74+
75+
以原子方式将授予 `spender` 的津贴减少调用者。
76+
77+
这是 [`approve`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-approve-address-uint256-) 的替代方法,可以用作 [`IERC20.approve`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-approve-address-uint256-) 中描述的问题的缓解措施。
78+
79+
发出 [`Approval`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-Approval-address-address-uint256-) 事件,指示已更新的津贴。
80+
81+
要求:
82+
83+
- `spender` 不能是零地址。
84+
- `spender` 必须至少具有 `subtractedValue` 的调用者的津贴。
85+
86+
### **`_transfer(address sender, address recipient, uint256 amount)` internal**
87+
88+
将 `amount` 个 token 从 `sender` 转移到 `recipient`
89+
90+
此内部函数等效于 [`transfer`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-transfer-address-uint256-),可用于例如实施自动 token 费用、削减机制等。
91+
92+
发出一个 [`transfer`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-transfer-address-uint256-) 事件。
93+
94+
要求:
95+
96+
- `sender` 不能是零地址。
97+
- `recipient` 不能是零地址。
98+
- `sender` 必须至少具有 `amount` 的余额。
99+
100+
### **`_mint(address account, uint256 amount)` internal**
101+
102+
创建 `amount` 个 token 并将它们分配给 `account`,从而增加总供应量。
103+
104+
发出一个 [`transfer`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-transfer-address-uint256-) 事件,其中将 `from` 设置为零地址。
105+
106+
要求:
107+
108+
- `to` 不能是零地址。
109+
110+
### **`_burn(address account, uint256 amount)` internal**
111+
112+
从 `account` 销毁 `amount` 个 token,从而减少总供应量。
113+
114+
发出一个 [`transfer`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-transfer-address-uint256-) 事件,其中将 `to` 设置为零地址。
115+
116+
要求:
117+
118+
- `account` 不能是零地址。
119+
- `account` 必须至少具有 `amount` 个 token。
120+
121+
### **`_approve(address owner, address spender, uint256 amount)` internal**
122+
123+
设置 `amount` 作为 `spender` 对 `owner` 的 token 的津贴。
124+
125+
此内部函数等效于 `approve`,可用于例如为某些子系统设置自动津贴等。
126+
127+
发出一个 [`Approval`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-Approval-address-address-uint256-) 事件。
128+
129+
要求:
130+
131+
- `owner` 不能是零地址。
132+
- `spender` 不能是零地址。
133+
134+
### **`_setupDecimals(uint8 decimals_)` internal**
135+
136+
将 [`decimals`](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-decimals--) 设置为默认值 18 以外的值。
137+
18138
# 2025-08-20
19139

20140
### **`IERC20Metadata`**

0 commit comments

Comments
 (0)