SolidityUUPSUpgradeToこのページの見出しUpgradeTo upgradeToについて学習します upgradeTo UUPSではアップグレード関数は実装コントラクトに存在する ただし、初回のアップグレード(プロキシコントラクトに対して実装コントラクトを設定する)のためにプロキシコントラクトにもupgradeTo関数が存在する 2回目以降のアップグレードは実装コントラクト側のupgradeToを利用するが、このとき誰でもアップグレードできないようにするためauthorize関数に制限を記述する必要がある Reference https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/ERC1967/ERC1967Utils.sol https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/proxy/utils/UUPSUpgradeable.sol https://docs.openzeppelin.com/upgrades-plugins/1.x/#managing-ownership