pub fn suicide(
    contract_address: &AddressWithSpace,
    refund_address: &AddressWithSpace,
    state: &mut State,
    spec: &Spec,
    substate: &mut Substate,
    tracer: &mut dyn TracerTrait
) -> Result<()>
Expand description

The Actual Implementation of suicide. The contract which has non zero collateral_for_storage cannot suicide, otherwise it will:

  1. refund collateral for code
  2. refund sponsor balance
  3. refund contract balance
  4. kill the contract