Merkle Proofのデータ構造ってどうなってるの
ノリで Tesuji Plasma を読んで
ノリで yosriady/merkle_tree を読んで
ノリで MerkleProofがなんで動くのか調べ て
んでElixerがオンラインで動くエディタを見つけたのでいろいろ遊んでたらembedできることがわかったのでとりあえず貼っておく
Solidityで書かれてるMerkle.solだと
proven? がcheckProof()にあたる
proof 自体のデータ構造は 32バイトがconcatされたもので、Elixer実装ではbyteArrayを内包したオブジェクト的なもの(Elixerにオブジェクトはなさそう)として表現されているので、Solidityにパスするときはいい感じにserializeしてあげないといかんぽい
Solidity Assembly触るモチベが出てきた
P.S. proofを作るインターフェース、ミニマルに必要なのはtreeとindex: int.
treeのdepthに依存してindexのbinary indexは異なるので整数で渡すべき