solidity 函数中的大括号

Curly Bracket in a solidity function

我想知道大括号在那种情况下是什么意思?

uint64 configCount = s_configCount;
    {
      s_hotVars.latestConfigDigest = configDigestFromConfigData(
        address(this),
        configCount,
        _signers,
        _transmitters,
        _threshold,
        _encodedConfigVersion,
        _encoded
      );
      s_hotVars.latestEpochAndRound = 0;
    }```

他们为什么使用 {}?为什么他们不写这样的代码:

uint64 configCount = s_configCount;
s_hotVars.latestConfigDigest = configDigestFromConfigData(address(this),configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded);
s_hotVars.latestEpochAndRound = 0;

大括号用于 scoping rules

他们还分配了一个新的栈帧。因为小栈是EVM开发者的痛。深度调用结构需要作用域以避免 .