Commit 3b929256 authored by George Hotz's avatar George Hotz

lack of copy was breaking trie

parent 87c8b3fd
......@@ -58,7 +58,7 @@ func RunFull() {
ZeroRegisters(ram)
ram[0xC000007C] = 0x5EAD0000
root := RamToTrie(ram)
//ParseNode(root, 0)
ParseNode(root, 0)
ioutil.WriteFile("/tmp/eth/trie.json", TrieToJson(root), 0644)
......
......@@ -83,9 +83,6 @@ func ParseNode(node common.Hash, depth int) {
func RamToTrie(ram map[uint32](uint32)) common.Hash {
mt := trie.NewStackTrie(PreimageKeyValueWriter{})
tk := make([]byte, 4)
tv := make([]byte, 4)
sram := make([]uint64, len(ram))
i := 0
......@@ -97,8 +94,11 @@ func RamToTrie(ram map[uint32](uint32)) common.Hash {
for _, kv := range sram {
k, v := uint32(kv>>32), uint32(kv)
//fmt.Printf("insert %x = %x\n", k, v)
binary.BigEndian.PutUint32(tk, k>>2)
k >>= 2
fmt.Printf("insert %x = %x\n", k, v)
tk := make([]byte, 4)
tv := make([]byte, 4)
binary.BigEndian.PutUint32(tk, k)
binary.BigEndian.PutUint32(tv, v)
mt.Update(tk, tv)
}
......
const { expect } = require("chai");
const trieAdd = {"root":"0xe5200ed7c7b2cdd673574f8fe42c5e448ed248766d4456dfa0fa1fda5f5ef9c2","preimages":{"0x02b8d50956bf99188941a96a6b62e5325e25fd361c64b9a5fdabcd096503f64c":"+HHGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghF6tAADGIIQAAAAAgA==","0x1bcc822b269177eecb38ea1336f519ac32de68e9f90797e158998f4867c711eb":"+HGgL4Jb+u0gEWM4e9G4lO/GsyUEY/heVoGOAfiI04qPXfSgArjVCVa/mRiJQalqa2LlMl4l/TYcZLml/avNCWUD9kygaNY/x30waJPsd6PWg76b094l8vUmmL6XB1XdUFy+xfWAgICAgICAgICAgICAgA==","0x2f825bfaed201163387bd1b894efc6b3250463f85e56818e01f888d38a8f5df4":"+HHGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAgA==","0x3d95d160d966af02a751b950b626fe09a33cd20d4efd5e09605a1d77d6aea3b7":"5YMQAACgG8yCKyaRd+7LOOoTNvUZrDLeaOn5B5fhWJmPSGfHEes=","0x4439d93a074b4edd5b54b01da1a2de393b7b56b6172aee5eb3b021a1a20bc991":"5oQAAAAAoM6MuvdTbEcVOfd0sdLVE21XWGkXQyWTL4l5g0aHzGro","0x68d63fc77d306893ec77a3d683be9bd3de25f2f52698be970755dd505cbec5f5":"6cYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAACAgICAgICAgICAgICA","0xce8cbaf7536c471539f774b1d2d5136d575869174325932f8979834687cc6ae8":"+FPGIIQ2EP/wxiCENBEAAcYghDwI///GIIQ1CP/9xiCENAkAA8YghAEJUCDGIIQtQgABxiCErgIACMYghK4RAATGIIQD4AAIxiCEAAAAAICAgICAgA==","0xe5200ed7c7b2cdd673574f8fe42c5e448ed248766d4456dfa0fa1fda5f5ef9c2":"+FGgRDnZOgdLTt1bVLAdoaLeOTt7VrYXKu5es7AhoaILyZGAgKA9ldFg2WavAqdRuVC2Jv4JozzSDU79XglgWh131q6jt4CAgICAgICAgICAgIA="}};
const trieAdd = {"root":"0x22ffce7c56d926c2d8d6337d8917fa0e1880e1869e189c15385ead63c6c45b93","preimages":{"0x044371dc86fb8c621bc84b69dce16de366de1126777250888b17416d0bd11279":"+FPGIIQ8EL//xiCENhD/8MYghDQRAAHGIIQ8CP//xiCENQj//cYghDQJAAPGIIQBCVAgxiCELUIAAcYghK4CAAjGIISuEQAExiCEA+AACICAgICAgA==","0x0fdfcc24b1b21d78ef2b7c6503eb9354677743685c2d00a14a8b502a177911b0":"+HGgL4Jb+u0gEWM4e9G4lO/GsyUEY/heVoGOAfiI04qPXfSgLCZprT7WBOLipiwJxxI0vy09rw9iPR+x0p/Xz1p3X5WgaNY/x30waJPsd6PWg76b094l8vUmmL6XB1XdUFy+xfWAgICAgICAgICAgICAgA==","0x11228d4f4a028a9088e6ec0aa6513e0d4731d9dc488e2af1957e46ba80624a69":"5oQAAAAAoARDcdyG+4xiG8hLadzhbeNm3hEmd3JQiIsXQW0L0RJ5","0x22ffce7c56d926c2d8d6337d8917fa0e1880e1869e189c15385ead63c6c45b93":"+FGgESKNT0oCipCI5uwKplE+DUcx2dxIjirxlX5GuoBiSmmAgKBv5gezlmGtxjQAs8Du76D93mAxExw5qWgAZjJQp1xmfICAgICAgICAgICAgIA=","0x2c2669ad3ed604e2e2a62c09c71234bf2d3daf0f623d1fb1d29fd7cf5a775f95":"+HHGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIRerQAAgA==","0x2f825bfaed201163387bd1b894efc6b3250463f85e56818e01f888d38a8f5df4":"+HHGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAADGIIQAAAAAgA==","0x68d63fc77d306893ec77a3d683be9bd3de25f2f52698be970755dd505cbec5f5":"6cYghAAAAADGIIQAAAAAxiCEAAAAAMYghAAAAACAgICAgICAgICAgICA","0x6fe607b39661adc63400b3c0eeefa0fdde6031131c39a96800663250a75c667c":"5YMQAACgD9/MJLGyHXjvK3xlA+uTVGd3Q2hcLQChSotQKhd5EbA="}};
describe("MIPS contract", function () {
it("add should work", async function () {
......
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