Skip to content

Commit

Permalink
Split specification alternatives via bytecode vs. codehash
Browse files Browse the repository at this point in the history
  • Loading branch information
5chdn committed Apr 15, 2018
1 parent e8d90e5 commit 437fbde
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions EIPS/eip-999.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ EVM semantics and tries to achieve the goal of unfreezing the funds by a single
state transition as specified in the next section.

## Specification

### High-level Overview

The self-destructed contract code at
[`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4`](https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4#code)
shall be replaced with a patched version of the
Expand Down Expand Up @@ -72,9 +69,11 @@ Remove the `selfdestruct()`
* [parity-contracts/0x863df6bfa4#3](https://github.com/parity-contracts/0x863df6bfa4/pull/3):
Initialize the library owner to `0x0`

The following sections propose two equivalent specifications, 999a and 999b,
which technically achieve the same results. To implement this proposal only one
of them has to be applied.

### Direct State Transition

### Direct State Transition via Bytecode (999a)
At `CNSTNTNPL_FORK_BLKNUM`, directly recreate the account
`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4` with the following parameters:

Expand All @@ -97,6 +96,26 @@ At `CNSTNTNPL_FORK_BLKNUM`, directly recreate the account

The balance of the account shall be left unchanged.

### Alternate Specification via Codehash (999b)
At `CNSTNTNPL_FORK_BLKNUM`, directly recreate the account
`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4` with the following parameters:

* Nonce: `0x1`
* Storage:
* `0x0000000000000000000000000000000000000000000000000000000000000000`:
`0x0000000000000000000000000000000000000000000000000000000000000001`
* `0x0000000000000000000000000000000000000000000000000000000000000001`:
`0x0000000000000000000000000000000000000000000000000000000000000001`
* `0x0000000000000000000000000000000000000000000000000000000000000004`:
`0x00000000000000000000000000000000000000000000000000000000000044e1`
* `0xa5baec7d73105a3c7298203bb205bbc41b63fa384ae73a6016b890a7ca29ae2d`:
`0x0000000000000000000000000000000000000000000000000000000000000001`

In addition, the codehash at that address shall be replaced by the codehash at
address `0x21C9E434c669c4d73f55215A6F2130A185E127AC`. The codehash is
`0x6209d55547da7b035d54ef8d73275e863d3072b91da6ace1614fa6381f4e2c09`. The
balance of the account shall be left unchanged.

## Rationale
The design decision to restore the `WalletLibrary` contract code in a single
state transition was made after lengthy discussions of
Expand Down

0 comments on commit 437fbde

Please sign in to comment.