Slide 30
Slide 30 text
コントラクトにユーザーが機能を追加できる
function() external payable {
:
if (msg.data.length > 0) {
address delegate = delegates[msg.sig];
:
assembly {
calldatacopy(0, 0, calldatasize())
let result := staticcall(gas, delegate, 0, calldatasize(), 0, 0)
returndatacopy(0, 0, returndatasize())
:
}
}
}
https://github.com/dapperlabs/dapper-contracts/blob/0321efcc80c413dc1d3a3cd30ae02929b3ddadfe/contracts/Wallet/CoreWallet.sol#L221
※ fallback 関数(無名の関数)は、コントラクトの関数呼び出しで関数シグネチャが見つからない場合に呼ばれる
● fallback 関数に、追加した機能を呼び出すしくみが入っている