Skip to content

Commit 437fbde

Browse files
committed
Split specification alternatives via bytecode vs. codehash
1 parent e8d90e5 commit 437fbde

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

EIPS/eip-999.md

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ EVM semantics and tries to achieve the goal of unfreezing the funds by a single
3737
state transition as specified in the next section.
3838

3939
## Specification
40-
41-
### High-level Overview
42-
4340
The self-destructed contract code at
4441
[`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4`](https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4#code)
4542
shall be replaced with a patched version of the
@@ -72,9 +69,11 @@ Remove the `selfdestruct()`
7269
* [parity-contracts/0x863df6bfa4#3](https://github.com/parity-contracts/0x863df6bfa4/pull/3):
7370
Initialize the library owner to `0x0`
7471

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

76-
### Direct State Transition
77-
76+
### Direct State Transition via Bytecode (999a)
7877
At `CNSTNTNPL_FORK_BLKNUM`, directly recreate the account
7978
`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4` with the following parameters:
8079

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

9897
The balance of the account shall be left unchanged.
9998

99+
### Alternate Specification via Codehash (999b)
100+
At `CNSTNTNPL_FORK_BLKNUM`, directly recreate the account
101+
`0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4` with the following parameters:
102+
103+
* Nonce: `0x1`
104+
* Storage:
105+
* `0x0000000000000000000000000000000000000000000000000000000000000000`:
106+
`0x0000000000000000000000000000000000000000000000000000000000000001`
107+
* `0x0000000000000000000000000000000000000000000000000000000000000001`:
108+
`0x0000000000000000000000000000000000000000000000000000000000000001`
109+
* `0x0000000000000000000000000000000000000000000000000000000000000004`:
110+
`0x00000000000000000000000000000000000000000000000000000000000044e1`
111+
* `0xa5baec7d73105a3c7298203bb205bbc41b63fa384ae73a6016b890a7ca29ae2d`:
112+
`0x0000000000000000000000000000000000000000000000000000000000000001`
113+
114+
In addition, the codehash at that address shall be replaced by the codehash at
115+
address `0x21C9E434c669c4d73f55215A6F2130A185E127AC`. The codehash is
116+
`0x6209d55547da7b035d54ef8d73275e863d3072b91da6ace1614fa6381f4e2c09`. The
117+
balance of the account shall be left unchanged.
118+
100119
## Rationale
101120
The design decision to restore the `WalletLibrary` contract code in a single
102121
state transition was made after lengthy discussions of

0 commit comments

Comments
 (0)