Reserve replacement implementation review — read-only

Pinned PulseChain block: 27822113
Block hash: 0x5b30aeb416068ca84517dd10a217f48f20332521369b6b6bed6a35393ae13a06
Block timestamp UTC: 2026-10-17T17:02:45+00:00

1. stRSR replacement 0xe834864011e066f390f04c507b5d0bc23d338fb9
4804 runtime bytes. The actual proxy is 0x7db3c57001c80644208fb8aa81ba1200c7b0731d.
This is not the original ERC20 staking/voting behavior. Bytecode dispatch and read-only eth_call agree:
- getPastVotes(address,uint256) returns constant integer 1, ignoring account and block after ABI decoding. Confirmed for 48Fc, e121, and arbitrary 0x1111111111111111111111111111111111111111, with historic block pin-1.
- getPastTotalSupply(uint256) returns constant integer 1, ignoring block.
- delegates(address) returns address(this), therefore the actual proxy address when queried through the proxy.
- delegate(address) is a no-op body.
- getVotes(address), balanceOf(address), totalSupply() are absent from the dispatcher and hit revert. getVotes(arbitrary) independently confirmed to revert; other worker queried other getter failures.
- Executable instructions contain no CALLER, ORIGIN, or SSTORE opcodes. There is no evidence of an exclusive 48Fc caller authorization gate in this runtime.
- A generic external-call loop and ERC20 transfer/transferFrom operations are present. These were inspected statically only; no transaction or transfer simulation was attempted. Their presence is not a valuation or proof of a past withdrawal.
- The upgradeTo(address) selector does NOT implement a normal EIP1967 upgrade. Its body calls token.balanceOf(address(this)) and token.transfer using token address from slot 0 and recipient from slot 1. No SSTORE exists anywhere in executable code.
- Storage differs between standalone implementation and actual proxy. e834 own slot0 is 0x320623b8e4ff03373931769a31fc52a4e78b5d70 and slot1 is 48Fc. Actual 7db3 slot0=1 and slot1=0. Do not attribute implementation's own storage to proxy execution.

Confidence: high for the listed opcode behavior and getter results. This proves replaced/fixed historical voting responses, not exclusive ownership by 48Fc and not any specific successful withdrawal.

2. BackingManager replacement 0x0989b804e582ec37e8ba054c558eb304f493586a
1572 runtime bytes. Actual proxy is 0x61691c4181f876dd7e19d6742b367b48aa280ed3.
The replacement is itself a small proxy. Fallback obtains its delegatecall target as sload(sload(0)).
- On 0989 itself, slot0=the EIP1967 implementation slot; that slot holds 0xd6b2e1e448737bf873f73c23bace16c25a5f8022. Its own EIP1967 admin slot=48Fc.
- In actual BackingManager 61691 storage context, slot0=1 and slot1=0. Its fallback therefore delegates to address zero, consistent with other worker's successful empty 0x replies from ordinary BackingManager getters.
- proxiableUUID on 0989 returns EIP1967 slot, but on 61691 returns integer1. Both raw results recorded.
- Actual 61691 EIP1967 admin slot is zero, not48Fc. The replacement's upgrade/change-admin branches compare caller against THIS CONTEXT's admin slot.
Thus standalone control of 0989 is not proof that 48Fc has the same admin authority when its bytecode runs in 61691's storage context. Current ordinary BackingManager interface appears nonfunctional. This is materially different from a healthy standard Reserve deployment under new governance.

3. Method/limits
Only public RPC eth_getCode, eth_getStorageAt, eth_call and block/header reads; no signing, broadcasting or mutation execution. Full code, linear assembly, raw getter and storage responses retained. Linear disassembly includes metadata, but opcode counts and caller/access-control statement explicitly exclude CBOR metadata; the spurious final CALLER opcode inside e834 metadata must not be treated as executed code.
No verified Solidity source for replacement implementations was obtained; semantic claims are limited to the inspected runtime paths. Ordinary upstream documentation cannot certify these replacements.
