Emergency Stop | solidity-patterns https://fravoll.github.io/solidity-patterns/emergency_stop.html

スマートコントラクトの動作を緊急停止できるようにする

openzeppelin 2.x にPausableというのがありOMGTokenコントラクトにもこの実装が入っている

4.xにはないの? と思ったけど単純にカテゴリが移動されたようだ

https://docs.openzeppelin.com/contracts/4.x/api/security#Pausable

誰が停止できるのか?

  • コントラクトの所有者 等だけアクセスできるよう実装する

どうやって停止するのか?

  • 停止フラグを変数として用意する
  • この変数を所有者のみが操作可能にする
  • またはサーキットブレーカー的な実装をいれておく

停止するとどうなるのか?

  • 実装次第
  • 例外処理で一部機能はそのまま動くようにしておくとか