Commit 0eb8edea authored by inphi's avatar inphi Committed by clabby

update preimage oracle input

parent 3f4ba769
...@@ -27,7 +27,7 @@ var ( ...@@ -27,7 +27,7 @@ var (
StepBytes4 = crypto.Keccak256([]byte("step(bytes,bytes)"))[:4] StepBytes4 = crypto.Keccak256([]byte("step(bytes,bytes)"))[:4]
CheatBytes4 = crypto.Keccak256([]byte("cheat(uint256,bytes32,bytes32,uint256)"))[:4] CheatBytes4 = crypto.Keccak256([]byte("cheat(uint256,bytes32,bytes32,uint256)"))[:4]
LoadKeccak256PreimagePartBytes4 = crypto.Keccak256([]byte("loadKeccak256PreimagePart(uint256,bytes)"))[:4] LoadKeccak256PreimagePartBytes4 = crypto.Keccak256([]byte("loadKeccak256PreimagePart(uint256,bytes)"))[:4]
LoadLocalDataBytes4 = crypto.Keccak256([]byte("loadLocalData(uint256,bytes32,uint8)"))[:4] LoadLocalDataBytes4 = crypto.Keccak256([]byte("loadLocalData(uint256,bytes32,uint256,uint256)"))[:4]
) )
// LoadContracts loads the Cannon contracts, from op-bindings package // LoadContracts loads the Cannon contracts, from op-bindings package
......
...@@ -55,10 +55,13 @@ func (wit *StepWitness) EncodePreimageOracleInput() ([]byte, error) { ...@@ -55,10 +55,13 @@ func (wit *StepWitness) EncodePreimageOracleInput() ([]byte, error) {
var input []byte var input []byte
input = append(input, LoadLocalDataBytes4...) input = append(input, LoadLocalDataBytes4...)
input = append(input, wit.PreimageKey[:]...) input = append(input, wit.PreimageKey[:]...)
preimagePart := wit.PreimageValue[wit.PreimageOffset:]
var tmp [32]byte var tmp [32]byte
copy(tmp[:], wit.PreimageValue[8:]) copy(tmp[:], preimagePart)
input = append(input, tmp[:]...) input = append(input, tmp[:]...)
input = append(input, uint32ToBytes32(uint32(len(wit.PreimageValue))-8)...) input = append(input, uint32ToBytes32(32)...)
input = append(input, uint32ToBytes32(wit.PreimageOffset)...)
// Note: we can pad calldata to 32 byte multiple, but don't strictly have to // Note: we can pad calldata to 32 byte multiple, but don't strictly have to
return input, nil return input, nil
case preimage.Keccak256KeyType: case preimage.Keccak256KeyType:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment