【发布时间】:2019-06-29 00:19:56
【问题描述】:
"Modular Contracts" 中有使用映射的示例代码,但我看不到分配每个映射索引的值的位置。
映射定义为:
mapping(address => uint256) balances;
并将其传递到库函数“Balances”中:
library Balances {
function move(mapping(address => uint256) storage balances,
address from,
address to,
uint amount) internal {
require(balances[from] >= amount);
require(balances[to] + amount >= balances[to]);
balances[from] -= amount;
balances[to] += amount;
...
但我看不到在完整的code example 的任何部分中最初将任何值添加到balances 的位置。
move 函数首先检查是否为balances[from] >= amount。在该函数的末尾,您会看到它对已识别的balances 进行了加减运算,但永远不会到达该代码,对吧?因为require(balances[from] >= amount); 总是返回false。
我错过了什么?
【问题讨论】: